1.1 数据库系统概述

1.1.1 数据库

数据库(DataBase, DB),按一定格式存放数据的仓库,而这个仓库是在计算机存储设备上的。

严格定义:数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度(redundancy)、较高的数据独立性(data independency)和易拓展性(scalability),并可为各种用户共享。

数据独立性,包括数据的 物理独立性 和 逻辑独立性。

  • 物理独立性:用户的应用程序 与 数据库中数据的物理存储 是相互独立的
  • 逻辑独立性:用户的应用程序 与 数据库的逻辑结构 是相互独立的

特点:①永久存储;②有组织;③可共享

数据库的共享是 并发的(concurrency)共享,即多个用户可同时存取数据库中的数据。

1.1.2 数据库管理系统

如何高效地获取和维护数据?通过这个系统软件——数据库管理系统(DataBase Management System, DBMS)

数据库管理系统 在数据库建立、运用和维护时 对数据库进行统一控制,以保证数据的完整性和安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。

数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统。

主要功能:

  1. 数据定义功能:系统提供数据定义语言(DDL)
  2. 数据组织、存储和管理
  3. 数据操纵功能:系统提供数据操纵语言(DML)
  4. 数据库的事务管理和运行管理
  5. 数据库的建立和维护功能
  6. 其他功能

1.1.3 数据库系统

数据库系统(DataBase System, DBS),是由 数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DataBase Administrator, DBA)组成的存储、管理、处理和维护数据的系统。

一般情况下,常将数据库系统简称为数据库。

1.2 数据模型

现有数据库系统均是基于某种数据模型的。数据模型是数据库系统的核心和基础。

1.2.1 数据模型的组成要素

数据模型,通常由数据结构、数据操作和数据的完整性约束条件三部分组成。

  1. 数据结构:描述数据库的组成对象以及对象之间的联系。它是所描述的对象类型的集合,是对系统静态特性的描述。
  2. 数据操作:对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。它是对系统动态特性的描述。
  3. 数据的完整性约束条件

1.2.2 两类数据模型

根据模型应用的不同目的,可划分两大类的模型:

  • 第一类是概念模型,也称信息模型,按用户的观点来对数据和信息建模,主要用于数据库设计。

    概念模型的表示方法中,最常用是实体—联系方法,该方法用E-R图来描述现实世界的概念模型。画E-R图,最常用的方法是 统一建模语言(UML)

  • 第二类是逻辑模型和物理模型。

    其中,逻辑模型,按计算机系统的观点对数据建模,主要用于数据库管理系统的实现。该模型主要包括:

    • 层次模型
    • 网状模型
    • 关系模型
    • 面向对象数据模型
    • 对象关系数据模型
    • 半结构化数据模型

1.2.3 关系模型

关系模型是最重要的一种数据模型。

从用户观点来看,关系模型由一组关系组成,每个关系的数据结构是一张规范化的二维表。

关系和现实生活中的表格所使用的术语做一个粗略的对比:

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