如何使用E / R图绘制以下数据库模式?

时间:2012-04-17 11:54:38

标签: mysql sql database-design entity-relationship diagram

如何使用E / R图表绘制以下数据库架构? (草图或最终图像会有所帮助。)如果您能引导我学习一个易于理解的实体关系教程,我也会很感激,所以我可以先学习如何在纸上绘制它们。

  1. CD有标题,制作年份和CD类型。 (CD类型可以是任何东西:迷你CD,CD-R,CD-RW,DVD-R,DVD-RW ......)
  2. CD通常在不同的曲目上有多首歌曲。每首歌都有一个名字,一个艺术家和一个曲目编号。实体集Song被认为是,需要来自实体集CD的支持。
  3. CD由具有姓名和地址的制作人制作。
  4. CD可能由多个供应商提供,每个供应商都有一个名称和一个地址。
  5. 客户可以租用多张CD。需要记录社会安全号码(SSN),姓名,电话等客户信息。还应记录租赁日期和时间(以天为单位)。
  6. 客户可以是普通会员和VIP会员。 VIP会员还有其他信息,例如VIP身份的开始日期和折扣百分比。
  7. 此实体图是否正确?这太令人困惑了。我用直觉而不是他们在教科书中教授的系统方法构建了这个图表。我仍然无法绕过多对一关系,弱实体,外键。

    enter image description here

2 个答案:

答案 0 :(得分:2)

Wikipedia上有一篇关于ERD的公正文章。

当您开始新的ERD时 - 无论是手绘还是计算机绘制 - 您应首先关注实体(实体集)。添加关系,然后担心充实非关键谓词。当您获得ERD的一些经验时,您将达到不需要更多工作来实现规范化的程度。它会自然而然地开始。

您可能希望对图表进行相当多的更改。由于这可能是家庭作业,我会给你一个替代图表来考虑:

enter image description here

此模型采用更复杂的规则视图,例如:

  • 歌曲可以在同一张CD和不同的CD上多次出现。
  • 一首歌曲可以由给定曲目中的多位艺术家执行。
  • 制片人可以在CD上合作。

这些都不一定适合您的模型。这取决于您的业务规则。

将您的模型与此模型进行比较,并问自己有什么不同以及为什么您可能想要采用一种方法或另一种方法。

答案 1 :(得分:0)

采取所有主要概念,为每个

画一个框

在框中输入主要概念的名称,如SONG然后下划线

在主要概念下,列出所有属性,如NAME

从一个框到另一个框绘制线条,其中这些概念链接(通常通过属性),如从CD到SONG的行