Cracking the coding interview--Q15.4

本文解释了如何在数据库中绘制实体关系图,包括公司、人和专业人士之间的关系,详细说明了专业人士与人的关系为ISA,以及如何表示专业人员特有的属性和他们与公司的多对一关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目

原文:

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---


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值