数据库系统(2)-数据库系统的结构抽象与演变
- 三级模式与两层映像
- 物理独立性和逻辑独立性
- 数据-> 模式 -> 数据模型
- 网状/层次模型 -> 关系模型 -> OO 数据模型
数据库系统的标准结构
DBMS 管理数据的三个层次
- External Level = User Level
- 某一用户能够看到与处理的数据,全局数据的一部分
- Conceptual Level = Logic Level
- 从全局角度理解/管理的数据,含相应的关联约束
- Internal Level = Physical Level
- 存储在介质上的数据,含存储路径、存储方式、索引方式等
模式(Schema)
对数据库中数据所进行的一种结构性的描述所观察到数据的结构信息
视图(View)/数据(Data)
某一表现形式下表现出来的数据库中的数据
模式:数据的结构
视图:展现的数据
模式是对数据的抽象
三级模式(三级视图)
ExternalSchema — (External) View
某一用户能够看到与处理的数据的结构描述
(Conceptual) Schema — Conceptual View
从全局角度理解/管理的数据的结构描述,含相应的关联约束,体现在数据之间的内在本质联系
Internal Schema — Internal View
存储在介质上的数据的结构描述,含存储路径、存储方式、索引方式
说到View一般默认外部试图,Schema 默认概念模式
两层映像
映像:将一种模式映射为另一种结构,中间映射的过程称为映像
E-C Mapping:External Schema-Conceptual Schema Mapping
将外模式映射为概念模式,从而实现数据概念视图向外部视图的转换
便于用户观察和使用
C-I Mapping:Conceptual Schema-Internal Schema Mapping
将概念模式映射为内模式,从而支持数据概念视图向内部视图的转换
便于计算机进行存储和处理
两个独立性
逻辑数据独立性
当概念模式变化时,可以不改变外部模式,只需改变E-C Mapping,从而无需改变应用程序
物理数据独立性
当内部模式变化时,可以不改变概念模式,只需改变C-I Mapping,从而不改变外部模式
数据模型
数据模型
- 规定模式统一描述方式的模型,包括:数据结构、操作和约束
- 数据模型是对模式本身结构的抽象,模式是对数据本身结构形式的抽象
关系模型:所有模式都可为抽象表(Table)的形式[数据结构],而每一个具体的模式都是拥有不同列名的具体的表。对这种表形式的数据有哪些[操作]和[约束]
三大经典数据模型
- 关系模型:表 的形式组织数据
- 层次模型:树 的形式组织数据
- 网状模型:图 的形式组织数据
数据库系统的演变与发展
简要发展史
从文件系统到数据库
- 文件系统
- 优点:用户不必考虑文件存储的物理细节,解脱了对物理设备存取复杂性处理的负担
- 缺点:数据与程序紧密结合,数据的组织及语义紧密依赖于处理该文件的应用程序,数据结构发生改变则必须修改应用程序,文件之间无联系,文件的记录之间无连续,共享性差,冗余度大,不一致性高
- 数据库系统
- 独立于应用程序
- 以数据项和记录集合为单位
- 共享程度高,可以自动检车安全性、完整性和并发正确性
- 冗余度小,易扩充
由层次模型数据库、网状模型数据库到关系数据库
-
层次模型数据库、网状模型数据库
- 数据之间的关联关系由复杂的指针系统来维护,结构描述复杂
- 数据检索操作依赖于由指针系统指示的路径
- 逐一记录的操作,不能有效支持记录集合的操作
-
关系模型数据库
- 数据之间的关联关系由Table中的属性值来表征,结构描述简单:Table/relation
- 数据检索操作不依赖于路径信息或过程细心,支持非过程化的数据操作
- 有效支持记录集合的操作
- 较为完善的理论基础
消除了指针
由关系数据库到对象关系数据库、面向对象数据库
-
关系数据库
- 按行按列形式组织数据:关系的第一范式(数据不可再分)
- 数据项的不可再分特性
- 关系运算:关系代数、元组演算、域演算->标准SQL
- 关系数据库设计理论
-
对象-关系数据库
- 可有效支持不满足关系第一范式的数据项
- 以对象来封装需分解的数据项
- 行对象与列对象;聚集对象与结构对象
-
面向对象数据库
- 面向对象技术(O-O)与集合/聚集操作技术(SQL)的结合
- 支持复杂的数据类型,数据封装与抽象数据结构
- 支持面向对象的一些特性:类、集成、封装、多态等
-
XML数据库
- 是数据库的另一种形式,被称为半结构化数据库
- 数据与数据的语义合并在一起进行存储和处理
- 面向数据交换而提出,在互联网世界得到广泛应用
由多种多样的数据库到多数据库开放式互连
- 多种多样的数据库
- Oracle
- Sybase
- Ingres
- DB 2
- MS Access
- Informix
- …
ODBC: Open DataBase Connection
由普通数据库到与各种先进技术结合所形成的新型数据库
-
三级模式
- 外模式(子模式、局部模式)
- 概念模式(全局模式、逻辑模式)
- 内模式(存储模式、物理模式)
-
两层映像
- E-C Mapping
- C-I Mapping
实现了:逻辑独立性和物理独立性
- 数据模型
- 网状模型
- 层次模型
- 关系模型