常用的数据模型
# 最常用的数据模型
- 非关系模型
- 层次模型(Hierarchical Model)
- 网状模型(Network Model)
- 关系模型(Relational Model)
- 面向对象模型(Object Oriented Model)
- 对象关系模型(Object Relational Model)
# 层次模型
层次模型是数据库系统中最早出现的数据模型
层次数据库系统的典型代表是IBM公司的IMS(Information Management System)数据库管理系统
层次模型用树形结构来表示各类实体以及实体间的联系
# 层次模型的完整性约束条件
- 无相应的双亲结点值就不能插入子女结点值
- 如果删除双亲结点值,则相应的子女结点值也被同时删除
- 更新操作时,应更新所有相应记录,以保证数据的一致性
# 存储结构
# 1.邻接法:
按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序
# 实例
# 2.链接法
# 层次模型的优缺点
# 网状模型
网状数据库系统采用网状模型作为数据的组织方式
典型代表是DBTG系统:亦称CODASYL系统
# 多对多联系在网状模型的表示
# 实例
# 优缺点
# 关系模型
1970年美国IBM公司San Jose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型
# 基本概念
# 关系的规范化条件
# 术语对比
# 操作和特点
# ==完整性的约束条件==
关系数据模型的完整性的约束条件:
- 实体完整性(存储的数据必须对应于现实中的一个主体,并且主码不能为空)
- 参照完整性(其他数据引用的外部数据的主码要不为空,要不就是一个确实存在的正确数据)
- 用户定义的完整性(定义的数据不能出错)
其中,前两项是必须满足的。
# 文件存储方式
实体及实体间的联系都用表来标识,表以文件形式存储,而存储方式由DBMS(数据库管理内核)来决定:
- 有的DBMS一个表对应一个操作系统文件
- 有的DBMS自己设计文件结构
但这些都与用户使用者无关,这也是关系型数据库的一个最大优点,有点类似于黑盒原理,用户只要使用而不必关系他的具体实现。
# 优缺点
# 优点
- 建立在严格的数学概念的基础上,从而我们可以使用数学的代数形式等方法方便的表示数据库中的数据
- 概念单一
- 实体和各类联系都用关系来表示
- 对数据的检索结果也是关系
- 关系模型的存取路径对用户透明(不可见)
- 具有更高的数据独立性,更好的安全保密性
- 简化了程序员的工作和数据库开发建立的工作
# 缺点
- 存取路径对用户透明导致查询效率往往不如非关系数据模型
- 为了提高性能,必须对用户的查询请求进行优化,增加了开发DBMS的难度