数据库课程设计-图书管理系统(资料参考).ppt
《数据库课程设计-图书管理系统(资料参考).ppt》由会员分享,可在线阅读,更多相关《数据库课程设计-图书管理系统(资料参考).ppt(25页珍藏版)》请在冰豆网上搜索。
图书管理系统数据库设计图书管理系统数据库设计一、需求分析现要开发高校图书管理系统。
经过可行性分析和初步的需求调查,确定了系统的功能边界,该系统应能完成下面的功能:
(1)读者注册。
(2)读者借书。
(3)读者还书。
(4)图书查询。
1、数据流图顶层数据流图反映了图书管理系统与外界的接口,但未表明数据的加工要求,需要进一步细化。
根据前面图书管理系统功能边界的确定,再对图书管理系统顶层数据流图中的处理功能做进一步分解,可分解为读者注册、借书、还书和查询四个子功能,这样就得到了图书管理系统的第0层数据流图。
图书管理系统的第0层数据流图,见下页。
图书管理系统的第0层数据流图从图书管理系统第0层数据流图中可以看出,在图书管理的不同业务中,借书、还书、查询这几个处理较为复杂,使用到不同的数据较多,因此有必要对其进行更深层次的分析,即构建这些处理的第1层数据流图。
下面的图8-7分别给出了借书、还书、查询子功能的第1层数据流图。
2、数据字典2.1数据项数据项名称:
借书证号别名:
卡号含义说明:
惟一标识一个借书证类型:
字符型长度:
202.2数据结构
(1)名称:
读者类别含义说明:
定义了一个读者类别的有关信息组成结构:
类别代码+类别名称+可借阅数量+借阅天数+超期罚款额
(2)名称:
读者含义说明:
定义了一个读者的有关信息组成结构:
姓名+性别+所在部门+读者类型(3)名称:
图书含义说明:
定义了一本图书的有关信息组成结构:
图书编号+图书名称+作者+出版社+价格2.3数据流
(1)数据流名称:
借书单含义:
读者借书时填写的单据来源:
读者去向:
审核借书数据流量:
250份/天组成:
借书证编号+借阅日期+图书编号
(2)数据流名称:
还书单含义:
读者还书时填写的单据来源:
读者去向:
审核还书数据流量:
250份/天组成:
借书证编号+还书日期+图书编号2.4数据存储
(1)数据存储名称:
图书信息表含义说明:
存放图书有关信息组成结构:
图书+库存数量说明:
数量用来说明图书在仓库中的存放数
(2)数据存储名称:
读者信息表含义说明:
存放读者的注册信息组成结构:
读者+卡号+卡状态+办卡日期说明:
卡状态是指借书证当前被锁定还是正常使用(3)数据存储名称:
借书记录含义说明:
存放读者的借书、还书信息组成结构:
卡号+书号+借书日期+还书日期说明:
要求能立即查询并修改2.5处理过程
(1)处理过程名称:
审核借书证输入:
借书证输出:
认定合格的借书证加工逻辑:
根据读者信息表和读者借书证,如果借书证在读者信息表中存在并且没有被锁定,那么借书证是有效的借书证,否则是无效的借书证。
二、概念结构设计1标识图书管理系统中的实体和属性参照数据字典中对数据存储的描述,可初步确定三个实体的属性为:
读者:
卡号,姓名,性别,部门,类别、办卡日期,卡状态读者类别:
类别代码,类别名称,可借阅天数、可借阅数量,超期罚款额图书:
书号,书名,作者,价格,出版社,库存数量借还记录:
卡号,书名,借书日期,还书日期其中有下划线的属性为实体的码。
2确定实体间的联系三、逻辑结构设计1、图书管理系统的关系模型将在概念结构阶段得到的基本E-R图转换成关系模型,如下表所示:
关系名关系名属性及码属性及码其他约束条件其他约束条件读者借书证号,姓名,性别,部门,类别代码,办证日期,借书证状态1.类别代码引用读者类别关系中的类别代码;2.姓名不允许为空;3.类别代码不允许为空读者类别类别代码,类别名称,可借阅数量,可借阅天数,超期罚款额类别名称不允许为空图书书号,书名,作者,价格,出版社,库存数量1.书名不允许为空;2.库存数量不允许为空借还借书证号,书号,借书日期,还书日期1.借书证号引用读者关系中的借书证号;2.书号引用图书关系中的书号2、将关系设计成SQLServer2005下相应的表reader(读者表)字段名字段名字段含义字段含义字段字段类型类型长长度度小小数数是否为空是否为空列级束列级束CardID借书证号(卡号)Char20NOTNULLPrimarykeyName姓名Char16NOTNULLSex性别BitNULLDept部门Char30NULLClassID类别代码IntNOTNULLForeignkeyreferencesdzclass(ClassID)Bzdate办证日期datetimeNULLCardstate借书证状态(卡状态)bitNULL表级约束dzclass(读者类别表)字段名字段名字段含义字段含义字段类型字段类型长度长度小数小数是否为空是否为空列级约束列级约束ClassID类别代码IntNOTNULLPrimarykeyClassName类别名称Char16NOTNULLPermitDay可借阅天数IntNULLPermitQty可借阅数量IntNULLPenalty超期罚款额MoneyNULL表级约束book(图书表)字段名字段名字段含义字段含义字段类型字段类型长度长度小数小数是否为空是否为空列级约束列级约束BookID书号Char20NOTNULLPrimarykeyBookName书名varchar20NOTNULLEditer作者Varchar8NULLPrice价格MoneyNULLPublisher出版社Varchar20NULLQty库存数量IntNOTNULL表级约束borrow(借还表)字段字段名名字段含义字段含义字段字段类型类型长长度度小小数数是否是否为空为空列级约束列级约束CardID借书证号Char20NOTNULLForeignkeyreferencesreader(CardID)BookID书号char20NOTNULLForeignkeyreferencesbook(BookID)Bdate借书日期DatetimeNOTNULLSdate还书日期DatetimeNULL表级约束Primarykey(CardID,BookID,Bdate)