绪论

绪论

1.1 数据库系统概述

1.1.1 数据库的4个基本概念

  • 数据(Data) : 描述事物的符号
    • 数据的含义为数据的语义,数据与其语义是不可分的。
  • 数据库(DataBase) : 长期存储在计算机内、有组织的、可共享的大量数据的集合
    • 数据库中的数据按一定的数据模型组织、描述和储存
    • 较小的冗余度
    • 较高的数据独立性
    • 易拓展性
    • 可为各种用户共享
  • 数据库管理系统(DataBase Management System) : 位于用户与操作系统的一层数据管理软件
    1. 数据定义功能
    2. 数据组织、存储和管理
    3. 数据操纵功能
    4. 数据库的事务管理和维护能力
    5. 数据库的建立和维护功能
    6. 其他功能
  • 数据库系统(DataBase System) : 由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DataBase Administrator)组成的存储、管理、处理和维护数据的系统

1.1.2 数据管理技术的产生和发展

在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了人工管理文件系统数据库系统三个阶段。

人工管理 文件系统 数据库系统
应用背景 科学技术 科学技术、数据管理 大规模数据管理
软件背景 没有操作系统 有文件系统 有数据库管理系统
处理方式 批处理 联机实时处理、批处理 联机实时处理、分布处理、批处理
数据管理者 用户 文件系统 数据库管理系统
数据面向的对象 某个应用程序 某一应用 现实世界
数据的共享程度 无共享、冗余度极大 共享性差、冗余度大 共享性高、冗余度小
数据独立性 不独立,完全依赖于程序 独立性差 具有高度的物理独立性和一定的逻辑独立性
数据结构化 无结构 记录内有结构、整体无结构 整体结构化,用数据模型描述
数据控制能力 应用程序自己控制 应用程序自己控制 由DBMS提供数据安全性、完整性、并发控制和恢复能力

1.2 数据模型

数据模型(data model) 也是一种模型,它是对现实世界数据特效的抽象。是用来描述数据、组织数据和对数据进行操作的。是数据库系统的核心和基础

1.2.1 两类数据模型

根据模型应用的不同目的,可以将这些模型划分为两大类 :

  • 概念模型
    • 它是按用户的观点来对数据和信息建模,主要用于数据库设计
  • 逻辑模型和物理模型
    • 逻辑模型主要包括层次模型网状模型关系模型面向对象数据模型对象关系数据模型半结构化数据模型等。它是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现。
    • 物理模型是对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方法,或在磁盘或磁带上的存储方式和存取方式,是面向计算机系统的。

人们常常首先将现实世界抽象为信息世界,然后将信息世界转换为机器世界。


1.2.2 概念模型

概念模型实际上是现实世界到机器世界的一个中间层次。
概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。

  • 信息世界中的基本概念

    1. 实体(entity) : 客观存在并可相互区别的事物
    2. 属性(attribute) : 实体所具有的某一特征
    3. 码(key) : 唯一标识实体的属性集
    4. 实体型(entity type) : 用实体名及其属性名集合来抽象和刻画同类实体
    5. 实体集(entity set) : 同一类型实体的集合
    6. 联系(relationship) : 实体之间的联系通常是指不同实体集之间的联系
  • 模型概念的一种表示方法 : 实体-联系方法


1.2.3 数据模型的组成要素

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

  1. 数据结构 : 描述数据库的组成对象以及对象之间的联系
  • 是与对象的类型、内容、性质有关的
  • 是与数据之间联系有关的对象
  1. 数据操作 : 是指对数据库中的各种对象(型)的实例(值)允许的操作的集合,包括操作及其有关的操作准则
  • 查询
  • 更新
  1. 数据的完整性约束条件 : 是一组完整性规则

1.2.4 常用的数据模型

  • 层次模型(hierarchical model)
  • 网状模型(network model)
  • 关系模型(relational model)
  • 面向对象数据模型(object oriented data model)
  • 对象关系数据模型(object relational data model)
  • 半结构化数据模型(semistructure data model)

1.2.5 层次模型

  1. 层次模型的数据结构
    1. 有且只有一个结点没有双亲结点 -> 根结点
    2. 根以外的其他结点有且只有一个双亲结点
  2. 层次模型的数据操纵与完整性约束
    • 数据操纵 : 查询、插入、删除和更新
    • 完整性约束 :
      1. 插入 : 如果没有相应的双亲结点值就不能插入到它的子女结点值
      2. 删除 : 如果删除双亲结点值,则相应的子女结点值也将被同时删除
  3. 层次模型的优缺点
    • 优点 :
      1. 层次模型的数据结构比较简单清晰
      2. 层次数据库的查询效率高
      3. 层次数据模型提供了良好的完整性支持
    • 缺点 :
      1. 现实世界中很多联系是非层次性的
      2. 如果一个结点具有多个双亲结点等,用层次模型表示这类联系就很笨拙
      3. 查询子女结点必修通过双亲结点
      4. 由于结构严密,层次命令趋于程序化

