1、图书借阅管理系统数据库设计一、规划 使用部门:学校图书馆图书借阅部门 使用者: 图书馆各藏书处管理员 读者 软硬件和网络实施条件已经具备 馆藏量 学生借阅量二、需求分析 数据需求 学生信息:学生证号、学生姓名、学生性别、学院、专业、班级、办证日期 图书信息:条码号、索书号、书名、作者、出版社、出版年、ISBN、单价、馆藏地、图书状态 借阅信息:学生证号、学生姓名、图书条码号、书名、借书日期、应还日期、馆藏地、借书数量二、需求分析(续) 约束 学生证有效期 最大借阅数量 超期罚款 三、概念设计 ER图 实体,实体属性 联系,联系属性,联系类型图书信息ISBN书名作者出版社分类号图书条码号馆藏地图
2、书状态拥有n1读者学生证号姓名性别院系班级办证日期还书mn还书日期借书借出日期应还日期mn出版地出版年系院单价读者类型类型名最大借阅最长借期拥有1n图书读者借还书借出日期应还日期mn还书日期超期处罚金额mn处罚日期管理员P是否超期编号姓名性别联系方式密码四、逻辑设计 ER图转换成关系模式集 读者(学生证号、姓名、性别、学院、专业、班级、办证日期、读者类型) 读者类型(类型名、最大借阅、最长借期) 图书信息( ISBN 、书名、作者、出版社、出版年、分类号、单价) 图书(条码号、馆藏地、图书状态、 ISBN ) 借阅信息(学生证号、图书条码、借书日期、应还日期、还书日期、是否超期) 处罚记录(学
3、生证号、图书条码、管理员编号、处罚日期、处罚金额) 管理员(管理员编号、姓名、性别、密码、联系电话)列名数据类型可否为空数据说明取值范围StuIDchar(12)not null学号(主键)12位数字StuNamechar(10)not null姓名StuSexchar(2)not null性别男,女StuSchlchar(20)not null学院StuDeptchar(20)not null系StuClasschar(10)not null班StuDatedatenot null办证日期StuCatechar(4)not null读者类型(外键)参照tbl_StuCata表1 tbl_St
4、udent (读者表)列名数据类型可否为空数据说明取值范围CateNamechar(4)not null类型名一、二、三级MaxCountsmallintnot null最大借阅数量6,8,10MaxDayssmallintnot null最长借阅天数30,60,150表2 tbl_StuCate(读者类型表)列名数据类型可否为空 数据说明取值范围ISBNchar(13)not nullISBN号(主键)13位数字BNamechar(100)not null书名BAuthorchar(100)not null作者,多值BCatechar(20)not null图书分类号字母开头+数字/-.Pu
5、blisherchar(50)not null出版社PubPlacechar(50)not null出版地PubDateDatetimenot null出版时间PriceDecimal(5,2)not null单价表3 tbl_BookInfo (图书信息表)列名数据类型可否为空 数据说明取值范围BIDchar(7)not null图书条码号(主键)7位数字BLocationchar(10)not null图书馆藏地BStatechar(4)not null图书状态借出,可借ISBNchar(13)not nullISBN(外键)参照tbl_BookInfo表4 tbl_Book (图书表)列
6、名数据类型可否为空数据说明取值范围BRIDintnot null借阅编号(主键)自增BRStuIDchar(12)not null借阅学生ID(外键)参照tbl_StudentBRBIDchar(8)not null借阅图书ID (外键)参照tbl_BookBRDateDatenot null图书借出时间BRBackDateDatenot null图书应该归还日期BRRealBackDateDatenot null图书实际归还日期BRIsOverLimitFeeBoolnot null是否超期表5 tbl_BorrowRecord (借阅记录表)列名数据类型可否为空 数据说明取值范围AdIDc
7、har(6)not null管理员编号(主键)6位数字AdNamechar(8)not null管理员姓名AdSexchar(2)not null管理员性别AdPhonechar(11)not null联系电话Passwordchar(13)not null密码表6 tbl_Admin(管理员表)列名数据类型可否为空数据说明取值范围BRStuIDchar(12)not null学生ID(主、外键)参照tbl_StudentBRBIDchar(8)not null图书ID (主、外键)参照tbl_BookAdIDchar(8)not null管理员(主、外键)参照tbl_AdminPunishDateDatenot null罚款日期PunishMoneyFloatnot null罚款金额表7 tbl_PunishRecord (处罚记录表)