数据库模型与语言-2-数据库系统的结构抽象与演变

1. 数据库系统的标准结构

(1)数据库系统的分层抽象?

DBMS管理数据的三个层次:

External Level = User Level

某一用户能够看到与处理的数据, 全局数据中的某一部分

Conceptual Level = Logic level

从全局角度理解/管理的数据, 含相应的关联约束

Internal Level = Physical level 存储在介质上的数据,含存储路径、存储方式 、索引方式等

(2)数据(视图)与模式?

数据 与 数据的结构–模式

模式(Schema)

  • 对数据库中数据所进行的一种结构性的描述
  • 所观察到数据的结构信息

例如:

学生登记表( 学号 char(8), 姓名 char(10), 性别 Char(2), 出生年月 datetime, 入学日 期 Datetime, 家庭住址 Char(40) )

视图(View)/数据(Data)

例如:

具体数据表格

  • 某一种表现形式下表现出来的数据库中的数据

(3)三级模式两层映像?

三级模式(三级视图) :

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 —-将概念模式映射为内模式,从而支持实现数据概念视图向内部视图的转换 —-便于计算机进行存储和处理

(4)数据库系统的标准结构?

(5)两个独立性?

  • 逻辑数据独立性 当概念模式变化时,可以不改变外部模式(只需改变E-C Mapping),从而无需 改变应用程序

  • 物理数据独立性 当内部模式变化时,可以不改变概念模式(只需改变C-I Mapping) ,从而不改 变外部模式

2. 数据模型

(1)数据模型的概念?

模式 与 模式的结构:数据模型

数据模型

  • 规定模式统一描述方式的模型,包括:数据结构、操作和约束
  • 数据模型是对模式本身结构的抽象,模式是对数据本身结构形式的抽象

比如:

关系模型:所有模式都可为抽象表(Table)的形式[数据结构],而每一个具体的 模式都是拥有不同列名的具体的表。对这种表形式的数据有哪些[操作]和[约束]

模式1:

学生登记表( 学号 char(8), 姓名 char(10), 性别 Char(2), 出生年月 datetime, 入学日期 Datetime, 家庭住址 Char(40) )

模式2:

学生成绩单( 学号 char(8), 姓名 char(10), 班级 Char(6), 课程 char(40), 学期 Char(4), 成绩 Number )

模式1和模式2都属于关系模型:

Table/Relation

Relation Calculation Constraints about Table

(2)三大经典数据模型?

  • 关系模型:表的形式组织数据
  • 层次模型:树的形式组织数据
  • 网状模型:图的形式组织数据

(3)关系模型?

关系模型 (表的形式)

(4)层次模型?

层次模型 (树的形式)

(5)网状模型?

网状模型 (图的形式)

3. 数据库系统的演变与发展?

(1)简要发展史

—- 简要发展史:四个阶段

第一阶段:数据库技术探索阶段(59-65/67)

  • 研制成功格式文件系统
  • 正式提出“Data Base”,并开始进行研究

第二阶段:数据库技术确立阶段(65/68-75)

  • 三大数据库:层次、网状及关系数据库相继提出并进行了深入研究
  • 商用数据库出现并应用,但多为网状及层次型系统
  • 数据库研究形成理论基础:关系数据库理论

第三阶段:数据库技术成熟阶段(76-80s前期)

  • 提出了标准化数据库系统结构模型
  • 关系DB系统迅速发展:如SQL, QBE, System R ,Ingres等
  • 关系理论日臻完善,包括规范化理论,关系语言,RDB的设计与实现,新型关系模型等;
  • 数据库应用已十分普及,渗透到社会各个方面,出现众多DB的技术分支,DB走向全面成熟,人称70年代为“数据库的年代”

第四阶段:数据库技术深化发展阶段(85年以来)

  • 数据库方法逐步理论化、数据库设计理论不断完善
  • 新型数据模型、专用数据模型, 专用型、新型数据库系统,不断涌现
  • 数据库技术+其他计算机技术结合 == 面向各行各业的专用数据库

(2)由文件系统到数据库

重要发展:由文件系统到数据库

文件系统