1.2.6 网状模型

  1. 网状模型的数据结构
    1. 允许一个以上的结点无双亲
    2. 一个结点可以有多个双亲
  2. 网状模型的数据操纵与完整性约束
    1. 一般来说没有层次模型那样严格的完整性约束条件
  3. 网状模型的优缺点
    • 优点
      1. 能够更好直接地描述现实世界
      2. 具有良好的性能,存取效率高
    • 缺点
      1. 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握
      2. 网状模型的DDL、DML复杂,并且要嵌入某一种高级语言中,用户容易掌握
      3. 由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存储路径,因此用户必须了解系统结构的细节,加重了编写应用程序的负担

1.2.7 关系模型

  1. 关系模型的数据结构
    • 关系(relation) : 一个关系对应通常说的一张表
    • 元组(tuple) : 表中的一行即为一个元组
    • 属性(attribute) : 表中的一列即为一个属性,给每个属性起一个名称即属性名
    • 码(key) : 表中的某个属性组,它可以唯一确定一个元组
    • 域(domain) : 一组具有相同数据类型的值的集合
    • 分量 : 元组中的一个属性值
    • 关系模式 : 对关系的描述

关系模型要求关系必须是规范化的,这些规范条件中最基本的一条就是 : 关系的每一个分量必须是一个不可分的数据项(不允许表中还有表)

  1. 关系模型的数据操纵与完整性约束
  • 完整性约束 :
    1. 实体完整性
    2. 参照完整性
    3. 用户定义完整性
  • 数据操纵 : 集合操作
  1. 关系模型的优缺点 :
  • 优点 :
    1. 关系模型与格式化模型不同,它是建立在严格的数学概念的基础上的
    2. 关系模型的概念单一。所以其数据结构简单、清晰,用户易懂易用
    3. 关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作

1.3 数据库系统的结构

1.3.1 数据库系统模式的概念

在数据模型中有 “型(type)”“值(value)” 的概念。

  • 是指对某一类数据的结构和属性的说明
  • 是型的一个具体赋值。
  • 模式(schema) 是数据库中全体数据的逻辑结构和特征的描述
  • 实例(instance) 是模式的一个具体值

同一个模式可以有多个实例


1.3.2 数据库系统的三级模式结构

  1. 模式(schema) : 是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图
  2. 外模式(external schema) : 是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
  3. 内模式(internal schema) : 是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式

一个数据库只有一个模式和内模式,可以有多个外模式

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

  1. 外模式/模式映像 : 定义了该外模式与模式之间的对应关系
  2. 模式/内模式映像 : 定义了数据全局逻辑结构与存储结构之间的对应关系
  • 数据逻辑独立性 : 当模型改变时,由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性
  • 数据物理独立性 : 当数据库的存储结构改变时,由数据库管理员对各个模式/内模式的映像作相应改变,可以使模式保持不变,从而应用程序不必修改,保证了数据与程序的物理独立性

1.4 数据库系统的组成

  1. 硬件平台及数据库
    1. 要有足够大的内存,存放CS、DBMS的核心模块、数据库缓冲区和应用程序
    2. 有足够大的磁盘或磁盘阵列等设备存放数据库,有足够大的磁带作数据备份
    3. 要求系统有较高的通道能力,以提高数据传达率
  2. 软件
    1. 数据库管理系统
    2. 支持数据库管理系统允许的操作系统
    3. 具有与数据库接口的高级语言及其编译系统
    4. 以数据库管理系统为核心的应用开发工具
    5. 为特定应用环境开发的数据库应用系统
  3. 人员
    1. 数据库管理员
      1. 决定数据库中的信息内容和结构
      2. 决斗数据库的存储结构和存储策略
      3. 定义数据的安全性要求和完整性约束条件
      4. 监控数据库的使用和运行
      5. 数据库的改进和重组、重构
    2. 系统分析员和数据库设计人员
    3. 应用程序员
    4. 用户
      1. 偶然用户
      2. 简单用户
      3. 复杂用户

绪论
http://yjh-2860674406.github.io/2022/09/01/数据库原理/课本/绪论/
Author
Ye JinHua
Posted on
September 1, 2022
Licensed under