数据模型¶
数据模型的概念¶
数据模型(Data Model)是对现实世界中数据特征及数据之间联系的抽象
-
是实现数据抽象的主要工具,也数据库系统中用于信息表示和提供操作手段的形式化工具。
-
是数据库系统的核心和基础
-
数据模型需要满足三个要求:
-
能比较真实地模拟现实世界
-
容易为人所理解
-
便于在计算机上实现
-
数据处理三层抽象描述¶
在数据库系统中针对不同的使用对象和应用目的,通常采用逐步抽象的方法,在不同层次采用不同的数据模型。
三层抽象一般分为概念层、逻辑层、物理层。
概念层¶
数据抽象级别的最高层,其目的是按用户的观点来对现实世界建模。
-
概念层的数据模型称为概念数据模型,简称概念模型。
-
概念模型独立于任何DBMS,但容易向DBMS所支持的逻辑模型转换。
-
常用的概念模型有实体--联系模型(Entity-Relationship Model,简称E-R模型)。
逻辑层¶
逻辑层的数据抽象称为逻辑数据模型,简称逻辑模型。
-
是用户通过DBMS看到的现实世界
-
是基于计算机系统的观点来对数据进行建模和表示。
-
常见的数据模型有:层次模型(Hierarchical Model)、网状模型(Network Model)、关系模型(Relation Model)和面向对象模型(Object Oriented Model)。
物理层¶
物理层是数据抽象的最底层,用来描述数据物理存储结构和存储方法。
-
这一层的数据抽象称为物理数据模型,它不但由DBMS的设计决定,而且与操作系统、计算机硬件密切相关。
-
物理数据结构一般都向用户屏蔽,用户不必了解其细节。
-
常见的物理数据模型有:位图模型(Bit Map Model)、记录模型(Record Model)和文件模型(File Model)。
数据模型的要素¶
数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特征、动态特征和完整性约束条件,通常由数据结构、数据操作和完整性约束三部分组成。
数据结构¶
描述数据库的组成对象,以及对象之间的联系。
-
描述的内容:
-
与数据类型、内容、性质有关的对象
-
与数据之间联系有关的对象
-
-
数据结构是对系统静态特性的描述
数据操作¶
对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则。
-
类型: 检索和更新(包括插入、删除、修改)
-
对操作的定义: 这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言
-
数据操作是对系统动态特性的描述
完整性约束¶
定义¶
-
是一组完整性规则
完整性规则主要描述数据结构中的数据之间的语义联系、数据之间的制约和依存关系,以及数据动态变化规则。数据约束主要用于保证数据的完整性、有效性和相容性。
-
数据模型对完整性约束条件的定义
数据模型应该反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。
数据模型与数据模式的区别¶
-
数据模型是描述现实世界数据的手段和工具(程序设计语言)
-
数据模式是利用这个手段和工具对相互间的关系所进行的描述,是关于型的描述(一段程序),与DBMS和OS硬件无关
Tip
数据模型和数据模式都分了三个层次,其对应关系如下:
-
概念模式:是用逻辑数据模型对一个单位的数据的描述
-
外模式:外模式也称子模式或用户模式,是与应用程序对应的数据库视图,是数据库的一个子集,是用逻辑模型对用户所用到的那部分数据的描述
-
内模式:是数据物理结构和存储方式的描述,是数据的数据库内部表示方式。内模式也称存储模式