第二讲 数据库系统的结构抽象与演变
1. 数据库系统的标准结构
(1)数据库系统的分层抽象?
DBMS管理数据的三个层次
- 外部层次(External Level) = 用户层次(User Level)某一用户能够看到和处理的数据,全局数据中的某一部分
- 概念层次(Conceptual Level) = 逻辑层次(Logic Level)从全局角度理解/管理的数据,含相应的关联约束
- 内部层次(Internal Level) = 物理层次(Physical Level)存储在介质上的数据,含存储路径、存储方式、索引方式等
(2)数据 与 数据的结构——模式 - 模式(Schema):对数据库中数据所进行的一种结构性的描述、所观察到数据的结构信息。
- 视图(View)/数据(Data):某一种表现形式下表现出来的数据库中的数据
2. 数据模型
(1)模式 与 模式的结构:数据模型
- 数据模型
*规定模式统一描述方式的模型,包括:数据结构、操作和约束
*数据模型是对模式本身结构的抽象,模式是对数据本身结构形式的抽象
eg:关系模型:所有模式都可抽象为表的形式【数据结构】,而每一个具体的模式都是拥有不同列名的具体的表。对这种表形式的数据有哪些【操作】和【约束】 - 数据库系统的数据独立性是指不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序
3. 数据库系统的演变与发展 - 第一代数据库是指基于网状模型或层次模型的数据库系统
- 第二代数据库是指基于关系模型的数据库系统
- 关系数据库对层次/网状数据库系统的重大改进是:
A. 消除了由用户建立指针的弊端
B. 将逐一记录的操作改进为支持记录集合的操作
C. 数据检索操作不依赖于路径信息或过程信息,即非过程化的操作 - 面向对象数据库系统对关系数据库的重大改进是:
A. 允许复杂的数据类型存在
B. 突破了关系模型第一范式的限制
C. 既支持记录集合的操作,又支持面向对象的操作
*数据库系统与文件系统的主要差别在:
A. 数据的组织是否依赖于具体的应用程序
B. 数据存取是否可以记录的集合为单位进行操作
C. 不同文件之间以及不同记录之间是否有联系
第三讲 关系模型之基本概念
- 关系模型简述
(1)什么是关系模型
一个关系(relation)就是一个Table
关系模型就是处理Table的,它由三部分组成:
- 描述数据库各种数据的基本结构形式(Table/Relation)
- 描述Table与Table之间所可能发生的各种操作(关系运算)
- 描述这些操作所应遵循的约束条件(完整性约束)
(2)关系模型的三个要素 - 基本结构:Relation/Table
- 基本操作:
基本的:并、差、积、选择、投影
扩展的:交、连接、除 - 完整性约束:实体完整性、参照完整性和用户自定义的完整性
(3)关系模型与关系数据库语言的关系 - 关系运算:关系代数和关系演算;关系演算:元组演算和域演算
关系代数运算是基于集合的运算,即操作的对象及结果都是集合,是一次一集合的操作。而非关系型的数据操作通常都是一次一记录的操作。
- 基于关系代数设计的数据库语言(ISIBL):用计算机可识别的符号表征关系代数的运算符号
- 元组演算示例:基于逻辑的运算
- 基于元组演算设计的数据库语言(Ingre系统的QUEL):用计算机可识别的符号表征元组演算的运算符号
- 域演算示例:基于实例(域)的运算
- 基于域演算设计的数据库语言示例:(QBE:Query By Example)
- 以上思维可以概括为: