1、图书管理系统的数据库设计 作者: 日期:13 个人收集整理 勿做商业用途图书管理系统的数据库设计一:需求分析:1:图书管理系统的功能图2:系统说明:1. 不同的读者类型对不同的图书类型借阅的天数不同,不同的读者可借阅的图书总数不同.2. 当图书借阅超期后、弄污、遗失会有相应的处罚。3. 同样的图书在管理系统中会 有多本,每本之间可以区分。4. 用户注册需经系统管理员同意后才可借阅图书。5. 读者对预约图书有优先的借阅权。6. 读者可以对自己的联系方式信息进行修改.7. 图书卡或图书遗失后可申请挂失,挂失后将不能对图书进行借还操作。 3:分析各功能所需要用到的数据.用户登录:用户:用户名,密码用
2、户注册:用户:用户名,密码,学号,姓名,系、专业,年级,电话号码,邮箱,性别图书检索: 图书:图书号, ISBN号,书名,作者,价格,出版社,出版日期,简介查询借阅信息: 借阅:图书,借阅时间,应归还时间,归还时间,续借次数图书续借: 续借:用户名,图书,续借时间图书挂失: 图书挂失:图书,用户名,挂失时间,取消挂失时间图书卡挂失: 图书卡挂失:用户名,挂失时间,取消挂失时间预约图书: 预约:用户名,图书名,预约时间,借书时间,是否取消图书管理:系统管理员:帐号,密码,姓名,性别,年龄,职称图书管理员:帐号,密码,姓名,性别,年龄,职称同意读者注册: 用户注册:是否同意罚款管理: 罚款:用户名
3、,图书,罚款金额,处罚原因,罚款时间借书: 用户,图书,借书时间还书: 图书,还书时间书掉了,罚款: 4:分析实体和实体间的联系实体:读者、图书、系统管理员、图书管理员、读者类型、图书类型联系: 1. 图书类型 图书 属于2. 读者类型 读者 属于3. 读者 图书 借阅,预约,挂失,罚款,续借4. 图书管理员 图书 借,还,罚款5. 读者 读者 挂失二:系统的概念模型设计。 每个实体的ER图(未完)。 不同实体间的联系(未完):综合的ER图三:数据模型的设计:1、把上面的概念模型转换为关系模型:实体的转换:读者类型(类型编号,类型名称,可借阅的图书数)读者(读者号,密码,姓名,系、专业,年级,
4、电话号码,邮箱,性别,类型编号)图书类型(类型编号,类型名称)图书(图书号, ISBN号,书名,作者,价格,出版社,出版日期,简介,类型编号)图书管理员(帐号,密码,姓名,性别,年龄,职称)系统管理员(帐号,密码,姓名,性别,年龄,职称)联系的转换:借阅限制(读者类型编号,图书类型编号,借阅天数)图书卡挂失(读者号,挂失时间,取消挂失时间)借阅(读者号,图书号,借阅时间,应归还时间,归还时间,)借书(,图书号,读者号,借出时间)还书(图书管理员编号,图书号,还书时间) 续借(读者号,图书号,续借时间)图书挂失(读者号,图书号,挂失时间,取消挂失时间)预约(读者号,图书号,预约时间)罚款(图书管
5、理员,读者号,图书号,罚款时间,罚款金额,罚款原因)2、关系的优化:对上述关系模式的优化图书管理员和系统管理员的关系模式相同,为了减少关系模式把这两个关系模式合并为一个关系模式.图书管理员(帐号,密码,姓名,性别,年龄,职称)系统管理员(帐号,密码,姓名,性别,年龄,职称)管理员(帐号,密码,姓名,性别,年龄,职称,类型)借阅的数据处理与三个关系模式:借阅,借书,还书,在借阅的表中包括除了管理员以外的所有信息,则把这三个关系模式进行合并:借阅(读者号,图书号,借阅时间,应归还时间,归还时间,)借书(管理员编号,图书号,读者号,借出时间)还书(图书管理员编号,图书号,还书时间)借阅(读者号,图书
6、号,借阅时间,应归还时间,归还时间,借出图书管理员编号,还出的图书管理员编号)3、最后的关系模式如下:1. 读者类型(类型编号,类型名称,可借阅的图书数)2. 读者(读者号,密码,姓名,系、专业,年级,电话号码,邮箱,性别,类型编号)3. 图书类型(类型编号,类型名称)4. 图书(图书号, ISBN号,书名,作者,价格,出版社,出版日期,简介,类型编号)5. 管理员(帐号,密码,姓名,性别,年龄,职称,类型)6. 借阅限制(读者类型编号,图书类型编号,借阅天数)7. 借阅(读者号,图书号,借阅时间,应归还时间,归还时间,借出图书管理员编号,还出的图书管理员编号)8. 续借(读者号,图书号,续借
7、时间)9. 图书卡挂失(读者号,挂失时间,取消挂失时间)10. 图书挂失(读者号,图书号,挂失时间,取消挂失时间)11. 预约(读者号,图书号,预约时间)12. 罚款(图书管理员,读者号,图书号,罚款时间,罚款金额,罚款原因)四:对每一个关系模式的具体定义每一个关系对应的表名,每一个属性对应的字段名,类型,宽度,是否主键,是否可为空,默认值,说明等。表名或字段名用字母、数字或者下划线组成.不同中文。1. 读者类型(类型编号,类型名称,可借阅的图书数)ReaderType表字段名类型宽度是否主键是否可为空默认值说明RTypeIdchar1TRTypenamenchar4FFBorrowNumIn
8、t FF5最多可借出的图书数量2. 读者(读者号,密码,姓名,系、专业,年级,电话号码,邮箱,性别,读者类型编号)Reader表字段名类型宽度是否主键是否可为空默认值说明Ridchar8Tpasswordchar10FF不少于六位Rnamenchar5FTSexnchar1FF只能为男或者女RtypeIDchar1FFFK,与Readertype表建立联系Departmentnchar10FFprofessionnchar10FTGradechar4FF用入学年份来表示Telephonechar11FTE_mailvarchar50FT3. 图书类型(类型编号,类型名称) BookType表字
9、段名类型宽度是否主键是否可为空默认值说明BTypeIdChar1TBTypeNamenChar10FF4. 图书(图书号, ISBN号,书名,作者,价格,出版社,出版日期,简介,类型编号)Book表 字段名类型宽度是否主键是否可为空默认值说明BIDchar10TISBNchar13FF必须为11位Bnamenchar5FTBtypeIDChar1FF1FK,与BOOKTYPE表联系AuthorChar1FFPriceDecimal4FF不能小于0Pubcompnvarchar20FFPubdateSmalldatetimeFF5. 管理员(帐号,密码,姓名,性别,年龄,职称,类型)Manage
10、r表字段名类型宽度是否主键是否可为空默认值说明MIDChar6TPwdChar10FFMtypechar1FF只能是数字MnameNchar5FTMsexNchar1FT男只能为男/女MageintFT6. 借阅限制(读者类型编号,图书类型编号,借阅天数)BorrowLimit表字段名类型宽度是否主键是否可为空默认值说明RTypeIdchar1TFK,与ReaderType表联系BTypeIDchar1TFK,与BookType表联系LimitDaysInt FF57. 借阅(读者号,图书号,借阅时间,应归还时间,归还时间,借出图书管理员编号,还出的图书管理员编号)Borrow表字段名类型宽度
11、是否主键是否可为空默认值说明RIDchar8TFK,与Reader表联系BIDchar10TFK,与Bbook表联系BorrowTimesalldatetimeFF系统当前时间SReturnTimesalldatetimeFFBMIDChar6FFFK,与Manager表联系RMDChar6FTFK,与Manager表联系8. 续借(读者号,图书号,续借时间)Renew表字段名类型宽度是否主键是否可为空默认值说明RIDchar8TFK,与Reader表联系BIDchar10TFK,与Book表联系RenewTimesalldatetimeFF系统当前时间9. 图书卡挂失(读者号,挂失时间,取消
12、挂失时间)RcardLoss表字段名类型宽度是否主键是否可为空默认值说明RIDchar8TFK,与ReaderTyper表联系LossTimesmalldatetimeT系统当前时间CancleTimesmalldatetimeFF510. 图书挂失(读者号,图书号,挂失时间,取消挂失时间)BookLoss表字段名类型宽度是否主键是否可为空默认值说明RIDchar8TFK,与Reader表联系BIDchar10TFK,与Bbook表联系LossTimesalldatetimeTF系统当前时间CancleTImesalldatetimeFF11. 预约(读者号,图书号,预约时间)Prebook表字段名类型宽度是否主键是否可为空默认值说明RIDchar8TFK,与Reader表联系BIDchar10TFK,与Bbook表联系PreTimesalldatetimeT系统当前时间12. 罚款(图书管理员,读者号,图书号,罚款时间,罚款金额,罚款原因)Punishment表字段名类型宽度是否主键是否可为空默认值说明RIDchar8TFK,与Reader表联系BIDchar10TFK,与Bbook表联系PunTimesalldatetimeT系统当前时间MIDchar6FFFK,与Manager表联系PunNumdecimalFF不能小于0PunCausevarNchar50FF