知识卡片
数据模型的三层抽象与结构化模型的表达能力权衡
内容
把现实数据存进数据库要经过三次递进抽象:概念模型(用E-R这类工具把现实世界 的实体和联系映射成人能理解的模型,不关心具体数据库产品)、逻辑模型(把概念 模型转换成某个具体数据库系统的数据模型,如关系模型)、物理模型(逻辑模型 在计算机内部的实际组织方式,如存取路径、索引)——前两次抽象由设计人员 完成,第三次通常交给数据库管理系统自动处理。在逻辑模型这一层,层次模型、 网状模型、关系模型代表了表达能力递增但复杂度也递增的谱系:层次模型用树形 结构表示数据,规定每个节点只能有一个父节点,结构简单直观但无法表示”一个 学生同时属于系和宿舍管理”这类多对多关联;网状模型放开了这个限制,允许一个 节点有多个父节点,能表示更复杂的关联,但代价是结构复杂、难以规范化;关系 模型改用表格加公共属性的方式表示实体和关联,建立在集合论基础上有严格的 数学基础,结构简单又能表达丰富语义,这正是它自1970年提出后长期成为主流 数据模型的原因——不是因为它功能最强,而是因为它在表达能力和结构简洁性 之间找到了最好的平衡点。半结构化数据(XML/RDF/图模型)则是为应对结构化 模型无法有效处理的格式化文本、超链接等数据而单独发展出的另一条分支,不 追求严格的模式约束,换取对不规则数据的灵活支持。
参考来源
- 位置:《数据库原理(微课版)》第1章《绪论》1.2.1-1.2.4节"数据模型的概念""
数据模型的分类""数据库的数据模型""非关系数据模型"(源文件:
_epub-src/index_split_001.html)
- 结论依据:原文说明数据的抽象过程是"概念模型→逻辑模型→物理模型"递进
完成的,并分别给出层次模型("有且只有一个无双亲的根节点")、网状模型
("允许有一个以上的节点无父节点,至少有一个节点有多于一个的父节点")、
关系模型("具有严格的数学基础,是建立在集合论上的一种数据模型")的
结构定义与优缺点,因此可以推出三种模型在表达能力与复杂度上依次递进
的结论。
- 原始内容:层次模型的主要特征是:有且只有一个无双亲的根节点……网状模型
的主要特征是:允许有一个以上的节点无父节点,至少有一个节点有多于一个
的父节点……关系模型的特点在于它具有严格的数学基础,是建立在集合论上
的一种数据模型。