提问者:小点点

绘制ER图的混乱场景


所有堆栈溢出成员,

我在研究实体关系图,在关系数据库模块。我们已经对ER图有了足够的了解,可以创建实体,识别每个实体的属性,包括主键、外键、实体之间的关系和基数约束。

我们从考文垂大学得到了一个官方的场景,它要求根据这个场景绘制ER图。问题是;没有一个学生得到正确的答案(对ERD不满意),甚至连教师和教师也对此感到困惑。我回答了我所理解的,但我不满意我的回答。

这是一个场景:

考虑组织中的以下场景建模项目管理活动。

汽车销售公司向其客户提供使用超过1年、2年、3年、4年或5年的还款计划购买汽车的选择。
客户可以根据该计划购买一辆或多辆汽车。当客户购买汽车时,他或她可以为每次购买选择一个还款方案选项,也可以一次性支付全部金额,这意味着一个或多个客户可以选择一个还款方案选项,也可以根本不选择。客户将具有唯一的客户号码、姓名、地址和电话号码。还款方案选项将具有唯一的还款方案编号、名称和还款年数。汽车将有一个唯一的汽车代码、制造商、型号、制造年份和价格。

公司向销售人员支付汽车销售佣金,因此它还将保留关于每一次销售的信息,其中包括唯一的销售ID和在该次销售中支付的佣金。公司也会想知道是谁做了销售,以及那笔交易涉及到的汽车,这样才能确定佣金。销售人员将具有唯一的销售人员ID、姓名、电话号码和电子邮件地址。

这就是需求/问题:为上述给定场景构造实体关系图(ERD)。标识所有实体、每个实体的属性(包括主键、外键)、实体之间的关系和基数约束。说明支持您的设计所需的任何假设。

我的回答是:

我想知道我的答案对不对?如果不是/什么是正确的答案?

谢谢


共1个答案

匿名用户

欢迎使用StackOverflow。谢谢你的回答。

对您回答的反馈:

你用钥匙有点困难。主键中不需要包含任何外键。

您将每个客户与repayment_scheme_number相关联,这意味着一个客户只能为他的所有购买选择一个还款方案。我读到的作业是这样说的,他可以选择一个计划每次购买:

当客户购买汽车时,他或她可以为每次购买选择一个还款方案选项

通过将每辆车与一个客户和销售人员联系起来,一辆车只能卖出一次,而且卖出和卖出的车之间没有关系。

你也没有区分实体和关系。外键约束不是关系,ER中的关系实现为表(或ER术语中的关系关系,与实体关系相对)。外键约束只是完整性约束,以确保不关联不存在的值。

我的回答是:

我使用了陈的符号,因为它区分了实体和关系。外键约束由实体和关系之间的线条表示。

直接实现的物理模型如下所示:

正如您所看到的,这种格式并不指示哪些表表示实体或关系,但可以通过查看表的主键来确定。通过对具有相同行列式的关系进行反规格化,可以得到一种更有效的设计: