您现在的位置: 中国悠悠网 >> 文档中心 >> 论文中心 >> 理工类 >> 文章正文
图书馆管理系统 MPA论文 | 免费论文
 
种信息
维护图书信息
维护工作人员和管理员信息
维护借阅者信息
处理信息的完整性
对借阅过期的图书生成报表
图4-2  图书管理系统数据库应用需求的总结

根据以上所做的需求分析,并略掉一些细节(如不考虑用户的登录;对记录的维护),得出以下的三层数据流图。 
§4.2 系统功能模块划分
系统功能框图如图4-10所示。

§4.3  系统数据库设计
4.3.1  概念设计
在概念设计阶段中,设计人员从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。然后再把概念模式转换成逻辑模式。将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定dbms的限制。
利用er方法进行数据库的概念设计,可分成三步进行:首先设计局部er模式,然后把各局部er模式综合成一个全局模式,最后对全局er模式进行优化,得到最终的模式,即概念模式。
(1) 设计局部er模式
实体和属性的定义:
图书(图书编号,图书名称,作者,出版社,出版日期,备注,价格,数量,)
借阅者(借书证号,姓名,性别,身份证,联系电话,密码)
身份(身份编号,身份描述,最大借阅数)
图书类别(图书类别编号,类别描述)

er模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:n,m:n,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。联系定义如图4-5所示。解释如下:
u 一个借阅者(用户)只能具有一种身份,而一种身份可被多个借阅者所具有;
u 一本图书只能属于一种图书类别(类别),而一种图书类别可以包含多本图书;
u 一个用户可以借阅多本不同的书,而一本书也可以被多个不同的用户所借阅。
(2)设计全局er模式
所有局部er模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部er模式,而且必须合理地表示一个完整、一致的数据库概念结构。
1)确定公共实体类型
为了给多个局部er模式的合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型。在这一步中我们仅根据实体类型名和键来认定公共实体类型。一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。
2)局部er模式的合并
合并的原则是:首先进行两两合并;先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。
3)消除冲突
冲突分为三类:属性冲突、结构冲突、命名冲突。
设计全局er模式的目的不在于把若干局部er模式形式上合并为一个er模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。
3)全局er模式的优化
在得到全局er模式后,为了提高数据库系统的效率,还应进一步依据处理需求对er模式进行优化。一个好的全局er模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。
综上所述,“图书管理系统”的全局er模式如图4-13所示。 

4.3.2  关系数据库的逻辑设计
由于概念设计的结果是er图,dbms一般采用关系型(本人所使用的ms sql server就是关系型的dbms),因此数据库的逻辑设计过程就是把er图转化为关系模式的过程。由于关系模型所具有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化地进行。设计结果是一组关系模式的定义。
(1) 导出初始关系模式
book(图书编号#,图书名称,图书类别#,作者,出版社,出版日期,备注,价格,数量)class(图书类别#,类别名)user(借书证号#,姓名,性别,身份编号#,身份证,联系电话,密码)id(身份编号#,身份描述,最大借阅数)owner(借书证号#,图书编号#,借书日期)
图4-14  关系模式集
(2) 产生子模式
子模式是用户所用到的那部分数据的描述。除了指出用户用到的数据外,还应指出数据与概念模式中相应数据的联系,即指出概念模式与子模式之间的对应性。
借书子模式(借书证号#,姓名,图书编号#,图书名称,借书日期)
图4-15  部分子模式
(3) 根据设计中出现的问题本人在写系统时还加入了两个关系模式:
1、 ownertemp:用于工作人员在处理借书、还书工作时临时存储借书、还书信息,以便打印报表时使用。
2、 keyer:用于存储工作人员和图书馆管理员的用户名和密码及权限,以便工作人员或图书馆管理员进入相应的功能模块时进行验证用户的身份。
4.3.3  数据库的实现
我选用microsoft sql server2000(企业版)数据库来进行数据库的逻辑设计。首先创建七个基本数据库表如表4-1-4-7所示,然后根据全局er图,建立各个表之间的联系,如图4-

 << 上一页  [11] [12] [13] [14] 下一页