数据库基础知识2:DBMS的标准结构/数据模型与数据模式/数据库的发展

DBMS的三个层次:

  • 外部层次External Lever=用户层次User Lever:某一用户能够看到与处理的数据,全局数据的映射,全局数据的某一个部分
  • 全局层次=概念层次Conceptual Lever=逻辑层次Logic Lever:从全局角度理解/管理的数据,含相应的关联约束
  • 内部层次Internal Lever=物理层次Physical Lever:存储在介质上的数据,含存储路径、存储方式、索引方式等

数据与模式(Schema):

模式是对数据库中数据进行结构性的描述 所观察到的数据的结构信息

视图是某一种表现形式下表现出来的数据库中的数据

三级模式(三级视图):

External Schema —— (External) View

某一用户能看到与处理的数据的结构描述

(Conceptual) Schema —— Conceptual View

从全局角度理解、管理的数据的结构描述。含相应的关联约束,体现在数据之间的内在本质联系

Internal Schema —— Internal View

存储在介质上的数据的结构描述,含存储路径、存储方式、索引方式

两层映像:

E-C Mapping:将外模式映射为概念模式,从而支持实现概念视图向外部视图的转换

便于用户的观察和使用

C-I Mapping:将概念模式映射为内部模式,从而支持实现概念视图向外部视图的转换

便于计算机进行存储和处理

三层模式、两层映像是数据库管理系统的标准结构

DBMS实际上就是让用户去定义三层模式,自身自动去生成两层映像

应用程序是基于外部视图进行开发的(根据概念视图可生成不同的外部视图)

为什么要按照标准结构进行数据库系统的抽象呢?

要谈到两个独立性:

  • 逻辑数据独立性:当概念模式发生变化的时,可以不改变外部模式(只需要改变E-C Mapping)
  • 物理数据独立性:当内部模式发生变化时,可以不改变概念模式(只需要改变C-I Mapping)

两个独立性最大限度的避免了应用程序的不断更改


数据模式与数据模型:

数据模型:规定模式统一描述方式的模型,包括数据结构、操作和约束

数据模式是对数据结构形式的抽象,数据模型就是对数据模式本身结构的抽象

数据的结构的结构就是数据模型

如:模式1:学生登记表(学号 char(8),姓名 char(10),性别 char(2),出生年月datetime, 入学时间 datetime,家庭住址char(40));

模式2:学生成绩单(学号 char(8),姓名char(10),班级 char(6),课程 char(40),学期 char(4),成绩 numberi)

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


三大经典数据模型:

  • 关系模型:

    关系模型的数据:学生登记信息 表格+数据

    关系模型的数据模式:学生登记表(学号 char(8),姓名 char(10),性别 char(2),出生年月datetime, 入学时间 datetime,家庭住址char(40))

    关系模型:表格的形式

  • 层次模型:基于树的结构

    树的形式:实体型和系型 即记录和两条记录之间的联系(由指针建立的)

    层次模型的数据模式:由数据抽象出来的不同的具体实体型和他们之间不同的具体联系(系型)的描述

  • 网状模型:基于图的结构

    图的形式:实体型和系型

    网状模型的数据模式:由数据抽象出来的不同的具体实体型和他们之间不同的具体联系(系型)的描述


层次模型和网状模型数据库是第一代数据库,关系数据库是第二代数据库

层次模型和网状模型数据库:

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

关系数据库:

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

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

  • 按行按列形式组织数据:关系(数据项)不可再分(关系的第1范式)[关系数据库不允许复合属性、多值属性的出现]
  • 关系运算:关系代数、元组演算、域演算
  • 关系数据库的设计理论

复合属性:在一个数据项(属性)内部又可以分出两项(两者可并存)

多值属性:在一行记录中某个属性有多个值

对象-关系数据库:

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

面向对象数据库:

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

XML数据库:

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

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

ODBC JDBC

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.1.3 数据库技术的发展 在数据管理技术进入到数据库管理阶段后,先后出现过多种数据库技术。根据这些数据库...
    纤指弄阅读 996评论 0 1
  • 修改字段长度: 向某个数据库表中的添加字段: 查看数据库中表的数量: 修改数据库表中的备注信息: 修改数据库表名的...
    蜗牛ICU阅读 131评论 0 0
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,579评论 16 22
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,617评论 0 11
  • 可爱进取,孤独成精。努力飞翔,天堂翱翔。战争美好,孤独进取。胆大飞翔,成就辉煌。努力进取,遥望,和谐家园。可爱游走...
    赵原野阅读 2,787评论 1 1