数据库系统

数据库系统

总结数据库,先对数据库系统的概念做一个整理

一、数据库

数据库(Database):相互之间有关联关系的数据的集合

  1. 数据库是电子化信息的集合

  2. 数据库起源于规范化的处理

    • Table:以按行列形式组织及展现的数据

    • 表名

    • 表标题:列名

    • 表内容:

      行:元组/记录—row/tuple/record

      列:字段/属性/数据项—column/field/attribute/dataitem

二、数据库系统

数据库系统包含以下几个部分:

  1. 数据库(DB):Database相互之间有关联关系的数据(table)的集合
  2. 数据库管理系统(DBMS):Database Management System管理数据库的一种系统软件
  3. 数据库应用(DBAP):DataBaseApplication针对于用户方便完成某功能的应用程序
  4. 数据库管理员(DBA):DataBase Administrator使用DBMS
  5. 计算机系统

三、数据库管理系统

从用户角度看:

  1. 数据库管理系统定义:定义数据库中Table的名称、标题等。定义语言:DDL
  2. 数据库管理系统操纵:向数据库的Table中增删改查、检索、统计等。操纵语言:DML
  3. 数据库管理系统控制:控制数据库中数据的使用权限(DBA控制)。控制语言:DCL
  4. 数据库管理系统维护:转储/恢复/重组/性能监测/分析数据库维护的实用程序,一般由DBA使用

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

数据库系统的标准结构就是三级模式两层映象

  1. 数据库系统的分层抽象:DBMS管理数据的三个层次

    • 外部模式

      External Level = User Level

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

    • 概念模式

      Conceptual Level = Logic Level

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

    • 内部模式

      Internal Leverl = Physical Level

      存储在介质上的数据,含存储过程、存储方式、索引方式等

  2. 两层映象

    • E-CMapping

      External Schema - Conceptual Schema Mapping

      将外模式映射为概念模式,数据概念视图向外部视图的转换,便于用户观察和使用

    • C-IMapping

      Conceptual Schema - Internal Schema Mapping

      将概念模式映射为内部模式,数据概念视图向内部视图的转换,便于计算机进行存储和处理

  3. 数据(视图)与模式

    • 模式(Schema)

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

    • 视图(View)/数据(Data)

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

  4. 两个独立性

    • 逻辑数据独立性

      当概念模式变化时,可以不改变外部模式(只需改变E-C),从而无需改变应用程序

    • 物理数据独立性

      当内部模式变化时,可以不改变概念模式(只需改变C-I),从而无需改变外部模式

五、数据模型

  1. 数据模型的概念

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

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

    • 例:关系模型

      所有模式都可为抽象表(Table)的形式[数据结构],而每一个具体的模式都是拥有不同列名的具体的表

  2. 三大经典数据模型

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

六、数据库的发展

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

  1. 关系数据库
    • 按行按列形式组织数据:关系的第1范式
    • 数据项的不可再分特性
    • 关系运算:关系代数、元组演算、域演算—>标准SQL
  2. 对象-关系数据库
    • 可有效支持不满足关系第1范式的数据项
    • 以对象来封装需分解的数据项
    • 行对象与列对象,聚集对象与结构对象
  3. 面向对象数据库
    • 面向对象技术(O-O)与集合/聚集操作技术(SQL)的结合
    • 支持复杂的数据类型,数据封装与抽象数据结构
    • 支持类、继承、封装、多态…
  4. XML数据库
    • 半结构化数据库
    • 数据与数据的语义合并在一起进行存储和处理
    • 面向数据交换提出