1、读者:读者编号,性别,所在单位,读者类型,类别编号,办证日期,借书总数管理员:管理员编号,性别,住址,权限,登录口令,:名,编号,传真,E-mail,馆藏图书:图书条形码号,书号,图书名称,作者,单价,入库时间,入库总数,分类,出版日期借阅信息:书号,读者编号,图书名,作者,借阅日期,还书日期,借书期限,超过时间,罚金.借阅历史信息:书号,读者编号,图书名,作者,借阅日期,还书日期.,罚款信息:读者编号,书号,图书名,借阅日期,还书日期,借书期限,超过时间,罚款金额,处理状态,管理员编号管理图书:(删除图书,查询图书,修改图书,添加图书)管理读者:(录入新读者,删除读者,修改读者)3.数据流程
2、图数据流图第一层数据流图第二层数据流图第三层数据流图(1)(2)(3)预还信息概念结构分析1.任务与目标(1)选择中层数据流为切入点,通常选择实际系统中的子系统; (2)设计分E-R图,即各子模块的E-R图; (3)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一; (4)生成全局E-R图,通过消除冲突等方面。2.阶段结果分ER图(1) 管理员管理图书 事物规则:一本图书可以被多个图书管理员管理(1:n)一个图书管理员可以管理多本图书(1:(2) 读者借还图书 事物规则:一个读者可以借还多本图书(1:一个图书可以被多个读者借还(1:(3)管理员管理读者一本图书管理员可以管理多个
3、读者信息(1:一个读者信息可以被多个图书管理员管理(1: (4) 管理员罚款读者一个图书管理员可以罚款多个读者信息(1:一个读者信息只能被一个图书管理员罚款(1:(5) 图书出版 一个可以出版多本图书(1:一个图书只能被一个(1:1)总ER图合并各分图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的基本E-R图如下所示:各ER图各实体的属性如下所示:(读者编号,性别,所在单位,读者类型,借书总数)(管理员编号,性别,权限,登录口令,)(名,编号,传真,E-mail,,地址)书籍:(图书条形码号,书号,图书名称,作者,单价,入库时间,入库总数,分类,出版日
4、期)各ER图中联系的属性如下所示:出版:(名,编号,书号,图书名称)借还:(书号,读者编号,图书名,借阅日期,还书日期.)罚款:(读者编号,书号,管理员编号,图书名,借阅日期,还书日期,借书期限,超过时间,罚款金额,处理状态,罚金类别)(管理员编号,书号,删除图书,查询图书,修改图书,添加图书)(管理员编号,读者编号,录入新读者,删除读者,修改读者)逻辑结构分析逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务
5、。1将E-R图转换为关系模型实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况: 一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该
6、多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合 具有相同码的关系模式可合并。由于读者类别与读者、馆室与图书的联系方式是1:n(一对多),可以将其之间的联系与n端实体读者、图书合并,管理员与图书之间的维护联系也是1:n(一对多),同样也将其之间的联系与n端实体合并,而读者与图书之间的借阅和归还联系方式则是n:m(多对多),这样要把它们之间的联系转化为独立的关系模式,读者与管理员之间的罚款联系是m:n(多对多),将其联系也转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:读者(读者编号,性别,所在单位,读者类型,借书总数)管理员(管理员编号,性
7、别,权限,登录口令,)书籍(图书条形码号,书号,图书名称,作者,单价,入库时间,入库总数,分类,出版日期)出版(名,编号,书号,图书名称)借还(书号,读者编号,图书名,借阅日期,还书日期.)罚款(读者编号,书号,管理员编号,图书名,借阅日期,还书日期,借书期限,超过时间,管理图书(管理员编号,书号,删除图书,查询图书,修改图书,添加图书)管理读者(管理员编号,读者编号,录入新读者,删除读者,修改读者)2.模型优化数据库逻辑设计的结果不是唯一的。为了进一步提高数据库应用系统的性能,还应该根据应用需要适当的修改、调整数据模型的结构,这就是数据模型的优化。1. 读者关系模式存在非主属性对主属性的部分
8、函数依赖读者(读者编号,性别,所在单位,读者类型,借书期限,借书总数)P函数依赖有:F(读者编号,读者类型)借书总数读者类型 借书期限所以:关系模式读者不属于2NF,解决办法将关系模式读者分解为:读者(读者编号,性别,所在单位)读者类型(学生,教职工,借书总数,借书期限)2. 关系模式不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,但是借还关系模式、罚款关系模式中存在着一些数据冗余,现将两个关系模型进行合并,消除冗余,优化为:借还(书号,读者编号,图书名,管理员编号,图书名,借阅日期,还书日期,借书期限,经过模式优化得到关系模式:关系模式:3.设计用户子模式将概念
9、模型转换为全局逻辑模型后,还应该根据局部应用需求,结合DBMS的特点,设计用户模式的子模式。我们利用视图这一功能设计符合局部用户需要的用户模式小结:1.这次课程设计使我熟悉了系统设计的整体步骤。系统设计大体可分为需求分析、概念设计、逻辑设计、物理设计、数据库的实施及调试测试六大步骤。其中,让我感触最深的是需求分析阶段,在这个阶段,必须对所要设计的系统有总体的构思和了解,知道自己要做什么,要实现什么,并且要实际的进行相关的调查,不能凭想象或自己的了解,这样会在后续的工作中遇到很多的问题。2.这次课程设计加深了我对数据库系统概论相关知识和SQL SERVER相关功能的理解。例如对建立基本表、视图3.在课程设计的过程中也存在一些问题。由于需求分析阶段的工作完成的不是很充分,在后面的设计过程中,前后时常会出现矛盾,不一致现象,因此要反复的修改前面的结果,导致整个工作进行的不是很顺利。4.在课题设计的过程中,我们小组成员相互合作,根据个人的实际情况,课题的三个步骤,分为三部分三个人共同完成,一人为主,其余两个人辅助。虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,不管怎么说,对这次做的课程设计自己觉得还算满意。