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.优缺点

优点:

  • 建立在严格的数学概念的基础上
  • 将所有事物都用关系表示,数据结构简单、清晰、用户易懂易用

缺点:

  • 由于存取路径对用户隐蔽,查询效率往往更低。

参考

  • 数据库系统概论