数据库:实体关系
外观
数据库可能存储有关各种事物的相关数据。例如,如果我们查看在线商店所需的表格
- 员工
- 产品
- 收据
- 客户
这些表格可以独立存在,但当我们开始描述它们中的每一个时,我们会注意到它们彼此相关。例如
- 收据表记录了客户购买了哪些产品,以及购买日期。
这描述了收据记录,并且从它的结构中我们可以看到其他表格中的主键包含在其中。
Receipt(CustomerID, ProductID, DateTime, Total, StaffID)
换句话说,我们可以说
A receipt has one customer A customer can have many receipts A receipt has one product A product can be part of many receipts A receipt was created by one staff member A staff member can create many receipts
然后我们可以像这样绘制此图
为了将表格连接起来并允许我们查询数据库,我们使用关系。您需要了解三种类型的关系。每种关系都使用“脚爪符号”显示在下面,这是许多方法之一来描述这些关系
图表 | 名称 | 描述 |
---|---|---|
多对多 | 一个作者可以写多本书,一本书可以由多个作者编写 | |
一对多 | 一位生物母亲可以有多个孩子,一个孩子只能有一个生物母亲 | |
一对一 | 一个国家只有一个首都,一个首都只在一个国家 |
练习:关系 回答 一只动物有一个基因组 回答 一个学生有多门课 回答 一个联赛有多支球队 回答
绘制以下关系 回答 vehicle ---< wheel 父亲和孩子之间的关系 回答 Father >--< Child (除非我们谈论的是生物父亲:Father--<Child ) 政治家和鼻子之间的关系 回答 politician ---- nose 主人和猫之间的关系 回答 Cat >---< Owner (即使一个主人可能拥有不止一只猫,一只猫可能有多个主人) 汽车和司机之间的关系 回答 car --- driver (一辆车只能由一名司机驾驶,一名司机一次只能驾驶一辆车) 独轮车和轮子之间的关系 回答 wheel --- unicycle 房屋和邮政编码之间的关系 回答 House >--- Postcode (一栋房屋分配一个邮政编码,但同一个邮政编码可能分配给许多房屋) |