层次模型(Hierarchical model)
层次模型(是最早出现的数据模型,IBM公司IMS)
- 层次模型用树状结构来表示各类实体以及实体间的联系
- 层次模型只能表示1:n联系,不能表示m:n
- 层次模型中的术语: 根节点,双亲节点,兄弟结点,叶结点
层次模型两个基本条件 - 有且只有一个结点没有双亲节点,这个结点为根节点
-
根以外的其它结点有且只有一个双亲结点
1-1(1).png
网状模型 (Network model)
- 网状数据库系统采用网状模型作为数据的组织方式
- 典型系统
Honeywell公司的IDS/2
HP公司的MAGE - 网状模型基本判定条件
- 允许一个以上的结点无双亲
-
一个结点可以有多个双亲
1-2.png
关系模型 (Relational model)
关系模型
- 关系数据库系统采用关系模型作为数据的组织方式,以关系代数为数据基础,数据用二维表表示。大多数数据库均为关系数据模型
- 关系模型和层次、网状模型的最大差别是用关键码而不是指针导航数据,结构简单,表达信息灵活
- 1970年每个IBM公司San Jose研究室研究员E.F。Codd首次提出了数据库系统的关系模型,其于1981年获得图灵奖
1-4.png
关系模型的基本概念
关系
关系(Relation): 一个关系对应一张表
原组(Tuple): 表中一行即为一个元组
属性(Attribute):表中的一列即为一个属性
主码(Key): 唯一确定一个元组的属性集合
域(Domain): 属性的取值范围
分量: 元组中的一个属性
-
关系模式:对关系的描述
基本形式 : 关系名(属性1,属性2 ... 属性n)
示例 : 学生(学号,姓名,年龄,性别,系,年级)
1-41.png -
外部关键字: 表中的一个字段不是本表的关键字,而是另一个表的关键字或候选关键字
1-42.png
关系术语 | 一般表格术语 |
---|---|
关系名 | 表名 |
关系模式 | 表头 |
关系 | (一张)二维表 |
元组 | 记录或行 |
属性 | 列 |
属性名 | 列名 |
属性值 | 列值 |
分量 | 一条记录中的一个列值 |
非规范关系 | 表中有表(大表嵌套小表) |
关系的规范化理论
- 属性的原子性,即属性是不可再分,表中不再含表
- 同一关系中属性唯一性
- 关系中元组唯一性
- 关系中元组的有限性
- 关系中元组次序无关紧要
- 关系中属性次序无关紧要
面向对象模型(Object oriented model)
1-44.png
面向对象数据模型
面向对象数据模型(Object Oriented Model)是随着面向对象程序设计的出现,为了在数据库中有效的存储面向对象的相关概念而发展的
面向对象数据的模型基本概念
- 对象和对象标识(OID)
- 类(class)
- 封装(encapsulate)
- 继承(inherit)
总结
- 常见的逻辑模型
- 层次模型
- 网状模型
- 关系模型
- 面向对象模型
- 关系数据模型的基本概念
关系(Relation)
元组 (Tuple)
属性 (Attribute)
主码 (Key)
域 (Domain)
分量
关系模式
外部关键字 - 关系的规范化理论:属性的原子性,属性唯一值,元组唯一值,元组有限性,元组次序无关紧要,属性次序无关紧要
面向对象数据模型基本概念:
对象和对象标识
类
封装
继承