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