*文件存储空间的管理、目录管理、文件读写管理、文件保护、向用户提供操作接口

  • 提供了不同的存取方法(索引文件、链接文件、直 接存取文件、倒排文件等), 支持对文件的基本操作 (增、删、改、查等), 数据存取基本上以记录为单位

  • (优点)用户(程序)不必考虑文件存储的物理细节, 解脱了对物理设备存取 复杂性处理的负担

  • (不足)数据与程序紧密结合,数据的组织及语义紧密依赖于处理该文件的 应用程序,数据结构发生改变则必须修改应用程序,文件之间无联系,文件 的记录之间无联系,共享性差,冗余度大,不一致性高

数据库系统

  • 由DBMS统一存取、维护数据组织形式及语义, 可较强地独立于应用程序(数据的物理独立性和逻 辑独立性) * 把数据及数据结构的定义和描述从应用程序中分 离出去,交给DBMS, 使得多个应用程序可共享数 据及数据结构的操作, 数据存取可以记录为单位, 也可以以数据项和记录集合为单位
  • 统一的数据控制功能,数据共享程度高: 系统可 自动检查安全性、完整性和并发正确性
  • 整体数据结构化,文件(Table)之间、记录之间 相互有关联,数据的冗余度小,易扩充
  • 独立于应用程序的高效率查询/统计操作

(3)由层次模型数据库、网状模型数据库到关系数据库

重要发展:由层次模型数据库、网状模型数据库到关系数据库

层次模型与网状模型数据库

  • 数据之间的关联关系由复杂的指针系统来维系,结构描述复杂
  • 数据检索操作依赖于由指针系统指示的路径
  • 逐一记录的操作,不能有效支持记录集合的操作

关系模型数据库

  • 数据之间的关联关系由Table中属性的值来表征,结构描述简单: Table/relation
  • 数据检索操作不依赖于路径信息或过程信息,支持非过程化的数据操作
  • 有效支持记录集合的操作
  • 较为完善的理论基础

(4)由关系数据库到对象关系数据库、面向对象数据库

重要发展:由关系数据库到对象关系数据库、面向对象数据库

关系数据库 :

  • 按行按列形式组织数据:关系的第1范式
  • 数据项的不可再分特性
  • 关系运算: 关系代数、元组演算、域演算–标准SQL
  • 关系数据库设计理论

对象-关系数据库:

  • 可有效支持不满足关系第1范式的数据项
  • 以对象来封装需分解的数据项
  • 行对象与列对象;聚集对象与结构对象

面向对象数据库 :

  • 面向对象技术(O-O)与集合/聚集操作技术(SQL)的结合
  • 支持复杂的数据类型,数据封装与抽象数据结构
  • 支持面向对象的一些特性:类、继承、封装、多态…

XML数据库:

  • 是数据库的另一种形式, 被称为半结构化数据库;
  • 数据 与 数据的语义 合并在一起进行存储和处理;
  • 面向数据交换而提出, 在互联网世界得到广泛应用.

(5)由多种多样的数据库到多数据库开放式互连

重要发展:由多种多样的数据库到多数据库开放式互连

多种多样的数据库

  • Oracle
  • Sybase
  • Ingres
  • DB 2
  • MS Access
  • Informix
  • ……

开放互连多种多样的数据库:

  • ODBC
  • JDBC

(6)由普通数据库到与各种先进技术结合所形成的新型数据库

重要发展:由普通数据库到与各种先进技术结合所形成的新型数据库

新型数据库:

  • OA:DB + Management Information System
  • Database Machine :DB + Computer Architecture
  • Intelligent Database :DB + Artificial Intelligence
  • Distributed Database(DDB) : DB + Computer Network。
  • Image Database / Multimedia Database :DB + Image processing / Multimedia processing。
  • Temporal Database :DB + 时态技术处理。
  • Mobile Database : DB + 移动计算技术。
  • Active Database : DB + 产生式规则/触发器技术。
  • Fuzzy Database : DB + 模糊处理技术。
  • Real-Time Database : DB + 实时处理技术。
  • Engineering Database : DB + CAD/CAPP/CAM技术。
  • Geographical Databas和空间数据库(Spacial Database) : DB + 数字地图、全球定位、空间分析技术。
  • Statistical Database : DB + 统计学。
  • Internet Database : DB + Internet/WWW(网页/HTML文档)。
  • Data Warehouse/Data Mining : DB + OLAP + 统计学。
  • NoSQL

参考资料:

哈尔滨工业大学 战德臣

药企,独角兽,苏州。团队长期招人,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn