数据库关系的表示与实现
在数据库设计中,识别实体和关系后,如何表示它们是一个关键问题。常见的表示方法有数据库层次结构、简单网络、复杂网络、实体 - 关系模型和对象 - 关系模型。前三种是传统方法,已逐渐被后两种更知名的方法所取代。下面我们来详细探讨后两种方法。
1. 实体 - 关系模型
实体 - 关系图(ERD 或 E - R 图)是解决数据库表示挑战的常用方法。构建 ERD 有两种广泛使用的约定:乌鸦脚符号法和陈氏符号法。其他符号法如信息建模集成定义(IDEF1X),这里暂不讨论。
例如,基于乌鸦脚符号法的 ERD 示例图中,为避免图表杂乱,展示每个实体属性的常规做法被放宽。关系用动词标注,这样在连接两个实体时,可以形成“实体 - 动词 - 实体”的表述。动词位置决定了阅读方向,若在关系线右侧或上方,按从上到下或从左到右阅读;若在左侧或下方,则按从下到上或从右到左阅读。
图中包含 17 个实体和 18 个关系,实体有客户、采购发票、供应商等。每个关系都有名称,命名方式取决于图表约定。使用陈氏符号法时,关系名称写在菱形内;使用乌鸦脚符号法时,遵循特定规则:从左到右阅读,名称写在关系线上方;从右到左阅读,名称写在关系线下方;从上到下阅读,名称写在关系线右侧;从下到上阅读,名称写在关系线左侧。
以下是读取 ERD 关系的示例:
- 员工属于部门
- 供应商发送采购发票
- 采购发票包含库存项目
- 员工被分配到项目
另一个图采用陈氏符号法,传达了与乌鸦脚符号法示例图相同的信息。陈氏符号法以其创始人 Peter Chen 命名,在学术圈广泛使用。为避免图表杂乱,部分关系未遵循在菱形中写关
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



