数据模型
- E-R 概念模型
- 定义
- 实体:客观存在且可相互区别的事物。
- 属性:实体或联系具有的特征。
- 联系:实体之间或实体内部相互的作用。
- 联系
- 一对一联系:实体集 中一个实体最多一一对应实体集 中一个实体,记作 。
- 一对多联系:实体集 中一个实体对应实体集 中任意个实体,实体集 中一个实体最多对应一个实体集 中一个实体,记作 。
- 多对多联系:实体集 中一个实体对应实体集 中任意个实体,反之也是,记作 。
- E-R 图
- 实体用矩形表示,属性用椭圆表示,联系用菱形表示。
- 实体和联系都可以拥有属性。
- 定义
- 逻辑模型
- 层次模型
- 实体构成树形结构。
- 索引实体要按照层次路径进行。
- 优点:
- 结构简单清晰。
- 查询效率高。
- 完整性支持良好。
- 缺点:
- 不易表示多对多等非层次联系。
- 多个双亲节点需要通过虚拟节点来实现,导致冗余。
- 查询子节点必须经过父节点。
- 层次命令趋于程序化。
- 网状模型
- 实体构成网络,可以没有或任意个父节点。
- 优点:
- 联系更多样。
- 性能较高。
- 缺点:
- 结构复杂。
- DDL、DML 复杂。
- 查询需要选择合适的存取路径,需要了解系统结构细节。
- 关系模型
- 实体表示为关系。
- 优点:
- 概念单一,实体和联系均使用关系表示。
- 存取路径透明,数据独立性高,使用简单。
- 缺点:
- 性能不如层次和网状模型。
- DBMS 开发难度大。
- 层次模型