图书管理系统-数据库课程设计(共19页).doc

上传人:飞****2 文档编号:16278310 上传时间:2022-05-16 格式:DOC 页数:19 大小:98KB
返回 下载 相关 举报
图书管理系统-数据库课程设计(共19页).doc_第1页
第1页 / 共19页
图书管理系统-数据库课程设计(共19页).doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《图书管理系统-数据库课程设计(共19页).doc》由会员分享,可在线阅读,更多相关《图书管理系统-数据库课程设计(共19页).doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上大连科技学院数据库课程设计题 目 超市管理系统 学生姓名 孟繁章 专业班级 计算机10-1 指导教师 刘瑞杰 职 称 讲师 所在单位 信息科学系软件工程教研室 教学部主任 王立娟 完成日期 2013年09月27日课程设计报告单学号姓名孟繁章专业班级计算机10-1考 核 项 目评分备注1平时工作态度及遵守纪律情况(10分)2掌握基本理论、关键知识、基本技能的程度和阅读参考资料的水平(10分)3独立工作能力、综合运用所学知识分析和解决问题能力及实际工作能力提高的程度(20分)4完成课程设计说明书及软件的情况与水平(小组分工情况、规范性、整洁清楚、叙述完整性、思路清晰程度、

2、工作量及实际运行情况和创新性)(60分)总评成绩综 合 评 定:(优、良、中、及格、不及格) 指导教师签字:2013年9月27日摘 要系统名为图书管理系统。根据开发要求,它主要应用于教育系统,完成对图书信息的管理。开发图书管理系统可以让学校有效的管理学校内各学生的信息。同时,也可以减少劳动力的使用、加快查询速度、加强管理。目前,学校工作繁杂、资料重多。鉴于这些情况,学校很是需要这类的信息管理系统。而对于学籍管理系统来说,目前还没有一套很完整的、很统一的系统。因此,应该看到社会的真正需要,有意识的进行开发和研究。开发一套适和大众的、兼容性好的系统是很有必要的。 综上,开发这样的一套软件十分必要。

3、同时旧的人工管理机制必将被以计算机为基础的信息管理所取代,从而实现对数据的高效,长久,安全的管理。 由于多种原因,学籍管理系统只有一个主要的功能,就是管理学生的学籍信息,在其下面,还有增加记录、删除记录、修改记录、查询、显示全部记录等功能。在开发过程中,使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统不只适用于一家教育机构。在开发方法的选择上,选择了生命周期法与原型法相结合的方法。而在具体的设计上,采取了演化式原型法。在开发工具的选择上,主要利用Visual C+编程语言和SQL server 2000关系型数据库来进行开发。本文讲述的是学籍管理系统的需求分析、数据库的概念设计、

4、概念模型与关系模型的转换、应用程序设计以及编程实现。关键词 图书管理系统,Visual C+编程语言和SQL server 2000关系型数据库。专心-专注-专业目 录1 绪论11.1 课题简介11.2 设计目的11.3 设计内容12 需求分析12.1 需求分析的任务22.2 数据流程图22.3 数据字典33 数据库概念结构设计43.1 局部概念模型设计43.2 全局概念模型设计54 数据库逻辑结构设计74.1 E-R图向关系模型的转换74.2 数据模型的优化74.3 数据库的结构75.数据库物理结构设计95.1 数据库建库95.2 数据表及视图的建立96.系统实现13总 结14参考文献151

5、 绪 论1.1 课题简介和Internet的飞速发展,使它们已经成为的重要组成部分,是现在计算机信息系统和系统的基础和核心。对于任何一个企业来说,数据是企业重要的资产,如何有效利用这些数据,对于起着极其重要的作用。随着我国市场经济的迅速发展和人们生活水平的不断提高,图书馆的树木逐渐增大,这也挑战了图书管理方面的技术,以前的人工已经不再适应现在的环境,取而代之的是先进的,通过使用PowerBuilder创建的可以让管理人员方便而快捷的进行管理、查询、借阅、录入等工作。1.2 设计目的 通过本次课程设计使自己能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理

6、论和数据库的设计实现过程,进一步提高自己的分析问题能力和解决问题的能力以及动手能力。1.3设计内容图书馆管理系统开发。系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集一的管理。本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。本系统结构分为读者类别管理、读者、图书类型管理、图书以及图书,读者管理可以浏览读者的信息,可以对读者信息进行维护。图书管理可以浏览图书的信息,可以对图书信息进行维护。借阅管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。本系统主要解决的问题是利用关键字对数据库进行查询。2 需求分析

7、2.1 需求分析的任务设计一个图书管理系统,与之有关的对象有管理员、读者、图书等。问题描述:1) 学校图书馆有各种各样的图书。2) 每图书都有书名、图书编号、作者、出版社等属性。3) 借书记录有借阅者的学号、姓名、性别、所在院系、借书时间、还书期限等属性。4) 读者次最多能借5本书、借书期限为15天。所设计的图书馆里系统具有以下功能:1.图书信息的维护(包括录入,修改和删除);2.读者信息的维护(包括录入,修改和删除);3.借阅(借,还)信息的维护(包括借,还信息录入,修改和删除)。2.2 数据流程图(1)读者进入系统的流程图为:登陆查询借阅续借修改密码归返注销图2-1 读者系统流程图(2)

