一、是什么
数据模型是客观事物及其联系的数据描述,它应具有描述数据和数据联系两方面的功能。
二、三要素
- 数据结构:
包括应用所涉及的对象、对象具有的特征和对象间的联系。是对数据库静态特征的描述。 - 数据操作:
一组对数据结构的任何实例执行的操作集合, 如增删查改,是对数据的动态特性的描述。 - 数据约束:
是对数据静态特征和动态特性的限定,定义了相容的数据库状态的集合及可允许的状态变化。如一个学生不能拥有两个学号。
三、分类
按不同的应用层次分成三种类型,分别是概念数据模型、逻辑数据模型、物理数据模型。
1. 概念数据模型
是面向数据库用户的实现世界的模型。最常用的是E-R模型、 扩充的E-R模型、面向对象模型及谓词模型等。
2. 逻辑数据模型
是用户从数据库所看到的模型,是具体的DBMS所支持的数据模型,主要有层次数据模型、网状数据模型和关系数据模型等。
2.1 层次数据模型
- 一棵“有向树”
- 特征
a.有且仅有一个根节点
b.除了根节点,其他节点有且仅有一个父节点 - 优缺点
a.优点:简单清晰;可以提供良好的数据完整性支持
b.缺点:不能直接表示两个以上实体间的复杂联系和实体间多对多联系;对数据插入删除的操作限制太多;查询孩子节点必须通过双亲节点
2.2 网状数据模型
- 网状结构
- 特征
相比于层次模型父节点个数只能为1,节点的父节点个数可以为0,也可以大于1 - 优缺点
a.优点:可以表示实体间多种复杂联系;有良好性能和存储效率
b.缺点:数据结构复杂,因而DDL语音也复杂;数据独立性差
2.3 关系数据模型
- “关系框架”组成的集合
- 特征
用二维表格表示实体和实体之间联系 - 优缺点
a.优点:较强数学理论依据;简单清晰;存取路径对用户透明
b.缺点:查询效率较差;必须是规范化的关系
3. 物理数据模型
面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。