工大数据库系统(二)

本文详细解读了数据库系统的分层抽象,包括三层模式(外部视图、概念视图、内模式)及两层映像,重点阐述了逻辑数据独立性和物理数据独立性。同时介绍了数据模型的概念,如关系、层次和网状模型,并追踪了数据库系统的发展历程。
摘要由CSDN通过智能技术生成

在这里插入图片描述

一、数据库系统的标准结构

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

DBMS管理数据的三个层次

  • External Level = User Level
    某一用户能够看到与处理的数据,全局数据的一部分(全局数据中的某个映射)
  • Conceptual Level = Logic level
    全局角度理解/管理的数据,含相应的关联约束
  • Internal Level = Physical level
    存储在介质上的数据,含存储路径,存储方式,索引方式等
    在这里插入图片描述
(二)数据(视图)与模式

数据与数据的结构——模式

  • 模式(Schema)
    对数据库中数据所进行的一种结构性的描述;所观察到数据的结构信息
  • 视图(view)/数据(Data)
    某一种表现形式表现出来的数据库中的数据

在这里插入图片描述模式是对视图和数据的抽象,视图和数据是对模式的一种实例化表示。(模式下的一种数据)

(三)三级模式(三级视图)两层映像
  • External Schema —— (External) View
    某用户能够看到与处理的数据的结构描述
  • Conceptual Schema —— Conceptual View
    从全局角度理解/管理的数据的结构描述,含相应的关联约束体现在数据之间的内在本质联系。
  • Internal Schema —— Internal View
    存储在介质上的数据的结构描述,含存储路径、存储方式、索引方式等
    【从结构的角度来考虑叫做模式,从存储的数据的角度来考虑叫做视图】

如果简单的说模式Schema的话是Conceptual全局模式,如果简单的说视图View的话,指的是外部视图External(因为最终展现给用户的是外部视图)
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
对于Internal View的结构化描述,在Internal View外部框起来的叫做其Internal Schema(也称为存储模式、存储结构)

上面黑色的是用户对应用程序的开发。
当开发应用程序的时候不是依据Conceptual View来开发的,而是根据External View来开发的。
原因:两个独立性

(五)两个独立性

【相当于封装】

  1. 逻辑数据独立性
    当概念模型变化时,可以不改变外部模式(只需改变ECMapping),从而无需改变应用程序
  2. 物理数据独立性
    当内部模型变化时,可以不改变概念模式(只需改变CIMapping),从而不改变外部模式

二、什么是数据模型

(一)数据模型的概念

数据模型vs模式vs数据???
模式是用来描述数据的结构的,数据模型是用来描述模式的结构的。
数据模型

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

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

在这里插入图片描述

(二)三大经典数据模型
  • 关系模型:表的形式组织数据
  • 层次模型:树的形式组织数据
  • 网状模型:图的形式组织数据

在这里插入图片描述相当于一个空的已经划分好的表,关系模型的模式就是往表里填表头,关系模型的数据就是根据填的表头再往里填数据。
在这里插入图片描述
对每个结点的结构描述称作实体型,通常是描述一条记录的结构的形式。链接两个实体型的叫做系型,指出了两个实体型的联系,一般用指针实现。

在这里插入图片描述根据指针的指向来确定每个数据的含义。
对于网状模型来讲,指针是需要用户来建立的,不建立指针是找不到数据的。
尽管层次模型和网状模型使用的不多了,但是这种思想应该了解

三、数据库系统的演变

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述要深刻的理解为什么从一个阶段发展到了另一个阶段

最开始是文件系统,一开始OS使应用程序和磁盘读写隔离开,直接使用OS的文件系统部分,文件是OS管理数据的一种方式,基于OS进行编写。

在这里插入图片描述数据和应用程序紧耦合,bad

在这里插入图片描述
OS的文件读写操作针对的不是应用程序了,而是DBMS,然后DBMS提供一种语言来具体操作数据,应用程序使用数据库语言时,DBMS将其翻译成底层的操作。
在这里插入图片描述
在这里插入图片描述
记录是依靠用户建立指针进行的,每次只能进行一条记录的操作。

在这里插入图片描述
在这里插入图片描述数据是靠表进行描述的,数据之间的关联关系也是靠表中的属性进行描述的。数据的检索不需要指针。只需要告诉DBMS我要作什么,具体要做什么需要DBMS来进行。消除了指针。
在这里插入图片描述关系的第一范式就是数据项的不可再分性。比如说姓名,就只能有一个如果下面再有firstname 、lastname就不可以。要不就是只有name,要不就是只有firstname和lastname。
不允许复合属性。而且一个记录不是一个单一的数据值而是多个也不行,这样也不满足第一范式,必须是单一的数据值
关系数据库发展成对象关系数据库、面向对象数据库就是根据上面的不足来实现的,用对象来封装复合属性、多值属性,结构对象就是复合属性所对应的,聚集对象就是一个对象的值集合所对应的。

在这里插入图片描述
在这里插入图片描述在这里插入图片描述除了数据本身以外还对数据的含义以标记的形式反映出来。XML数据库和关系模型之间的转化也是需要考虑的内容。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

总结

在这里插入图片描述三级模式两层映像——主要实现了数据库物理独立性和逻辑独立性。
数据库的物理独立性指的是存储在磁盘上的数据可以使用任意一种DBMS进行管理,逻辑独立性指的是当全局模式发生改变时,不需要改变应用程序的模型。然后就是数据模型的分类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值