ER模型(陈记号)

时间:2015-01-25 06:09:11

标签: database model entity-relationship erd

我的任务是使用陈述符号使用以下规格绘制ER模型(手动):

http://i57.tinypic.com/73ff2f.png

  

如果您对这些规格有疑问。我会扮演这个角色   客户将解决他们。

     

该数据库将服务于大学。   学生有id,姓名和gpa。他们必须只有一个专业,   但他们也可能有未成年人。每个主要或次要是a   部门,有一个独特的名称和电话号码。对于每一个   有未成年人的学生,我们会记录她报名的日期。学院   成员与一个独特的部门相关联,并具有id,名称   和办公地点。每个实习都由特定的学生举行   在特定的比赛中,由特定的教师监督   会员。我们还会跟踪该学生的最后一个学期   在该顾问下注册,在该公司实习。   随着时间的推移,学生可能会有很多实习机会一名教师   可以监督某个公司的许多学生,她可以监督   几家公司的特定学生。但是,对于一个特定的学生和   公司,只能有一名指导老师。

     

学生,部门,   教师和公司应该是您的实体类型。实习应该   是一种三元关系类型。规格也应该引导你   二元关系类型。不要在这种混合物中添加任何成分   而不是规格中出现的内容。

以下是我的工作:

http://i60.tinypic.com/28rf7tf.jpg

任何人都可以请求帮助,因为我真的需要更好地理解这一点(我的教授在解释这个问题时非常好。)

1 个答案:

答案 0 :(得分:0)

您错过了(根据您的作业的最后一段)部门实体类型。 (框。)

你错过了“教师与一个独特的部门联系在一起”。这是两种实体类型之间的关系。 (带有线条的钻石。)

您可以拥有与部门1:1的主要和次要授权类型。 (你现在的盒子里各有一条线到它自己的钻石,每条线都有一条线到部门。)但是(根据你的作业的最后一段没有将它们列为实体)你可以让专业成为一种关系'学生有一个专业的部门[d]'和类似的未成年人。 (从学生到两个钻石中的每一个的线条,每个钻石都有一个部门。)但是,作业实际上说“每个主要或未成年人都是一个部门”,所以主要是“学生有主要部门[d]”,同样的次要。 (相同的图片。)

根据你的作业的最后一段,你应该让实习成为三元关系。 (在陈的情况下,它是一个关系钻石(可能有自己的属性)由3行组成实体类型矩形(可能有自己的属性)而不是实体框。)但是,目前尚不清楚你的任务何时认为实习持有。 (它告诉我们什么关系成立;它只是不清楚它想要称之为实习。)(虽然我们可以寻找与三元一致的解释。)一个是公司[c]监督的'学生'实习生教师[f]'。但是,既然'对于一个特定的学生和公司,只有一个指导老师',实习的概念更简单的特点是在公司[c]'的二元关系'学生实习生'。但是,你仍然需要一个关系'教师[f]为公司[c]建议学生。所以我建议你的作业要求前者。我们可以添加属性术语。 (这更合理地称为关于学生,公司,教员和约会的关系;但E-RM认为关系是在实体上。虽然这完全取决于您班级的方法的详细信息。)

(多种合理变化的可能性是为什么你应该在SO问题中提出一个完全处理特定规范的特定设计。)

E-R模型[原文如此]的问题在于它引入了实体,依赖关系和属性之间的不必要的区别。关系实例和实体之间实际上没有区别。例如:在这里,我们也可以在4人关系加上财产的实体之上进行实习。例如:你的任务说'每个主要或未成年人都是一个部门'。但是主要或次要的不是部门。主要或次要可以被视为一个主题,这将是一个部门被命名的主题或一个部门提供的学位的主题。或者我们可以建立一个部门参与的关系,但关系关于该部门的主题或名称或学位是主要或次要。

(如果作为关系的实习参与了自己的关系,我不知道你的教师的特定方法如何保持更多的线条组织。一些方法增加实习实体(盒子)1:1与关系(钻石);然后一些方法特别将实体类型与关系相关联作为具体化,而有些方法通过包含具体实体类型使关系成为4方式。例如,'实习[i]是公司[c]的学生[s]和......'。)

(正确地说,有实体类型与关系和实体与关系实例。但是关系“类型”的任务谈判。)

Re E-RM请参阅this answerthis one。还有E-RM wiki page部分“实体关系建模”。 (通过一些相关的建模和图表方法和工具,甚至是E-RM本身的一些演示,正确地提到了陈的E-RM和E-RD的误解。但是'概述'是无稽之谈。)

Re E-RM问题请参阅this