我必须根据下面给出的一些高级描述创建ERD图:
这就是我写的,我不确定它是否准确。如果有人能反复核对并指出更正,我们将不胜感激:
编辑:
将图表更改为下面的图表。我仍然不确定合成键还是外键。如果有人能帮我解决这个问题?
第二版:更改格式,并试图解决上述问题。也改变了一些特性。

发布于 2016-06-17 18:52:21
我相信最好的答案是质疑潜在的问题,这样你就可以思考以下几点:
Feedback Question可以是多个Recipient /属于多个Recipient。每个Feedback Question不应该是关于/属于一个Recipient的吗?Submitters似乎是雇主,根据你给他们的属性,但从描述上看,他们似乎是雇员?Submitters有一个Due Date?如何处理第8点?Recipients如何知道Feedback Question与每个Feedback Result之间的关系?Feedback Result都可以与多个Submitters相关联。你不认为每个Submitter应该有一个单独的Submitter,即每个Feedback Result应该只与一个Submitter相关联吗?Feedback Results有到期日?我只看到说明中提到了提交日期。Average Score记录Feedback Result?用查询来计算它不是更好吗?Recipients和Feedback Results之间建立一个Feedback Results关系?您不认为描述只是要求他们能够查看(查询)结果,而不是记录他们的视图吗?回应您的编辑:
Feedback Question直接连接到没有关系的Questions --这在ER中无效。Submitters Due Date更改为Submission Date,但是Submitter不可能在不同的日期提交答案(参见第8点)?我只会把一个Submission Date放在Feedback Results上而不是Due Date上,而在Submitters上没有任何日期。Submitter可以匿名提交一些Feedback Results,而其他的可以公开提交吗?Feedback ID添加了一个Feedback Results属性--我认为这应该是一种关系。Views (两者都是)和Average的建议是完全不给它们建模。平均值是导出的事实--我们只需要在数据库中记录实际的事实。查看数据是运行时行为,而不是需要记录的信息。Recipient关系基数的更改,但我认为您需要对Submits做同样的修改--每个Feedback Result都应该由一个Submitter提交。第三次尝试:您现在有一个数据库或表图,而不再是实体关系图,换句话说,您已经从概念模型切换到物理模型。
Feedback表需要一个Question ID,这意味着您必须将每个新的问题插入到第3点提到的预先存在的列表中。这是任务的目的吗?Question ID和Recipient ID的复合材料吗?但是,Feedback Assignment似乎是指不存在的代理项ID。Feedback Assignment表的主键是什么?它是Feedback ID和Employee ID的复合材料吗?这就是Feedback Results所指的,这意味着代理项ID是不必要的。Feedback Results中,代理键Results ID似乎是多余的,因为Feedback ID和Employee ID的组合唯一地标识了每一行。Avg Table,我认为这是不必要的,因为平均值可以通过查询轻松地计算出来。Avg Table中,您将Average Score指定为外键。我不知道这是怎么回事。它不应该使用Feedback ID作为外键和主键吗?Views约束似乎不对应于任何列,因此是不必要的。希望这能有所帮助。
https://stackoverflow.com/questions/37887767
复制相似问题