数据库原理——第一章:绪论

参考书目《数据库系统概论(第5版)》

数据库系统概述

数据库的4个基本概念

数据数据库数据库管理系统数据库系统是4个核心概念

  1. 数据(data)
    • 数据是数据库中存储的基本对象
  2. 数据库(DataBase, DB)
    • 数据库是存放数据的仓库
    • 数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合
    • 数据库数据具有永久存储有组织可共享三个基本特点
  3. 数据库管理系统(DataBase Management System, DBMS)
    • 数据库管理系统是位于用户与操作系统之间的一层数据管理软件
    • 数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统
    • 体系结构为(从低到高):硬件 -> 操作系统 -> 数据库管理系统 -> 应用开发工具 -> 应用系统
  4. 数据库系统(DataBase System, DBS)
    • 数据库系统是由数据库数据库管理系统(及其应用开发工具)、应用程序数据库管理人员组成的存储、管理、处理和维护数据的系统

数据库管理

数据库管理是指对数据进行分类、组织、编码、存储、检索和维护 数据库管理技术的历史:人工管理 -> 文件系统 -> 数据库系统
人工管理阶段特点:

  • 数据不保存
  • 应用程序管理数据
  • 数据不共享
  • 数据不具有独立性

文件系统阶段特点:

  • 数据可以长期保存
  • 由文件系统管理数据
  • 数据共享性差,冗余度大
  • 数据独立性差

数据库系统的特点

  1. 数据结构化
    • 数据库系统实现整体数据的结构化,这也是其与文件系统的本质区别
    • 结构化是指数据库中的数据不再仅针对某一具体应用,而是面向整个组织或企业
  2. 数据的共享性高、冗余度低且易扩充
    • 数据的共享减少数据冗余,节约存储空间,避免数据之间的不相容性和不一致性
    • 由于结构化使得数据库系统弹性大,易于扩充
  3. 数据独立性高
    • 物理独立性:应用程序和物理存储是相互独立的
    • 逻辑独立性:应用程序和逻辑结构是相互独立的
    • 数据独立性是由二级映像功能来保证的
  4. 数据由数据库管理系统统一管理和控制
    • 数据安全性保护
    • 数据完整性检查
    • 并发控制
    • 数据库恢复

数据模型

数据模型分两类:第一类是概念模型,第二类是逻辑模型和物理模型

  • 概念模型主要用于数据库设计
  • 逻辑模型主要用于数据库管理系统的实现;常用的逻辑模型:层次模型、网状模型、关系模型、面向对象数据模型、 对象关系数据模型、半结构化数据模型等
  • 物理模型描述数据在系统内部的表示方式和存取方法

概念模型的一种表示方法:实体-联系方法(Entity-Relationship),即E-R图
数据模型的组成要素:数据结构数据操作数据的完整性约束条件
关系模型术语对比

关系术语 一般表格的术语
关系名 表名
关系模式 表头(表格的描述)
关系 (一张)二维表
元组 记录或行
属性
属性名 列名
属性值 列值
分量 一条记录中的一个列值
非规范关系 表中有表(大表中嵌有小表)

关系的完整性约束条件

  • 实体完整性
  • 参照完整性
  • 用户定义的完整性

数据库系统的结构

数据库系统的三级模式结构是指数据库系统是由外模式模式内模式三级构成,分别代表数据的三个抽象级别

  • 模式:也称为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图
    • MySQL中的database等价于这里的模式
    • 一个数据库只有一个模式
  • 外模式:也称为子模式用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
    • 外模式通常是模式的子集
    • MySQL中的视图和SELECT出的结果(部分基本表)等价于这里的外模式
    • 外模式可用来保证数据库安全性,用户只能访问和看见所对应的外模式中的数据
  • 内模式:也称为存储模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式
    • 一个数据库只有一个内模式

数据库的二级映射功能与数据独立性

  1. 外模式/模式映像
    模式改变时,由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变;应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性
  2. 模式/内模式映像
    当数据库的存储结构改变时,由数据库管理员对各个模式/内模式的映像作相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性

数据库的二级映射保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性(一般不需要修改)
数据与程序之间的独立性使得数据的定义和描述可以从应用程序中分离出去


数据库系统的组成

数据库系统是由数据库数据库管理系统(及其应用开发工具)、应用程序数据库管理人员组成

  1. 硬件平台及数据库
  2. 软件
  3. 人员