现在的位置: 首页 > 综合 > 正文

Cracking the coding interview–Q15.4

2014年09月05日 ⁄ 综合 ⁄ 共 612字 ⁄ 字号 评论关闭

题目

原文:

Draw an entity-relationship diagram for a database with companies, people, and professionals (people who work for companies).

译文:

画一个数据库的实体关系图,包含公司(companies),人(people), 专业人士(professionals)。

解答

在公司中工作的人(people)是专业人士(professionals),因此, professionals和people间是ISA(is a)的关系。 或者,我们可以说professionals是从people派生出来的。

除了people的属性,每个professional还有自己额外的属性,如:级别,工作经验等。

一个professional只能去一家公司上班(一般情况下是这样), 而一家公司可以雇佣很多的professional。因此,它们之间是多对一的关系。 “工作(work for)"关系可以有如下属性:加入公司的时间,工资等。 为什么这两个属性是关系的属性而不是professional的属性呢? 因为只有当我们将professional和companies联系起来,才会有这些属性, 或是说这些属性才有意义。

一个人可以有多个电话号码,因此电话号码是一个多值属性。

ER图如下:


转自:http://hawstein.com/posts/15.4.html

---EOF---

抱歉!评论已关闭.