8、图书管理员工作的流程图为: 图书登记注册录入超期处理注销修改信息图2-2 管理员工作流程图2.3 数据字典(1)读者作为学生对图书馆里系统的要求有:1能按各种方式(书名、编号、作者)查询图书馆的藏书情况。2.能够方便的借阅图书、续借图书、归返图书。3.能够查询自己的基本资料、借阅图书情况。4.能够熟悉图书管理系统的使用。(2)图书管理员作为图书管理员,他们对图书管理系统的要求有:1.能够方便的对图书进行录入登记,注销陈旧的图书。2.能够方便的对新生进行登记,或注销已经毕业的学生信息(基本信息,借阅信息)。3.能够随时发布一些诸如各学院的学生借阅图书超期情况、图书馆内藏书情况、借阅情 况等信息以

9、便各学院能够随时获取本学院学生的一些借书信息。3 数据库概念结构设计3.1 局部概念结构设计(1)读者信息类别实体E-R图 读者借书证号读者姓名联系电话所在院系读者学号 图3-1 读者信息E-R图(2)图书信息E-R图 图书图书编号简介出版社作者书名图3-2 图书信息E-R图(3)图书借阅E-R图:图书借阅工作号借书日期图书编号读者学号还书日期是否续借图3-3 图书借阅E-R图(4) 管理员信息E-R图:管理员信息工作号姓名性别电话图3-4 管理员信息E-R图3.2 全局概念模型设计(1)管理员、图书、读者之间的联系E-R图:性别工作号读者姓名所在院系联系电话 管理员管理 图书借阅 读者姓名电

10、话超期处理注册录入 注销修改信息简介出版社作者书名图书编号借书日期还书日期借书证号图3-5 管理员、图书、读者之间的联系E-R图(2)实体之间关系E-R图: 读者信息读者登记读者信息管理 借阅信息管理图书类别信息图书信息管理图书登记图3-6 实体之间的联系E-R图4 数据库逻辑结构设计4.1 E-R图向关系模型的转换 从理论E-R模型到理论关系模型的整理转换,通过E-R模型到关系模型的转化,可以得到如下关系模式:借阅关系属性:借书证号,读者学号,图书编号,借书日期,还书日期。主键:借书证号。管理员-图书关系属性:工作号,图书编号,添加时间,是否在馆主键:工作号管理员-学生关系主键:工作号,读者

11、学号,确认借还主键:工作号,读者学号4.2 数据模型的优化4.3 数据库的结构通过上述分析得到如下数据表:(1) 图书信息表:列名 数据类型主键/外键字段大小可否为空图书编号varchar主键10 否书名varchar20 否作者varchar20 否出版社varchar30是(2)读者信息表:列名字段大小数据类型 主键/外键可否为空读者学号10 varchar主键否读名10varchar否联系电话10varchar否所在院系20varchar是借书证号10varchar否(3)管理员信息表: 列名 字段大小 数据类型可否为空工作号10varchar否姓名10 varchar否性别5varch

