1、数据库设计案例之一图书管理数据库的设计现在要求为某学校图书馆设计一个图书管理系统的数据库,背景如下:该学校是一所多学科、多层次大学,学校有高职生、本科生含一本、二本、三本、硕士研究生含MBA和博士研究生等多种层次的学生,图书馆为全校学生和教职工提供图书借阅效劳。图书馆按照图书的性质中文图书、外文图书、新书将借阅分为不同的借阅种类:中文图书借阅、外文图书借阅和新书短期外借;不同的读者对象也有不同的借阅要求。v对每种借阅类型和读者,其借阅册数、借期、是否允许续借、续借期限等不同。不同借阅种类和借阅对象的借阅要求规定如附1所示。v例如:本专科学生可以借中文图书5本,借期30天,可以续借一次,续借15
2、天。v“新书的概念是相对的,一本新书在上架或入库后的60天内只提供短期外借,此后即自动地成为中文图书或者外文图书。v借出的图书不能在当天归还。v每次借阅后读者最多可以续借一册图书一次。v在本馆所借的文献资料,均应在规定的期限内按时归还。逾期不还者,将分别按以下规定处理:中文图书借阅:每册每天罚款0.2元。新书借阅和外文图书借阅:每册每天罚款0.5元。在超期图书归还并缴清罚款之前,读者不可借阅图书;超期图书也不能续借。v对于超期的图书,图书管理系统将自动向读者电子邮箱中发一封电子邮件催还图书。v每个读者都要有一个编号,并记录读者的姓名、性别、类型学生、教师等、单位、电子信箱等。v图书馆采编部负责
3、对入库的文献资料按规定进展编目、著录、加工、建库。对每本图书、杂志,要记录其根本信息,如名称、作者、ISBN号、出版地、出版社、出版时间、字数、单价、内容简介、所属分类号等,其中,图书分类按照中图法分类规那么进展分类。中图法分类简表见后。v学校有三个校区,相应地,馆藏分布于三个分馆中:A图书馆侧重于经济管理、综合类、B图书馆侧重于理工、计算机类和C图书馆侧重于法学、外语、体育、艺术、音乐等方面。图书馆中每种图书可能采购多册,分布在多个馆中。全校师生可以在任何一个分馆中借阅。v每个分馆中的图书借完为止,如本部图书馆有某图书1本,这本图书借出后,在归还之前,本部图书馆中就查阅到该图书为借出状态,而
4、且,馆藏已空,但是读者可以到其他馆中借阅。v图书的归还遵循属地原那么,即从哪个分馆借出的图书必须要在那个分馆中归还。v图书馆管理员有权更改图书到期时间,比方将本来暑假到期的图书的到期时间改为9月10日。v读者可以在网上查询自己的图书借阅情况,一般读者只可以查阅到自己的借阅情况和图书的信息,而管理员可以查看任何读者的信息、借阅情况,任何图书的信息和借阅情况。v在网上查询系统中,每个用户都分配了用户名全局唯一和密码,其中,用户名就是读者号,密码初始值为读者的学号或者工号,可以修改。v附1:图书借阅册数与期限表v附2:中图法分类号例如:A马克思主义、列宁主义、毛泽东思想、邓小平理论A1马克思、恩格斯
5、著作A2列宁著作A3斯大林著作A4毛泽东著作A49 邓小平著作A5马克思、恩格斯、列宁、斯大林、毛泽东、邓小平著作汇编A7马克思、恩格斯、列宁、斯大林、毛泽东、邓小平生平和传记A8马克思主义、列宁主义、毛泽东思想邓小平理论的学习和研究B哲学、宗教B0哲学理论 B1 世界哲学B2中国哲学 B3亚洲哲学B4非洲哲学 B5欧洲哲学B6大洋洲哲学 B7美洲哲学B80思维科学 B81逻辑学(论理学)B82伦理学(道德学)B83美学B84心理学 B9宗教v请你设计一个数据库,并确定要满足的各种约束,使得其中:保存了所需的所有信息;支持图书管理的各种应用;尽可能地优化:减少冗余、提高查询速度。v画实体-联系
6、图。v将实体-联系图转换为关系表。实体-联系图v寻找实体集:读者图书分馆图书类别其他?v寻找实体集之间的联系:读者和图书之间的多对多联系:借阅图书和分馆之间的多对一联系:馆藏图书和图书类别之间的多对一联系:分类v确定实体的属性:v读者:读者编号、姓名、性别、类型、单位、电子信箱,其他?v图书:名称、作者、ISBN号、出版地、出版社、出版时间、字数、单价、内容简介、所属分类号、入库时间,其他?v分馆:编号、名称、联系 、馆址v图书类别:分类号、分类名称v确定联系的属性:v借阅:借阅日期实体-联系图续检查是否包含了所有必需的信息?图书分为中文图书、外文图书、新书。对每种借阅类型和每种读者,借阅册数
7、、期限、是否可续借、续借周期等不同。读者是否可继续借阅,是否可续借?不同借阅类型超期后的罚款额度?读者是否应缴纳罚款?缴纳多少罚款?一本具体的图书所在的分馆?用户的用户名和密码?某图书的馆藏情况?图书分为中文图书、外文图书、新书表示为图书的一个属性还是图书和图书种类的联系?图书种类:图书种类号、种类名称图书和图书种类之间存在多对一的联系!类似地,读者分为教师、研究人员/非教研人员含离退休人员/博士研究生/硕士研究生含MBA/本专科学生含高职生读者类型:类型号、类型名称读者和读者类型间存在多对一的联系 对每种借阅类型和每种读者,借阅册数、期限、是否可续借、续借周期等不同用图书种类和读者类型之间的
8、联系表示借阅类型:借阅册数、借期、允许续借否、续借时间读者是否可继续借阅?可以为读者实体添加一个属性:能否借阅,表示读者是否可以继续借阅;不同借阅类型超期后的罚款额度?给图书种类添加一个属性:罚款金额每册每天图书种类:图书种类号、种类名称、罚款金额读者是否应缴纳罚款?缴纳多少罚款?如果所有图书在期限内归还,那么无需缴纳罚款;类似,罚款金额需要根据超期天数以及图书种类确定需要给借阅联系添加属性“归还日期!一本具体的图书所在的分馆?几册一样的图书即ISBN号一样可能在不同的分馆中,因此,每册图书都应该是可以区分的,应该有一个唯一的图书编号!一册图书所在的分馆通过馆藏关系可知。用户的用户名和密码?用户和读者的关系?需要用户实体集。对于读者而言,可否直接参加一个属性“密码来表示这局部信息?请思考。不同的用户有不同的权限。用户:用户名、登录密码、权限。用户和读者之间存在联系,这是什么样的联系?a.新建 PPT 演示文稿a.本课件本课件PPT仅供大家学习使用仅供大家学习使用 学习完请自行删除,谢谢!学习完请自行删除,谢谢!