Skip to content

绪论

《数据库系统概论(第五版)》(王珊 萨师煊)

补充:

  • 经过处理和加工提炼而用于决策或其它应用活动的数据称为信息
  • 子模式数据描述语言:SDDL
  • 物理数据描述语言:PDDL
  • 关系型数据库管理系统:RDBMS
  • 数据冗余可能导致的问题有 浪费存储空间、数据修改麻烦 和 潜在的数据不一致性
  • 从外部视图到子模式的数据结构的转换是由应用程序实现;模式和子模式之间的映射是由DBMS实现;存储模式域数据物理组织之间的映像是由操作系统的存取方法实现。
  • 数据抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述。一般有三种数据抽象的方法:分类、聚集和概括
  • 数据库系统必须提供的数据控制功能包括安全性控制完整性控制并发控制数据库恢复控制等4个方面。

数据字典

数据字典是数据库系统中各种描述信息和控制信息的集合。它是数据库设计与管理的有力工具。它有以下基本内容:

  • 数据项:描述实体的一个属性,每个数据库都有自己的专有名称
  • 组项:若干个相互关联的数据项的组合
  • 记录;若干个数据项和组项的集合,它是对一个实体的完整性描述
  • 文件;记录值的集合
  • 外模式:用户视图(外视图)的定义
  • 概念模式:描述数据库所含实体、实体之间的联系和信息流的等
  • 内模式:数据库存储结构的描述、实体之间的联系和存取方法、物理映像等
  • 外模式/概念模式映像:描述外模式与概念模式之间信息的对应关系
  • 概念模式/内模式映像
  • 用户管理信息:用户应用程序、用户口令、工作区分配等
  • 数据库控制信息:主要有安全性要求、完整性约束、多个用户使用数据库时的并行管理(并发控制)、数据库副本管理、工作日志文件的维护等

数据字典的任务就是管理有关数据的信息,故有“数据库的数据库”之称。主要任务:

  • 描述数据库系统的所有对象,并确定其属性。
  • 描述数据库系统对象之间的各种交叉联系。
  • 登记所有对象的完整性及安全性限制等
  • 对数据字典本身的维护、保护、查询与输出

主要作用:

  • 供数据库管理系统快速查找有关对象的信息。
  • 供数据库管理员查询,以掌握整个系统的运行情况。
  • 支持数据库设计与系统分析。

数据模型

数据模型是对现实世界数据特征的抽象。
按照模型应用的不同目的可分为两大类:

  1. 概念模型。也称信息模型,从用户观点建模,用于数据库设计。
  2. 逻辑模型和物理模型:

    • 物理模型。数据如何存取,面向计算机系统,具体实现是数据库管理系统的任务。
    • 逻辑模型。从计算机观点建模,用于数据库管理系统的实现。包括

      • 层次模型
      • 网状模型
      • 关系模型:

        • 关系(relation):一个关系对应通常说的一张表
        • 元组(tuple):表中的一行即为一个元组
        • 属性(attribute)表中的一列即为一个属性,给每个属性起一个名称即属性名
        • 码(key):也称码键。表中的某个属性组,可以唯一确定一个元组。
        • 域(domain):一组具有相同数据类型的值的集合。属性的取值范围来自某个域。如系名的域是一个学校所有系名的集合
        • 分量:元组中的一个属性值
        • 关系模式:对关系的描述,一般表示为关系名(属性 1,属性 2,...)

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

按照数据模型的三要素,关系模型由三部分组成:关系数据结构、关系操作集合和关系完整性约束

数据库系统三级模式结构

这是数据库系统内部的系统结构。

  • 外模式,也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述
  • 模式,也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述
  • 内模式,也称存储模式,数据物理结构和存储方式的描述

每两级模式之间通过二级映像联系和转换。使数据库中的数据能够具有较高的逻辑独立性和物理独立性。

关系数据库

关系数据库中,关系模式是型,关系是值。关系是元组的集合,因此关系模式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性来自哪些域,以及属性和域之间的映像关系。

关系的描述称为关系模式(relation schema)。可以形式化地表示为 \(R(U, D, DOM, F)\),其中 R 为关系名,U 为组成该关系的属性名集合,D 为 U 中属性所来自的域,DOM 为属性向域的映像集合,F 为属性间数据的依赖关系集合。属性间数据的依赖关系在第 6 章讨论。

关系数据库定义

域是一组具有相同数据类型的值的集合。

关系的目或度就是属性的个数。
关系中的每个元素是关系中的元组。

若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码。(通俗来讲就是可作为主键的码)。

若一个关系由多个候选码,则选定其中一个为主码(primary key)。

候选码的诸属性称为主属性。不包含任何候选码中的属性称为非主属性非码属性。最简单的情况下,候选码只包含一个属性;最极端的情况下,关系模式的所有属性是这个关系的候选码,称为全码(all-key)。

关系可以有三种类型:

  • 基本关系(基本表、基表):是实际存在的表,是实际存储数据的逻辑表示
  • 查询表:是查询结果对应的表
  • 视图表:是由基本表或其它视图表导出的表,是虚表,不对应实际存储的数据

关系数据库中,关系模式是型,关系是值。关系是元组的集合,因此关系模式必须指出这个元组集合的结构

关系数据可分为三类语言:

  • 关系代数语言
  • 关系演算语言

    • 元组关系演算语言
    • 域关系演算语言
  • 具有关系代数和关系演算双重特点的语言(如 SQL)

关系模型中有三类完整性约束:

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