基本内容
- 数据库系统的标准结构
- 数据模型
- 数据库系统的演变与发展
重难点
- 一组概念的区分:三级模式两层映像,物理独立性和逻辑独立性。
- 一组概念的区分:数据、模式、数据模型。
- 几种数据模型的差异:网状/层次模型-》关系模型-》OO数据模型。
数据库系统是分层抽象的。
典型数据库系统的结构抽象:
DBMS对数据分三个层次来管理
External Level = User Level 某一用户能够看到与处理的数据, 全局数据中的某一部分。
Conceptual Level = Logic level 从全局角度理解/管理的数据, 含相应的关联约束。
Internal Level = Physical level 存储在介质上的数据,含存储路径、存储方式 、索引方式等。
数据 与 数据的结构--模式
模式(Schema):对数据库中数据所进行的一种结构性的描述 所观察到数据的结构信息。例如:
学生登记表( 学号 char(8), 姓名 char(10),性别 Char(2), 出生年月 datetime, 入学日期 Datetime, 家庭住址 Char(40) )
视图(View):某一种表现形式下表现出来的数据库中的数据。例如:
三级模式两层映像
三级模式(三级视图)
External Schema ---- (External) View 某一用户能够看到与处理的数据的结构描述。
(Conceptual) Schema ---- Conceptual View 从全局角度理解/管理的数据的结构描述, 含相应的关联约束 体现在数据之间的内在本质联系。
Internal Schema ---- Internal View 存储在介质上的数据的结构描述,含存储路径、存储方式 、索引方式等。
两层映像
E-C Mapping:External Schema-Conceptual Schema Mapping (将外模式映射为概念模式)
实现数据从概念视图向外部视图的转换,便于用户观察和使用。
C-I Mapping:Conceptual Schema-Internal Schema Mapping(将概念模式映射为内模式)
实现数据概念视图向内部视图的转换,便于计算机进行存储和处理。
两个独立性
逻辑数据独立性 当概念模式变化时,可以不改变外部模式(只需改变E-C Mapping),从而无需 改变应用程序 。
物理数据独立性 当内部模式变化时,可以不改变概念模式(只需改变C-I Mapping) ,从而不改 变外部模式。
数据模型的概念:规定模式统一描述方式的模型,包括:数据结构、操作和约束。
比如:关系模型:所有模式都可为抽象表(Table)的形式[数据结构],而每一个具体的模式都是拥有不同列名的具体的表。对这种表形式的数据有哪些[操作]和[约束]。
数据模型vs.模式vs.数据?
数据模型是对模式本身结构的抽象,模式是对数据本身结构形式的抽象。
三大经典数据模型
关系模型:表的形式组织数据
层次模型:树的形式组织数据
网状模型:图的形式组织数据
关系模型的例子:
层次模型的例子:
网状模型的例子:
数据库系统的演变与发展
---- 简要发展史:四个阶段
第一阶段:数据库技术探索阶段(59-65/67)
研制成功格式文件系统
正式提出 “Data Base ”,并开始进行研究
第二阶段:数据库技术确立阶段(65/68-75)
三大数据库:层次、网状及关系数据库相继提出并进行了深入研究
商用数据库出现并应用,但多为网状及层次型系统
第三阶段:数据库技术成熟阶段(76-80s前期 )
提出了标准化数据库系统结构模型
关系DB系统迅速发展:如SQL, QBE, System R ,Ingres 等
关系理论日臻完善,包括规范化理论,关系语言,RDB的设计与实 现,新型关系模型等;
数据库应用已十分普及,渗透到社会各个方面,出现众多DB的技术分 支,DB走向全面成熟,人称70年代为 “数据库的年代 ”
第四阶段:数据库技术深化发展阶段(85年以来 )
数据库方法逐步理论化、数据库设计理论不断完善
新型数据模型、专用数据模型, 专用型、新型数据库系统,不断涌现
数据库技术 +其他计算机技术结合 == 面向各行各业的专用数据库
从文件系统到数据库
文件系统
文件存储空间的管理、目录管理、文件读写管 理、文件保护、向用户提供操作接口
提供了不同的存取方法 (索引文件、链接文件、直 接存取文件、倒排文件等), 支持对文件的基本操作 (增、删、改、查等), 数据存取基本上以记录为单位
优点:用户 (程序 )不必考虑文件存储的物理细节, 解脱了对物理设备存取 复杂性处理的负担
不足:数据与程序紧密结合,数据的组织及语义紧密依赖于处理该文件的 应用程序,数据结构发生改变则必须修改应用程序,文件之间无联系,文件 的记录之间无联系,共享性差,冗余度大,不一致性高
数据库系统
由DBMS统一存取、维护数据组织形式及语义, 可较强地独立于应用程序 (数据的物理独立性和逻 辑独立性 )
把数据及数据结构的定义和描述从应用程序中分 离出去,交给DBMS, 使得多个应用程序可共享数 据及数据结构的操作, 数据存取可以记录为单位, 也可以以数据项 和记录集合为单位
统一的数据控制功能,数据共享程度高: 系统可 自动检查安全性、完整性和并发正确性
整体数据结构化,文件(Table)之间、记录之间 相互有关联,数据的冗余度小,易扩充
独立于应用程序的高效率查询 /统计操作
重要发展:由层次模型数据库、网状模型数据库到关系数据库
层次模型与网状模型数据库
数据之间的关联关系由复杂的指针系统来维系,结构描述复杂
数据检索操作依赖于由指针系统指示的路径 逐一记录的操作,不能有效支持记录集合的操作
关系模型数据库
数据之间的关联关系由Table中属性的值来表征,结构描述简单: Table/relation 数据检索操作不依赖于路径信息或过程信息,支持非过程化的数据操作 有效支持记录集合的操作 较为完善的理论基础
重要发展:由关系数据库到对象关系数据库、面向对象数据库
关系数据库
按行按列形式组织数据:关系的第 1范式
数据项的不可再分特性
关系运算: 关系代数、元组演算、域演算--
标准SQL
关系数据库设计理论
对象-关系数据库
可有效支持不满足关系第 1范式的数据项
以对象来封装需分解的数据项
行对象与列对象;聚集对象与结构对象
面向对象数据库
面向对象技术(O-O)与集合 /聚集操作技术(SQL)的结合
支持复杂的数据类型,数据封装与抽象数据结构
支持面向对象的一些特性:类、继承、封装、多态 …