12、ar是电话10varchar否(4)借阅表: 列名 数据类型 字段大小可否为空借书证号varchar10否读者学号varchar10否图书编号varchar10否借书日期datetime10是还书期限datetime10是是否续借varchar10是5 数据库物理结构设计5.1 数据库建库1.建立数据库(1)管理员数据表的建立Create table 管理员信息表(工作号 varchar(10) primary key not null,姓名 varchar(10) ,性别 varchar(10),电话 varchar(10);(2)图书信息表的建立create table 图书信息表(图书编

13、号 varchar(20) primary key not null,书名 varchar(50) not null,出版社 varchar(20) not null,作者 varchar(20) not null);(3)读者信息表的建立create table 读者信息表( 读者学号 varchar(10) primary key not null, 读者姓名 varchar(10) not null, 联系电话 varchar(10) not null, 读者性别 varchar(5) not null, 所在院系 varchar(10)(4)借阅关系表建立create table 借阅

14、表( 工作号 varchar(10) primary key not null, 读者学号 varchar(10) not null, 图书编号 varchar(10) not null, 借书日期 datetime not null, 还书期限 datatime not null, 是否续接 varchar(10) not null)2. 建立索引(1)为读者信息表创建索引。create unique index 读者信息_pk on 读者信息表 (读者学号);(2)为图书信息表创建索引create unique index 图书信息_pk on 图书信息表 (图书编号);(3)为管理员信息

15、表创建索引create unique index 管理员信息_pk on 管理员信息表 (工作号);3. 建立触发器(1)当修改读者信息表中的读者学号时,触发借阅表,修改相应的记录create trigger r_修改on 读者信息表for updateas declare old_读者学号 varchar(10) declare new_读者学号 varchar(10)set old_读者学号=(select 读者学号 from deleted)set new_读者学号=(select 读者学号 from inserted)update 借阅表set 读者学号=new_读者学号借阅where

16、 读者学号=old_读者学号(2)当修改图书信息表中的图书编号是,触发借阅表,修改相应的信息create trigger b_修改on 图书信息表for update as declare old_图书编号 varchar(10) declare new_图书编号 varchar(10)set old_图书编号=(select 图书编号 from deleted)set new_图书编号=(select 图书编号 from inserted)update 借阅表set 图书编号=new_图书编号where 图书编号=old_图书编号(3)当删除读者信息表中的某一读者信息时,触发借阅表,删除相应

17、的记录create trigger r_删除on 读者信息表for deleteas begindelete from 借阅表where 读者学号=(select 读者学号 from deleted)end(4)当删除图书信息表中的相关信息时,触发借阅表,删除相关信息create trigger b_删除on 图书信息表for delete as begindelete from 借阅表where 图书编号=(select 图书编号 from deleted)end4. 建立存储过程(1)建立录入读者信息存储过程create procedure proc_录入读者信息(读者学号 varchar

18、(10) ,读者姓名 varchar(10),联系电话 varchar(10),读者性别 varchar(5),所在院系 varchar(10) ) as insert into 读者信息表(读者学号,读者姓名,联系电话,读者性别,所在院系)values(读者学号,读者姓名,联系电话,读者性别,所在院系 )(2)建立录入图书信息存储过程create procedure proc_录入图书信息(图书编号 varchar(10),书名 varchar(10),作者 varchar(10),出版社 varchar(10),类别 varchar(10)as insert into 图书信息表(图书编号

19、,书名,作者,出版社,类别)values(图书编号,书名,作者,出版社,类别)(3)建立借阅信息存储过程create procedure proc_借阅信息(工作号varchar(10),读者学号 varchar(10),图书编号varchar(10),借书日期 datatime,还书期限 datatime,是否续借 varchar(10)as insert into 借阅表(工作号,读者学号,图书编号,借书日期,还书期限,是否续借)values(工作号,读者学号,图书编号,借书日期,还书期限,是否续借)(4)建立管理员信息存储过程create procedure proc_管理员信息(工作号

20、varchar(10),姓名 varchar(10),性别varchar(5),电话 varchar(10)as insert into 管理员信息表(工作号, 姓名, 性别,电话)values(工作号,姓名,性别,电话)(5)建立一个查询学生所借阅的图书数目的存储过程,管理管理员只要输入相应学生的学号,系统自动显示其所借阅的图书数目create procedure proc_借书本数 读者学号 varchar(10) asselect 读者学号,count(*) as 借书本数from 借阅表where 读者学号=读者学号group by 读者学号5.2 数据表及视图的建立创建查询视图:cr

21、eate view 查询_view(读者学号,读者姓名,读者性别,所在院系,书名,借书日期)asselect 借阅表.读者学号,读者姓名,读者性别,所在院系,书名,借书日期from 读者信息表,图书信息表,借阅表where 读者信息表.读者学号=借阅表.读者学号 and 借阅表.图书编号=图书信息表.图书编号6 系统开发所用到的技术本系统主要由SQL SEVER 2005开发的数据库实现。总结本系统对于实验任务所规定的要求(各项信息的查询、删除、修改)大体都能够满足,触发器的建立也比较完善,只是一些细节以及一些辅助功能还不够完善,如个角色的权限分配没有表明,存储过程的建立还不够完善等。由于本系

22、统设计初遵循的是一条简单实用的设计理念,设计的初衷是首先满足课程设计的要求,然后在添加一些锦上添花的程序或功能,但是在课程设计末尾由于时间紧迫来不及对一些辅助功能进行添加或是完善。因此相比其他同学的课程设计,本系统在建表或是存储过程方面看上去略显简单,各项操作也不算复杂。通过两周紧张的课程设计,我对数据库这门学科有了全新的认识,在以前数据库的学习当中只是注重一些考点进行学习或是记忆,忽略了对实际运用方面知识的加强和学习。因此虽然在前段时间的数据库期末测试中自我感觉良好,但是到了课程设计周之后才发现自己前面所学的理论知识根本不能满足课程设计的要求。这个现象提醒我在以后专业课程学习的时候千万要注意伦理与实际相结合,不能为了应付期末考试忽略实际应用而将全部精力放在理论知识的学习上。在本次课程设计中我最大的收获就是加深了对存储过程、触发器、视图等数据库核心知识相关操作的了解,在以前的学习中由于期末考试不会考的太难于是对于这方面的知识只是草草带过没有全面深入的进行学习。参考文献1 陈漫红编数据库系统原理与应用技术机械工业出版社2010.3 2 四维科技赵辉叶子青编Visual C+系统开发实例精粹人民邮电出版社2005.8 3 龚小勇段利文等编关系数据库与SQL Server 2005机械工业出版社2009.1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