1、数据库技术与应用大作业题目:数据库应用系统的设计和实现适用专业: 控制类 指导老师: 熊永华 班级: 控制 0803 姓名: 程香怡 学号: 0909080703 中南大学信息科学与工程学院2009 年 12 月1 需求说明这里要实现一个图书管理系统,为简单起见,在此图书管理系统中只涉及对学生、书籍和图书馆的管理。要求此系统能够记录学生的借书情况、书籍的借用情况以及学生、书籍、图书馆的基本情况,具体要求为:(1)一个学生可借多本书;(2)一本书只能被一个学生借用;(3)一个图书馆可以存有多本书。(4)一本书只能存在在一个图书馆。数据库中要记录学生的借书情况、书籍的借用况以及学生、书籍、图书馆的
2、基本情况。除了对这些数据进行正常的维护之外,还需要产生一些报表,如借书记录表,内容包括图书号,图书馆名字,学号,借书日期,是否归还。2 数据库结构设计2.1 概念结构设计对于这个图书管理系统,其核心活动是图书,学生与课程之间是通过学生借书发生联系的,图书与图书馆之间是通过收藏发生联系的,因此,此系统所包含的实体有:(1)图书:用于描述一本书的基本信息,用图书号来标识此实体;(2)学生:用于描述一个学生的基本信息,由学号来标识;(3)图书馆:用于描述一个图书馆的基本信息,由图书馆的名字来标识;其初步 E-R 图如下:学生 借书 收藏 图书馆馆馆图书m n m n实体的属性比较多,在画 E-R 图
3、时,不一定要把所有的实体属性都画在 E-R 图上,可以另外用文字说明,如:经过初步分析,可知此系统中各实体所包含的基本属性为:图书:图书号、图书名、种类、作者、出版社;学生:学号、姓名、专业;图书馆:图书馆名字、地址、修建年份、藏书量。2.2 逻辑结构设计第一步:有了基本 E-R 图后,就可以进行逻辑结构设计了,也就是设计基本的关系模型。设计基本关系模式主要是从 E-R 图出发,将其直接转换为关系模式。根据转换规则,这个 E-R 图转换的关系模式为:图书(图书号、图书名、种类、作者、出版社) ,主码为(图书号) ;学生(学号、姓名、专业) ,主码为(学号) ;图书馆(图书馆名字、地址、修建年份
4、、藏书量) ,主码为(图书馆名字) 。借书记录(图书号,图书馆名字,学号,借书日期,是否归还) ,主码为(图书号,学号,图书馆名字)第二步:在设计好了关系模式并确定好了每个关系模式的主码后,再看一下这些关系模式之间的关联关系,即确定关系模式的外码,可通过 E-R 图中的联系实体发现:借书关系中,学号和图书号和图书馆名字是外码,分别引用学生关系中的学号和图书关系中的图书号和图书馆关系中的图书馆名字;第三步:最后,确定表中各属性的详细信息,包括数据类型和长度等:(1) 图书表:图书号:char(10), key图书名:char(20), not null种类:char(20),not null作者
5、 char(20),not null 出版社 char(20)(2) 学生表:学号:char(10), key姓名:char(20), not null专业班级:char(20)(3) 图书馆表:图书馆名字:char(10), key地址:char(20), not null修建年份:int(4)藏书量:char(20) (4) 借书记录表:图书号:char(10), key图书馆名字:char(20), not null学号:char(10),not null借书日期:char(10),not null 是否归还:char(2),默认 否第四步:在 SQL Server2000 中建立上述表
6、,并确定表和表之间的约束关系:主码、外码、规则、默认等;第五步:报表的设计(视图的设计)有了数据库的基本表之后,应该看一下这些基本表能否满足产生报表的需求。在数据库应用系统中,用户需要产生大量的报表,而报表的内容来自于数据库中的基本表,因此,在设计好数据库的基本表之后,要看一下这些基本表的内容是否全部包含了要产生的报表的内容。如:借书记录表, (学号、姓名、课程号、课程名、成绩)学号可由学生表得到;图书号可由图书表得到;图书馆名字可由图书馆表得到;因此,可以满足学生借书记录表的要求,可以通过定义视图实现。3 数据库行为功能设计3.1 安全控制任何数据库应用系统都需要安全控制功能,图书管理系统用
7、户分为如下几类:(1)系统管理员:有系统的全部权限;(2)学生:具有对学生基本数据的修改权,对图书等信息的查询权。在实现时,将每一类用户作为一个角色实现,这样在授权时,只需对角色授权,而无需对每个具体的用户授权。3.2 数据操作图书馆管理系统查询功能 删除功能修改功能删除学生信息删除图书信息删除图书记录插入功能添加读者信息删除读者信息修改读者信息查询图书馆信息查询图书信息查询学生信息查询借书记录修改学生信息修改图书信息修改图书记录数据操作功能包括对这些数据进行录入、删除、修改功能。(1)数据录入只有具有相应权限的用户才能录入相应表中的数据。(2)数据删除只有具有相应权限的用户才能删除相应表中的
8、数据。删除数据时要注意表之间的关联关系,比如:某个学生退学时,在删除学生表中的信息之前,应先删除此学生的借书记录情况,然后再在学生表中删除此学生,另外,在删除以前须提醒用户确认是否真的要删除此数据。(3)数据修改只有具有相应权限的用户才能修改相应表中的数据。(4)数据查询本系统应具有的一些查询要求有:根据学号,专业班级,姓名,查询学生的基本信息;根据图书号,图书名,出版社,种类,作者,查询图书的基本信息;根据图书号,图书馆名字,学号,借书日期,是否归还,查询学生的借书情况;3.2 具体程序界面:1.登陆界面有两个选项:学生登录和管理员登陆2.选择管理员登陆后进入系统界面3.选择学生登录后进入界面4.查询功能5.删除功能6.插入功能7.修改功能8.说明4 总结通过这次数据库系统设计,我学会了运用自己在数据库课堂上学习的知识。并且明白数据库系统是一个整体性的复杂的程序,不仅仅要求我们熟练掌握有关数据库的有关知识,还需要会熟练的使用编程软件。这次我选择了 Delphi 软件,在设计中,我不仅学会使用它的基本操作,比如建立 form 等,更重要的是学会通过使用控件将数据库里的数据链接进去。通过这次的实践操作,我学会很多东西也同时发现了自己在软件使用方面的很多无知,今后,我会努力多学习一些相关的知识,与现学的知识结合,多动手实践。也感谢老师的耐心指导!这次存在很多不足,但我会继续努力。