SQL 数据模型
数据模型是数据库系统的核心和基础,了解数据模型的基本概念是学习数据库的基础。
一、什么是数据模型
数据模型是对现实世界数据特征的抽象,用来描述数据结构、数据关系、数据语义和数据约束。数据模型是对现实事务的抽象化和数字化。
二、两类数据模型
数据模型可以被分为两大类,它们分属于不同的层次。第一类是概念模型,第二类是逻辑模型和物理模型。
1.概念模型
又称信息模型,是按用户观点来对数据和信息建模,主要用于数据库设计。
2.逻辑模型
是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现。
3.物理模型
是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法。
三、概念模型
1.信息世界中的基本概念
实体:客观存在并可相互区别的事物
属性:实体所具有的某项特征
码 (key):唯一标识实体的属性集
实体型:用实体名及其属性名集合来抽象和刻画同类实体,称为实体性
学生(学号,姓名,性别,出生年月,所在院系,入学时间)
这就是一个实体型
实体集:同一类型的实体的集合
全体学生
联系:分为实体内部的联系和实体之间的联系
2.实体-联系表示方法
是概念模型的一种表示方法,又称为 E-R 方法,将在后续章节中详细讲解。
四、数据模型的组成要素
数据模型是严格定义的一组概念的集合,精确描述了系统的静态特征、动态特征和完整性约束条件。数据模型通常由数据结构、数据操作和数据的完整性约束条件组成。
1.数据结构
数据结构描述数据库的组成对象以及对象之间的联系。是系统静态特性的描述。
2.数据操作
数据操作是指对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则。是系统动态特性的描述。
3.完整性约束条件
是一组完整性规则,用于限定符合数据模型的数据库状态和状态的变化,保证数据的正确、有效和相容。
五、常用的逻辑数据模型
- 层次模型
- 网状模型
- 关系模型
- 面向对象数据模型
- 对象关系数据模型
- 半结构化数据模型
六、层次模型
1.数据结构
树状,有且只有一个结点没有父结点(此结点为根结点),其它结点都有且只有一个父结点。
2.数据操控和完整性约束
数据操控:
增、删、改、查
完整性约束:
与树类似,插入时,需要插入到树中,而不能孤立;删除时,若删除父节点,则对应子节点也会同时删除。
3.优缺点
优点:
- 数据结构比较简单清晰
- 查询效率高
- 提供了很好的完整度支持
缺点:
- 可能不适用于现实中的非树状关系
七、网状模型
1.数据结构
网状,允许结点没有父节点,允许结点拥有多个父节点。
2.数据操控和完整性约束
数据操控:
增、删、改、查
完整性约束:
网状模型一般没有层次模型那样严格的完整性约束条件,但具体的网状数据库系统对数据操控都加了一些限制,提供了一些完整性约束。
3.优缺点
优点:
- 能够更为直接地描述现实世界
- 具有良好的性能,存取效率高
缺点:
- 结构比较复杂
八、关系模型
1.数据结构
(1) 关系模型中的一些术语
关系:一个关系对应通常说的一张表
元组:表中的一行
属性:表中的一列
码:表中的某一个属性组,它可以唯一确定一个元组(区分每一行)
域:一组具有相同数据类型的值的集合,属性的取值范围来自某个域。
分量:元组中的一个属性值
关系模式:对关系的描述,一般表示为
关系名(属性1, 属性2,···, 属性n)
例如:
学生(学号, 姓名, 年龄, 性别)
(2) 规范化
关系模型要求关系必须是规范化的,关系的每一个分量必须是一个不可分的数据项。
2.数据操控和完整性约束
数据操控:
增、删、改、查
完整性约束:
实体完整性、参照完整性、用户定义的完整性
3.优缺点
优点:
- 建立在严格的数学概念的基础上
- 将所有事物都用关系表示,数据结构简单、清晰、用户易懂易用
缺点:
- 由于存取路径对用户隐蔽,查询效率往往更低。
参考
- 数据库系统概论