SQL数据库课程设计.docx
- 文档编号:3848786
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:25
- 大小:573.42KB
SQL数据库课程设计.docx
《SQL数据库课程设计.docx》由会员分享,可在线阅读,更多相关《SQL数据库课程设计.docx(25页珍藏版)》请在冰豆网上搜索。
SQL数据库课程设计
目录
1.需求分析2
1.1用户需求2
1.2业务流程分析3
1.3功能需求分析4
2.数据库概念模式设计7
2.1ERD四条原则及相应的实体、联系、属性以及标识特征7
2.2改进的ERD8
3.数据库逻辑模式设计9
3.1一般逻辑模型设计9
3.2具体逻辑模型设计10
4.数据库的物流设计与数据库的保护设计12
4.1表间关系设计12
4.2完整性设计13
5.数据库系统的实现14
5.1数据库及其表结构的建立14
5.2数据输入18
6.报告总结22
参考文献23
1.需求分析
1.1用户需求
1.1.1系统现状及主要解决问题
近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍的增加,面对着庞大的信息量,传统的人工方式管理的记录中我们可以发现这样的问题:
(1)检索速度慢、效率低。
因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了书的信息,馆中没有此书或已被别人借走。
图书馆的规模越大,这个问题越突出。
(2)借书、还书工作量大。
借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。
而且经常会出现这样那样的差错。
(3)图书统计工作难、藏书更新不能及时完成。
图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。
因此必须制定一套合理、有效、规范和实用的图书管理系统,对图书资料进行集中统一的管理。
系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。
使图书管理者便于对图书和读者的管理。
本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。
使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。
1.1.2要达到的具体指标
(1)可随时查询书库中现有书籍的种类、数量与存放位置。
所有各类书籍均可由书号唯一标识。
(2)可随时查询书籍借还情况。
包括借书人单位、姓名、借书证号、借书日期和还书日期。
任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。
(3)当需要时,可通过数据库中保存的出版社电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。
一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。
1.2业务流程分析
1.2.1系统的业务流程
对于图书管理系统,其内部数据应该包括图书信息,读者信息,系统用户信息,借阅情况的信息。
这些数据对于图书管理系统来说,缺一不可。
其中,图书信息应该包括图书名称,图书的作者,图书编码,查询该图书的关键词等;读者信息应该包括读者姓名,读者单位,读者的借书证号,读者的借书数量等;系统用户信息包括用户名,密码等,借阅情况信息包括图书的借书日期,图书证号,图书编码等。
有了该系统,读者可以通过书籍的名称、作者姓名或关键字等条件查找到自己想要的书籍,包括书籍编号、出版时间、书籍数量、剩余数量等。
然后到图书馆进行借阅就可以了,也可以通过该系统进行预借。
图书管理员通过该系统可以对图书进行3大操作:
删除、增加以及查询;而对学生的管理中就有4项:
借书、还书、增加和删除记录、查询等。
1.2.2系统业务流程图
图1-1系统业务流程图
1.3功能需求分析
1、安全性管理:
给每个管理员一个用户名和密码,以登录图书馆管理系统,便于身份验证,管理员可以拥有最高权限对数据库进行所有操作。
同样拥有一个用户名和密码,但普通用户只能进行查询操作,看个人信息和图书馆中图书信息不可修改它们。
(1)管理员:
增加、删除、查询、修改图书信息;
增加、删除、查询、修改读者信息;
图书借出、图书归还、逾期还书处理、图书注销
(2)读者:
查询图书信息、查看借书情况、查询个人信息、历史借书情况、超期还书警告。
2、读者信息管理:
该功能模块用于管理相关的读者信息,包括的子功能模块如下图所示
图1—2读者信息功能模块
“读者类型”用于设置读者的类型及相关的信息,内容包括读者的身份、可借册数,可续借次数等。
“读者档案管理”用于设置读者相关的信息,内容包括编号、姓名、身份、读者性别、联系方式、登记日期、有效期至、违规次数、现借图书数、是否挂失。
“借书证挂失与恢复”用于挂失和恢复读者的借书证,挂失后该编号的读者不能再借书。
3、图书管理:
该功能模块用于管理图书相关的信息包含的功能模块如下图所示
图1—3“图书管理”功能模块
“图书基本信息设置”用于设置图书的类型及相关的信息,内容包括ISBN、书名、版次、类型、作者、出版社、价格、现存量、库存总量。
“图书档案管理”用于设置图书相关信息,内容包括编号、ISBN、入库时间。
“图书征订”用于订购新图书,内容包括征订编号、ISBN、订购数量、订购日期。
“图书注销”用于注销图书,被注销的图书不可以再借出,并且应将图书信息进行修改。
“图书查看”用于查看某本书的情况。
“图书盘点”输出图书的在库清单供盘点使用。
4、图书流通管理:
此功能模块用于管理图书流通环节的相关的操作,包括如下图所示的功能模块。
图1—4“图书流通管理”功能模块
“图书借阅”用于登记读者借阅图书的记录并减少图书在库的库存,登记内容包括借阅编号、图书编号、读者编号、借阅时间、应还时间、续借次数、图书状态等。
图书馆管理员作为借阅者的代操纵借书和还书者。
借书时只要输入借阅的书刊编号就可以,然后输入借阅者的借阅卡号,完成后提交,系统验证借阅者是否有效,若有效借阅请求被接收并处理,系统将库存中图书数量减一,同时将读者信息中借书量加一。
“图书归还”用于登记读者归还图书的记录并增加图书在库的库存,登记内容包括归还编号、图书编号、读者编号、归还时间等。
系统查询借阅此书的人的信息以及该书被借日期判断是否过期,若过期将进行罚款,并将该书刊的借阅记录改为已还。
“图书丢失”用于报失图书,内容包括丢失编号、图书编号、读者编号、赔偿金额、操作时间等。
“图书罚款”用于对图书超期、丢失等情况的罚款管理,内容包括罚款编号、图书编号、读者编号、罚款日期、罚款金额、是否交款、备注等。
5、系统功能层次图如图1—5所示:
图1-5系统总流程图
2.数据库概念模式设计
2.1ERD的四条原则及相应得出的实体、联系、属性以及实体的标识特征
根据ERD的四条原则:
原则1:
能独立存在的事物,在其有多个由基本项描述的特征需要关注时,就应把它作为实体。
在系统中,可得知有“图书”、“读者”、“出版社”3个实体。
原则2:
两个或多个实体间的关联与结合,当需要予以关注时,应作为联系。
在系统中,可以得知有“借阅图书”和“购买图书”两个联系。
原则3:
实体的属性是实体的本质特征;联系的属性是联系的结果或状态。
原则4:
信息分析中得到的基本项要在且仅在实体联系图中的一个地方作为属性得出。
在系统中,可以得出:
图书信息(图书编号,书名,作者,出版社,种类)
读者信息(读者学号,姓名,专业与班级,学院与年级,已借书数,允许借书数)
管理员信息(管理员编号,姓名,管理员密码,管理员权限)
借阅图书(读者学号,图书编号,书名,借阅日期,归还日期)
归还图书(读者学号,图书编号,书名,借阅日期,归还日期)
出版社(出版社名,联系人,电话,邮编,地址)
书架(图书编号,书名,位置)
2.2画出并改进ERD
如图2-1所示为改进后的整体E-R图。
图2-1改进后的整体E-R图
3.数据库逻辑模式设计
3.1一般逻辑模型设计
3.1.1由ERD导出一般关系模型的四条原则:
原则一:
每一个独立实体变换为一个关系,其属性变为关系的属性,其主标识变为关系的主码。
原则二:
从实体及响应的“的”联系变换为一个关系,从实体的属性加上主实体关系的主码构成这个关系的属性。
如果“的”联系是1:
1的,则以实体关系的主码(作为外来码)为这个关系的主码;如果“的”联系是1:
N的,则以主实体关系的主码加上同一主实体个体联系的不同从属实体个体赖以互相区分的属性组,组成该关系的主码。
原则三:
1:
N联系通过在“多”实体关系中增加相联系的“1”实体关系的主码及联系本身的属性来表达。
其中“1”实体主码为外来码。
原则四:
N:
N联系转换成一个独立的关系,被联系实体关系的主码(作为外来码)和联系本身的属性作为该关系的属性,被联系实体关系的主码组成其复合主码。
3.1.2数据库初步构思的关系框架
基本框架如下:
表3-1图书信息表
图书编号
书名
作者
出版社
种类
主码
表3-2读者信息表
读者学号
姓名
专业与班级
学院与年级
已借书数
允许借书数
主码
表3-3管理员信息表
管理员编号
姓名
管理员密码
管理员权限
主码
表3-4借阅图书表
读者学号
图书编号
书名
借阅日期
归还日期
外码
外码
主码
主码
表3-5归还图书表
读者学号
图书编号
书名
借阅日期
归还日期
外码
外码
主码
主码
表3-6出版社关系表
出版社名
联系人
电话
邮编
地址
主码
表3-7书架关系表
图书编号
书名
位置
主码
3.2具体逻辑模型设计
表的具体结构
表名
字段名
字段类型
关键字
约束说明
图书信息
图书编号
8个字符
是
书名
20个字符
不允许空值
作者
10个字符
出版社
20个字符
种类
8个字符
读者信息
读者学号
8个字符
是
姓名
10个字符
专业与班级
20个字符
学院与年级
20个字符
已借书数
整数
允许借书数
整数
管理员信息
管理员编号
8个字符
是
姓名
10个字符
管理员密码
10个字符
管理员权限
4个字符
取值为“删除”、“增加”、“查询”
借阅图书
读者学号
8个字符
参照读者信息表的读者学号,不允许空值
图书编号
8个字符
参照图书信息表的图书编号,不允许空值
书名
20个字符
借阅日期
10个字符
归还日期
10个字符
归还图书
读者学号
8个字符
参照读者信息表的读者学号,不允许空值
图书编号
8个字符
参照图书信息表的图书编号,不允许空值
书名
20个字符
借阅日期
10个字符
归还日期
10个字符
出版社
出版社名
20个字符
唯一值
联系人
10个字符
电话
8个字符
邮编
6个字符
地址
10个字符
书架
图书编号
8个字符
参照图书信息表的图书编号,不允许空值
书名
20个字符
位置
8个字符
4.数据库物理设计与数据库保护设计
4.1设计表间关系
在图书管理系统中,存在着参照关系和被参照关系。
书架表参照关系
图书编号
书名
位置
bj01001
基础会计学
一楼A格
bj01002
中国大历史
二楼A格
bj01003
我在回忆里等你
三楼B格
bj01004
杜拉拉升职记
四楼A格
bj01005
视听说教程
一楼B格
外部关键字
主关键字
图书信息表被参照关系
图书编号
书名
作者
出版社
种类
bj01001
基础会计学
彭卉
华南理工大学出版社
教科书
bj01002
中国大历史
黄仁宇
中国发展出版社
历史书
bj01003
我在回忆里等你
辛夷坞
江苏文艺出版社
文学作品
bj01004
杜拉拉升职记
李可
江苏文艺出版社
小说
bj01005
视听说教程
秦秀白
上海外语教育出版社
教科书
图4-1参照关系与被参照关系
4.2完整性设计
4.2.1主要字段完整性的字段名、完整性约束条件
关系模型的完整性约束包括实体完整性、参照完整性和用户定义完整性。
主要字段完整性的字段名、完整性约束条件指的是实体完整性。
其中实体完整性的规则如下:
1.实体完整性规则是针对关系而言的,而关系则对应一个现实世界中的实体集。
2.现实世界中的实体是可区分的,它们具有某种标识特征;相应地,关系中的元组也是可区分的,在关系中用主关键字作唯一性标识。
3.主关键字中的属性,即主属性不能取空值。
在图书管理系统中,图书信息表(图书编号,书名,作者,出版社,种类)中,图书编号是主关键字,不可以取空值。
读者信息表(读者学号,姓名,专业与班级,学院与年级,已借书数,允许借书数)中,读者学号是主关键字,不可以取空值。
管理员信息表(管理员编号,姓名,管理员密码,管理员权限)中,管理员编号是主关键字,不可以取空值。
4.2.2记录完整性约束及其约束条件
除了实体完整性之外还有其他与应用密切相关的数据完整性约束,例如某个属性的值必须唯一,某个属性的取值必须在某个范围内,某些属性值之间应该满足一定的函数关系等。
类似这些方面的约束不是关系数据模型本身所要求的,而是为了满足应用方面的语义要求提出来的,这些完整性需求需要用户来定义,所以称为用户定义完整性。
数据库管理系统需提供定义这些数据完整性的功能和手段,以便统一进行处理和检查,而不是由应用程序去实现这些功能。
在用户定义完整性中最常见的是限定属性的取值范围,即对值域的约束,这包括说明属性的数据类型、精度、取值范围、是否允许空值等。
在图书管理系统中,图书信息表中的书名不允许为空值,供书商表中的供书商名为唯一值都是用了用户定义完整性约束。
4.2.3参照完整性表
现实世界中的实体之间存在着某种联系,而在关系模型中实体是用关系描述的,实体之间的联系也是用关系描述的,这样就自然存在着关系和关系之间的参照或引用。
图书管理系统参照完整性表如下:
书架
1:
n1:
n
出版社
图书信息
n:
n
读者
图4-2说明关联和参照关
5.数据库系统的实现
5.1数据库及其表结构的建立
创建图书数据库:
创建book模式:
建立图书信息表:
建立读者信息表:
建立管理员信息表:
建立借阅图书表:
建立归还图书信息表:
建立出版社信息表:
建立书架信息表:
5.2数据输入
图书信息表的数据:
读者信息表的数据:
管理员信息表的数据:
借阅图书表的数据:
归还图书表的数据:
出版社信息表的数据:
书架信息表的数据:
6.报告总结
哲学有言“实践是认识的基础”,我觉得这句话非常有道理,只有实践才能对事物的本质有更深的认识,才能有发言权,一切认识都是建立在认识的基础上。
通过了一个星期的数据课程设计,我对数据库这门课程有了更深的认识,对原本在我脑中像是火星语的SQL语言有了更加具体的认识。
数据库课程设计加深了我对数据库这门课程的兴趣,让我深刻了解了数据库的强大功能,引起我对研究SQL语言运用规则的兴趣。
数据库概念设计、数据库逻辑结构设计和数据库保护设计是数据库设计的重要步骤,每一步的设计都是至关重要的,并且是相互联系的。
经过一个星期的课程设计,让我对E-R图的设计有一个整体的想法,并且对逻辑结构设计中关键字的设定能够很好的把握,分析每个表中的联系,更加注意表间和数据之间的相互约束。
课程设计一个重要的过程就是在SeverSQL2005上操作运行,这是运用实践去检验认识的一个过程,在这个过程中我学会了灵活运用SQL语言。
总之,数据库课程设计一个很好地运用实践去发现认识的过程。
数据库课程设计不仅让我更进一步了解了数据库这门课程,而且让我在做事方面也形成了一套很好的想法。
我在做事方面学会了坚持、合作、对待问题不断充满疑问和要有耐心去解决问题,更要和同学们交流,对不懂的问题也不耻下问。
从课程设计中最深的还是做事要坚持和要有耐心。
在运用ServerSQL2005设计数据库的过程中,会不断遇到种种问题,而且每个问题都会与上下步骤之间都会有联系,一个问题的不解可能会导致下一个问题的无法操作,所以我们要有耐心找出问题,分析原因,然后再解决问题,不要半途而废,要坚持下去,这样才能在学习上有所突破。
数据库课程设计目的在于通过对一个实际问题的分析,设计与实现,将原理与应用相结合,使学生学会如何把书本上学到的知识用于解决实际问题,培养学生的动手能力,使学生能深入理解和灵活掌握教学内容:
另一方面,可以很好培养学生的处事能力。
总之,课程设计让我学会了很多,他不仅拉近了我和同学们的关系,更加加强老师和学生关系。
在此,我要感谢林老师,您很好地培育了我们,谢谢您不辞辛苦地为我们解答每一个问题,真的谢谢您!
参考文献:
[1]崔巍主编,数据库应用与设计,清华大学出版社,2009.
[2]王珊、陈虹编著,数据库系统原理教程,清华大学出版社,2003.
[3]金银秋主编,数据库原理与设计,科学出版社,2000.
[4]李建中王珊,数据库系统原理,电子工业出版社,1998.
[5]李大友,数据库原理及应用(第二版),清华大学出版社,2000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 数据库 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)