【详解】数据库E-R图——图书管理系统

打印 上一主题 下一主题

主题 990|帖子 990|积分 2972

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目

   一个图书管理系统中有如下信息:
  图书:书号,书名,数目,位置
  借书人:借书证号,姓名,单元
  出版社:出版社名,邮编,地址,电话,E-mail
  
  约定:
  (1)任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。
  (2)借书和还书时,要登记相应的借书日期和还书日期;
  (3)一个出版社可以出版多种册本,同一本书仅为一个出版社所出版,出版社具有唯一性。
  
  根据以上情况,完成如下设计:
  (1)构造满足需求的E-R图。
  (2)将E-R图转换为等价的关系模式。
  (3)指出转换后的每个关系模式的候选键。
  构造满足需求的E-R图

   矩形通常用于表示实体,圆形表示属性,菱形表示接洽,请看下图:
  

  • 图书作为实体包罗了4个属性:书号、书名、数目、位置
  • 借书人作为实体包罗了3个属性:借书证号,姓名,单元
  • 出版社作为实体包罗了5个属性:出版社名,邮编,地址,电话,E-mail
  • 图书--借阅--借书人,任何人可借多种书,所以借书人与图书的关系是N,任何一种书可为多个人所借,借书证号具有唯一性所以图书和借书人的关系为M。
  • 借书和还书时,要登记相应的借书日期和还书日期;只必要给借阅这个关系创建两个属性即可。
  • 出版社--出版--图书,一个出版社可以出版多种册本,所以出版社与图书的关系是N,同一本书仅为一个出版社所出版,出版社具有唯一性所以图书与出版社的关系为1。
  

将E-R图转换为等价的关系模式。

   

  • 图书(书号、书名、数目、位置、出版社名(外键))
  • 出版社(出版社名、邮编、地址、电话、E-mail)
  • 借书人(借书证号、姓名、单元)
  • 借阅(书号(外键)、借书证号(外键)、借书日期、还书日期)
  指出转换后的每个关系模式的候选键

   思绪

  候选键是指在关系数据库中,能够唯一标识元组(行)的一个或多个属性集。在一个关系模式中,可能会有多个候选键,而其中一个候选键被选作主键。要找到候选键,可以遵循以下步骤:
  1. 明确函数依赖
  先分析关系模式中属性之间的函数依赖。函数依赖意味着某些属性值可以唯一确定其他属性的值。例如,在学生表中,学号可以唯一确定学生的姓名、性别等属性。
  例如:
  

  • 如果我们有一个关系模式 R(A, B, C, D),而且已知 A -> B 和 A -> C, D,那么属性 A 是候选键,因为它唯一确定了其他全部属性。
  2. 探求超键
  超键是能唯一标识关系中全部元组的属性聚集。通常是一个或多个属性的组合。最简单的超键就是全部属性的聚集。
  例如: 在图书表 Book(书号, 书名, 数目, 出版社名) 中,书号 可以唯一标识一本书,因此它是一个超键。
  3. 探求候选键
  候选键是最小的超键,即无法去除任何属性的超键。候选键不能包罗冗余属性。
  步骤:
  

  • 找到全部可能的超键。
  • 删除那些包罗冗余属性的超键,剩下的就是候选键。
  4. 例子:
  示例1:图书表 Book(书号, 书名, 数目, 出版社名)
  

  • 超键:{书号}, {书号, 书名}, {书号, 出版社名}, {书号, 数目, 出版社名} 等。
  • 候选键:{书号}(最小且唯一标识全部属性)。
  示例2:借书表 Borrow(书号, 借书证号, 借书日期, 还书日期)
  

  • 超键:{书号, 借书证号}, {书号, 借书证号, 借书日期} 等。
  • 候选键:{书号, 借书证号}(因为一个借书人可能多次借阅同一本书,复合键才气唯一标识)。
  总结:
  

  • 分析属性之间的函数依赖。
  • 找到全部超键。
  • 删除冗余属性,得到最小的超键作为候选键。
  每个关系可能有多个候选键,而其中一个候选键会被选为主键。
    解法

  1. 图书(书号、书名、数目、位置)
  

  • 候选键:书号
  • 分析:书号可以唯一标识一本书,因此它是图书表的候选键。
  2. 出版社(出版社名、邮编、地址、电话、E-mail)
  

  • 候选键:出版社名
  • 分析:出版社名可以唯一标识每个出版社,因此它是出版社表的候选键。
  3. 借书人(借书证号、姓名、单元)
  

  • 候选键:借书证号
  • 分析:借书证号是唯一的,每个借书人都有一个独特的借书证号,因此它是借书人表的候选键。
  4. 借阅(书号、借书证号、借书日期、还书日期)
  

  • 候选键:(书号, 借书证号)
  • 分析:书号和借书证号共同组成复合候选键。因为同一本书可以被多个人借阅,且同一个人可以借阅多本书,因此必须用书号和借书证号的组合来唯一标识每条借阅记录。借书日期和还书日期是借阅记录的属性,但不会影响候选键的唯一性。
  总结:
  

  • 图书表的候选键:书号
  • 出版社表的候选键:出版社名
  • 借书人表的候选键:借书证号
  • 借阅表的候选键:(书号、借书证号)
  末端

如果有写的不对的地方接待在评论区品评指正,谢谢!!!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

祗疼妳一个

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表