高校图书管理系统数据库物理结构设计一、设计前要了解的信息(该部分不出现在设计说明书中)1、数据库的查询事务(1)按卡号查询读者信息及借书信息(查询读者借书信息时涉及读者、图书和借还关系的连接操作,连接属性:卡号、书号)。(2)按姓名查询读者信息及借书信息(查询读者借书信息时涉及读者、图书和借还关系的连接操作,连接属性:卡号、书号)。(3)按书名查询图书信息。(4)按作者和出版社查询图书信息。(5)按出版社统计图书信息。(6)按书号查询图书被借信息(查询图书被借信息时涉及读者、图书和借还关系的连接操作,连接属性:卡号、书号)。(7)按书名查询图书被借信息(查询图书被借信息时涉及读者、图书和借还关系的连接操作,连接属性:卡号、书号)。2、数据库的更新事务(1)办理借书证(读者注册)。(2)借书(增加借还记录、修改图书的库存数量)。(3)还书(修改借还记录、修改图书的库存数量)。3、查询事务的操作频率和性能要求(1)按卡号查询读者信息及借书信息操作频率:200次/天性能要求:3s内完成(2)按姓名查询读者信息及借书信息操作频率:80次/天性能要求:5s内完成(3)按书名查询图书信息操作频率:250次/天性能要求:3s内完成(4)按作者和出版社查询图书信息操作频率:250次/天性能要求:3s内完成(5)按出版社统计图书信息操作频率:1次/月性能要求:10s内完成(6)按书号查询图书被借信息操作频率:10次/月性能要求:6s内完成(7)按书名查询图书被借信息操作频率:10次/月性能要求:6s内完成二、设计结果1、数据库名称Book_Borrow2、关系表(1)Class(读者类别表)列名数据类型长度允许空备注lbdmnvarchar2类别代码lbmcnvarchar10类别名称kjytstinyint1可借阅天数kjysltinyint1可借阅数量cqfkesmallmoney4超期罚款额主键:lbdm(2)Reader(读者表)列名数据类型长度允许空备注khnvarchar20卡号xmnvarchar16姓名xbnchar1性别bmnvarchar30部门bkrqdatetime8办卡日期kztchar1卡状态lbdmnvarchar2类别代码主键:kh索引:xm(升序)check约束:性别的取值只能为男或女default约束:性别默认为男(3)Book(图书表)列名数据类型长度允许空备注shnvarchar8书号smnvarchar40书名zznvarchar16作者cbsnvarchar20出版社jgsmallmoney4价格kcsltinyint1库存数量主键:sh索引:①sm(升序)②cbs(升序)+zz(升序)(4)Borrow(借还表)列名数据类型长度允许空备注khnvarchar20卡号shnvarchar8书号jsrqdatetime8借书日期hsrqdatetime8√还书日期主键:kh+sh3、参照完整性约束(1)FK_Reader_Class主键表:Class外键表:Reader主键:lbdm外键:lbdm(2)FK_Borrow_Reader主键表:Reader外键表:Borrow主键:kh外键:kh(3)FK_Borrow_Book主键表:Book外键表:Borrow主键:sh外键:sh