3.运用关系型数据库管理系统,实现高校图书馆管理信息系统,功能需求分析 如下。 (1)图书、资料的登记、注销和查询。 (2)借书证管理,包括申请、注销借书证,查询借书证持有人等。 (3)借还图书、等级资料、超期处理和超期拒借。 要求完成以下设计步骤。 (1)绘制系统E-R图。 (2)写出E-R图对应的关系模式(若有不符合3NF的,进一步规范化至3NF)。
时间: 2023-12-22 12:04:29 浏览: 88
(1)系统E-R图如下:
![高校图书馆管理信息系统E-R图](https://img-blog.csdnimg.cn/20211018140904531.png)
(2)根据E-R图,可以得到以下关系模式:
1. Book(book_id, title, author, press, category, price, state)
2. Material(material_id, title, author, press, category, price, state)
3. User(user_id, name, gender, department, type, valid)
4. BorrowCard(card_id, user_id, issue_date, expire_date, state)
5. BorrowRecord(record_id, card_id, book_id, material_id, borrow_date, return_date, overdue_days, penalty)
6. Category(category_id, name, description)
其中,Book和Material是两个实体集,它们的属性相同,因此可以合并成一个实体集。state属性表示该书或资料的借阅状态,0表示未借出,1表示已借出。
User表示读者信息,type属性表示读者类型,如本科生、研究生等;valid属性表示该读者是否有效。
BorrowCard表示借书证信息,state属性表示该借书证的状态,0表示已注销,1表示未过期,2表示已过期。
BorrowRecord表示借阅记录信息,其中overdue_days表示逾期天数,penalty表示逾期罚款。
Category表示书籍分类信息,一个书籍或资料只能属于一个分类,因此满足第一范式,没有重复的多值属性和组合属性。但是,category属性依赖于category_id,而不是依赖于整个Category关系,因此不满足第二范式。进一步规范化,将Category分解成两个关系:
1. Category(category_id, name, description)
2. BookCategory(book_id, category_id)
3. MaterialCategory(material_id, category_id)
其中,BookCategory表示书籍和分类之间的关系,MaterialCategory同理。这样,每个属性都只依赖于关系中的键,满足第三范式。
阅读全文