引言
数据模型是建立数据库的框架。按照这个框架,把很多的数据可以很有序地组织起来,这样才能构建数据库。
转换过程
现实世界–>概念模型–>逻辑模型–>物理模型
概念模型,大概就是类似于高度抽象化编程我们会建立的模型,这个模型机器是看不懂的,但是人要能很好地理解,也就是要有较强的语义表达能力,并且简单清晰。是按照用户观点的。
逻辑模型,言简意赅地说,是按照计算机观点的,用于DBMS实现。
物理模型,位于底层,是描述数据在==系统磁盘(硬件)==上的存储方法。
数据模型的组成要素
这一部分很关键,后面当我们要建立一个数据模型,就要考虑如何设计这三个要素。
-
数据结构——描述系统静态特性,之前已经上过数据结构课,这里不再赘述。
-
数据操作——描述系统动态特性,增删改查。
-
完整性约束,不是所有的数据都是合法的,法则要用户来制定,一般有通用约束条件和用户自定义的约束条件。
常用数据模型(逻辑模型)
- 层次模型 :树的数据结构(只能处理一对多的实体联系);完整性约束:没有双亲就不能创建子女节点,删除双亲就必须一起删除子女节点。优点:结构清晰,查询效率高;缺点:不能多对多,插入删除困难,查询子节点必须从头查起。
- 网状模型:类似图的数据结构。一个节点可以有一个或多个或没有双亲节点。两个节点之间可以有多重联系,联系要命名。多对多可以拆分成多个一对多的联系。完整性约束不严格。优点:效率高,直接描述;缺点:结构复杂,程序员负担大。
- 关系模型(重点):类似关系表的数据结构。数据操纵都是集合操作(即操作一个关系,得到一个关系,这里的关系就是离散数学里的那个关系,离散课都上完了,不再赘述。)存储路径对用户隐蔽(不像网状模型)。优点:有完整的数学模型,安全保密;缺点:效率不高。
(以上三个模型数据操作省略没写,大概就是增删改查吧。)
总结
- 什么是概念模型?用于信息世界建模,设计数据库的模型。
- 数据模型的三个组成要素?数据结构,数据操作,完整性约束。
- 关系模型的概念。