zoukankan      html  css  js  c++  java
  • MOOC 数据库系统笔记(二):数据库系统的基本结构及其演变发展

    数据库系统的结构抽象与演变

    数据库的标准结构

    DBMS管理数据的三个层次

    1.External Level = User Level
    某一用户能够看到与处理的数据,全局数据中的某一部分
    2.Conceptual Level = Logic Level
    从全局角度理解/管理的数据,含相应的关联约束
    3.Internal Level = Physical Level
    存储在介质上的数据,含存储路径、存储方式、索引方式等

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

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

    三级模式两层映像

    三级模式(三级视图)

    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),从而无需改变外部模式

    数据模型

    数据模型、数据模式、数据的区别

    什么是数据模型
    1.规定模式统一描述方式的模型,包括:数据结构、操作和约束
    2.数据模型是对模式本身结构的抽象,模式是对数据本身结构形式的抽象
    比如:
    关系模型:所用模式都可以为抽象表(Table)的形式[数据结构],而每一个具体的模式都是拥有不同列名的具体的表。对这种表形式的数据有哪些操作和约束。
    (个人理解:关系模型规定了数据的表现结构和所有可能的操作,如并、交等等,还有模型上数据的约束,而关系模型的模式则是关系模型的具体表现,但又不是完整的数据,它只规定了数据有哪些属性)
    数据模型是对数据模式的抽象,数据模式是对数据的抽象,所以说数据模型是数据的结构的结构。

    三大经典数据模型

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

    数据库系统的演变与发展

    简要发展史:四个阶段

    第一阶段:数据库系统技术探索阶段(59-65/67)
    1.研制成功格式文件系统
    2.正式提出“Data Base“并开始进行研究
    第二阶段:数据库技术确立阶段(65/68-75)
    1.三大数据库:层次、网状及关系数据库相机提出并进行了深入研究
    2.商用数据库出现并应用,但多为网状及层次型系统
    3.数据库研究形成理论基础:关系数据库理论
    第三阶段:数据库技术成熟阶段(76-80s前期)
    1.提出了标准化数据库系统结构模型
    2.关系DB系统迅速发展:如SQL,QBL,System R,ingres等
    3.关系理论日臻完善,包括规范化理论,关系语言,RDB的设计与实现,新型关系模型等
    4.数据库应用已十分普及,渗透到社会各个方面,出现众多DB的技术分支,DB走向全面成熟,人称70年代为“数据库的年代”
    第四阶段:数据库技术深化发展阶段(85年以来)
    1.数据库方法逐步理论化、数据库设计理论不断完善
    2.新型数据模型、专用数据模型,专用型、新型数据库系统,不断涌现
    3.数据库技术+其他计算机技术结合==面向各行各业的专用数据库。

    几个重大发展

    由文件系统到数据库

    操作系统管理数据的方法是文件系统:
    文件系统的优点:用户(程序)不必考虑文件存储的物理细节,解脱了对物理设备存取的复杂性处理的负担。
    文件系统的不足:数据与程序紧密结合,数据的组织及语义紧密依赖于处理该文件的应用程序,数据结构发生改变则必须修改应用程序,文件之间无联系,文件的记录之间无联系,共享性差,冗余度搞,不一致性高。
    重要发展:由文件系统到数据库
    数据库系统:
    1.由DBMS统一存取、维护数据组织形式及语义,可较强地独立于应用程序(数据的物理独立性和逻辑独立性)
    2.把数据及数据结构的定义和描述从应用程序中分离出去,交给DBMS,使得多个应用程序课共享数据及数据结构的操作,数据存取可以记录为单位,也可以以数据项和记录集合为单位
    3.统一的数据控制功能,数据共享程度高:系统可自动检查安全性、完整性和并发正确性
    4.整体数据结构化,文件(Table)之间、记录之间相互有关联,数据的冗余度小,容易扩充
    5.独立于应用程序的高效率查询/统计操作。

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

    层次模型数据库与网状模型数据库
    1.数据之间的关联关系由复杂的指针系统来维系,结构描述复杂
    2.数据检索操作依赖于由指针系统指示的路径
    3.逐一记录的操作,不能有效支持集合的操作
    关系数据库
    数据之间的关联关系由Table中属性的值来表征,结构描述简单:Table/relation
    数据检索操作不依赖于路径信息或者过程信息,支持非过程化的数据操作
    有效支持记录集合的操作
    较为完善的理论基础

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

    关系数据库
    1.按行按列形式组织数据:关系的第1范式
    2.数据项的不可再分特性
    3.关系运算:关系代数、元组演算、域演算--》标准SQL
    4.关系数据库设计理论
    对象-关系数据库
    1.可有效支持不满足关系第1范式的数据项
    2.以对象来封装需分解的数据项
    3.行对象与列对象:聚集对象与结构对象
    面向对象数据库
    1.面向对象技术(O-O)与几何/聚集操作(SQL)技术的结合
    2.支持复杂的数据类型,数据封装与抽象数据结构
    3.支持面向对象的一些特性:类、继承、封装、多态。。。

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

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

  • 相关阅读:
    箭头函数和普通函数的区别是什么?
    前端如何优化网站性能?
    instanceof原理
    call、apply区别
    函数的节流和防抖
    关于this的指向性问题
    undefined 和null的区别?
    浅谈堆和栈的理解?
    关于vue中watch和computed
    简单说一下什么是回流和重绘
  • 原文地址:https://www.cnblogs.com/z-y-k/p/11565779.html
Copyright © 2011-2022 走看看