数据库系统概论 第一章 绪论

第一章 绪论

1.1 数据库系统概述

1.数据的处理:Descriptive(描述)、Predictive(预测)、Prescriptive(规范)

2.文件组织的相关词汇和概念:

  • 数据库:相关文件的集合;
  • 文件:相关记录的集合;
  • 记录:相关字段的集合;
  • 字段:一组字符串,比如单词、数字;
  • 实体:需要存储信息的诸如人、地址、物体等对象;
  • 属性:描述实体的特征或特性。

3.数据层次:数据库(Database)、文件(file)、记录(record)、字段(field)、字节(byte=8bit)、位(bit)[一个汉字有2个字节]
在这里插入图片描述

1.1.1 数据库的四个基本概念

**1.数据(Data)**数据库中存储的基本对象。

①Def:描述事物的符号记录。

②种类:数字( 结构化数据 \color{blue}{结构化数据} 结构化数据)、文字、图形、图像、音频等( 非结构化数据 \color{blue}{非结构化数据} 非结构化数据)。

③数据是基础:数据——信息——知识——智能。

④数据的语义:数据的含义。(数据与其语义是不可分的)

2.数据库(Database,简称DB)

①Def:是 长期储存 \color{red}{长期储存} 长期储存在计算机内、 有组织的 \color{red}{有组织的} 有组织的、可 共享的 \color{red}{共享的} 共享的大量数据集合。

②基本特征:

  • 数据按一定数据模型组织、描述、和储存;
  • 可为各种用户共享;
  • 冗余度较小;
  • 易扩展;
  • 较高的数据独立性。

3.数据库管理系统(DBMS)

①Def:

  • 位于用户和操作系统之间的一层数据管理软件;
  • 是基础软件,是一个大型复杂的软件系统。

②用途:科学地组织和存储数据、高效地获取和维护数据。

③主要功能: D D L ( 数据定义语言 ) 、 D M L ( 数据操纵语言 ) 、 D C L ( 数据控制语言 ) \color{red}{DDL(数据定义语言)、DML(数据操纵语言)、DCL(数据控制语言)} DDL(数据定义语言)DML(数据操纵语言)DCL(数据控制语言)

  • 数据定义功能:

    • 提供数据定义语言(DDL);
    • 定义数据库中的数据对象。
  • 数据组织、存储和管理:

    • 分类组织、存储和管理各类数据;
    • 确定组织数据的文件结构和存取方式;
    • 实现数据之间的联系;
    • 提供多种存取方法提高存取效率。
  • 数据操纵功能:

    • 提供数据操纵语言(DML);
    • 实现对数据库的基本操作(查询、插入、删除和修改);
  • 数据库的事物管理和运行管理:

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

4.数据库系统(Database System,简称DBS)
① 组成:硬件平台、软件平台、人员。
在这里插入图片描述

②构成:

  • 数据库
  • 数据库管理系统(及其应用开发工具)
  • 应用程序
  • 数据库管理员(DBA)
    • 设计与定义数据库
    • 帮助最终用户使用数据库系统
    • 负责数据库系统的运维工作
    • 改进和重组数据库系统
    • 转储与恢复数据库
    • 重构数据库

③图示:
在这里插入图片描述

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

1.什么是数据管理:

  • 对数据进行分类、组织、编码、存储、检索和维护;
  • 数据处理的中心问题。

2.数据管理技术的发展过程:

  • 人工管理阶段(20世纪50年代中之前)
  • 文件系统阶段(20世纪50年代末——60年代中)
  • 数据库系统阶段(20世纪60年代末——现在)

3.数据管理技术的发展动力:

  • 应用需求的推动
  • 计算机硬件的发展
  • 计算机软件的发展

1.1.3 数据库系统的特点数据结构化

1.数据结构化

  • 数据的整体结构化是数据库的主要特征之一

    • 面向全组织,数据之间有联系
    • 数据记录可以边长
    • 数据的最小存取单位是数据项
    • 数据用数据模型描述,无需应用程序定义
  • 数据的共享性高、冗余度低且易扩展(好处)

    • 减少数据冗余,节约存储空间
    • 避免数据之间的不相容性和不一致性
    • 使系统易于扩充
  • 数据独立性高

    • 物理独立性
      • 指用户的应用程序与数据库中的物理存储是相互独立的。当数据的物理存储改变了,应用程序不改变。
    • 逻辑独立性
      • 指用户的应用程序与数据库中的逻辑结构是相互独立的。当数据的逻辑结构改变了,应用程序不改变。
    • 数据的独立性由DBMS的二级映像功能来保证。
  • 数据由数据库管理系统统一管理和控制

    • 数据的安全性(Security)保护
      • 保护数据防止不合法的使用造成数据的泄密和破坏。
    • 数据的完整性(Integrity)保护
      • 保证数据的正确性、有效性和相容性。
    • 并发(Concurrency)控制
      • 对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
    • 数据库恢复(Recovery)
      • 对数据库从错误状态恢复到某一已知的正确状态。(回滚机制)

1.2 数据模型

1.数据模型是对现实世界数据特征的抽象。(通俗讲就是 对现实世界的模拟 \color{red}{对现实世界的模拟} 对现实世界的模拟

2.满足要求:

  • 能比较真实的模拟现实世界
  • 容易为人所理解
  • 便于在计算机上实现

3.数据模型是数据库系统的 核心和基础 \color{red}{核心和基础} 核心和基础​。

1.2.1 两类数据模型

1.概念模型,也称信息模型

  • 它是按照用户的观点来对数据和信息建模,用于数据库设计。

2.逻辑模型和物理模型

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

3.客观对象的抽象过程——两步抽象

  • 现实世界中的客观对象抽象为信息世界的概念模型。
  • 把概念模型转换为机器世界某一DBMS支持的数据模型。

1.2.2 概念模型

1.Def:从用户的观点对数据进行建模,将现实世界抽象为信息世界。

2.信息世界的基本概念:

  • 实体(Entity):客观存在并可互相区别的事物。
  • 属性(Attribute):实体所具有的某一特性。
  • 码(Key):唯一标识实体的属性集。
  • 实体型(Entity Type):用实体名及其属性名集合来抽象和刻画同类实体。
  • 实体集(Entity Set):同一类型实体的集合。
  • 联系(Relationship)
    • 现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间( 一对一、一对多、多对多等 \color{red}{一对一、一对多、多对多等} 一对一、一对多、多对多等​)的联系。

3.概念模型实例: 实体 − 联系方法 \color{red}{实体-联系方法} 实体联系方法(E-R方法:E-R图)

1.2.3 数据模型的组成要素

1.数据结构(对系统静态特征的描述)

  • 描述数据库的组成对象( 类型、内容、性质 \color{red}{类型、内容、性质} 类型、内容、性质​)以及对象之间的联系。

2.数据操作

  • 查询
  • 更新(包括插入、删除、修改)

3.数据的完整性约束条件:一组完整性规则的集合。

1.2.4 常用的数据模型

  • 层次模型(Hierarchical Model):树
  • 网状模型(Network Model):图
  • 关系模型(Relational Model):表
  • 面向对象数据模型(Object Oriented Data Model):对象

注意!前四个称为逻辑模型( L o g i c a l M o d e l ) \color{red}{注意!前四个称为逻辑模型(Logical Model)} 注意!前四个称为逻辑模型(LogicalModel

  • 对象关系数据模型(Object Relational Data Model)
  • 半结构化数据模型(Semistruture Data Model)

1.2.5 层次模型

1.DBS中最早出现的数据模型。

2.层次模型用 树形结构 \color{red}{树形结构} 树形结构来表示各类实体以及实体之间的联系。

在这里插入图片描述

3.完整性约束条件

  • 无相应的双亲结点值就不能插入子女结点值
  • 如果删除双亲结点值,则相应的子女结点值也被同时删除
  • 更新操作时,应更新所有相应记录,以保证数据的一致性

4.层次模型的特点:

  • 结点双亲唯一。
  • 只能处理一对多的实体联系。
  • 每个记录类型可以定义一个排序字段也成为码字段。
  • 任何记录值只有按其路径查看时,才能显出它的全部意义。
  • 没有一个子女记录值能够脱离双亲记录值而独立存在。

5.层次模型的优缺点:

  • 优点
    • 层次模型的数据结构比较简单清晰
    • 查询效率高,性能优于关系模型,不低于网状模型
    • 层次模型提供了良好的完整性支持
  • 缺点
    • 现实世界中很多联系都是非层次性的,不适合用层次模型表示(多对多层次模型就表示不了)
    • 对插入和删除操作的限制多,应用程序的编写比较复杂
    • 查询子女结点必须通过双亲结点
    • 由于结构严密,层次命令趋于程序化

1.2.6 网状模型

1.网状模型允许多个结点没有双亲结点(层次模型只允许一个:根节点)

2.网状模型允许结点有多个双亲结点(层次模型只允许一个)

3.可以表示一对一、一对多、多对多。

4.网状模型的优缺点:

  • 优点
    • 能够更直接地描述现实世界,表示多种联系的结点关系
    • 具有良好的性能,存取效率较高
  • 缺点
    • 结构比较复杂,随着应用环境扩大,数据库复杂度激增
    • 网状模型的数据定义和建模过程复杂,不易掌握和使用
    • 记录间的联系通过存取路径实现,加重了应用程序负担
    • 缺乏层次模型那样严格的完整性约束条件

1.2.7 关系模型

1.在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。

2.基本概念

  • 关系(Relation):一个关系对应通常说的一张表。
  • 元组(Tuple):表中的一行即为一个元组。
  • 属性(Attribute):表中的一列即为一个属性,给属性命名即属性名。
  • 码(Key):表中的某个属性组,它可以唯一确定一个元组。
    • 比如学号可以唯一确定一行,就可以称为一个码
  • 域(Domain):属性的取值范围。
  • 分量:元组中的一个属性值。
    • 法律就是第三个元组中的有关系名的属性值。
  • 关系模式:对关系的描述
    • 关系名(属性1,属性2,……,属性n)
    • 学生登记表(学号,姓名,年龄,性别,系名,年级)
      在这里插入图片描述

3.关系模型必须是规范化的,满足一定的规范条件。

  • 最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允许 表中有表 \color{red}{表中有表} 表中有表
    在这里插入图片描述

4.关系模型的操纵和完整性约束

  • 数据操作是集合操作,操作对象和操作结果都是关系。
    • 查询
    • 插入
    • 删除
    • 更新
  • 存取路径对用户隐蔽,用户只要指出干什么,不必详细说明怎么干。
  • 关系的完整性约束条件:
    • 实体完整性
    • 参照完整性
    • 用户定义的完整性

1.3 数据库系统的结构

  • 数据库应用开发人员角度 \color{red}{数据库应用开发人员角度} 数据库应用开发人员角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构。

    数据库最终用户角度 \color{red}{数据库最终用户角度} 数据库最终用户角度看,数据库系统的结构分为:

    • 单用户结构
    • 主从式结构
    • 分布式结构
    • 客户-服务器
    • 浏览器-应用服务器 / 数据库服务器多层结构等

1.3.1 数据库系统模式的概念

1.“型”和“值”的概念

  • 型(Type):对某一类数据的结构和属性的说明。
  • 值(Value):是型的一个具体赋值。

2.模式(Schema)

  • 数据库逻辑结构和特征的描述
  • 是型的描述,不涉及具体值
  • 反映的是数据的结构及其联系
  • 模式是相对稳定的

3.实例(Instance)

  • 模式的一个具体值
  • 反映数据库某一时刻的状态
  • 同一个模式可以有很多实例
  • 实例随数据库中的数据的更新而变动

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

在这里插入图片描述

1.模式(Schema)

  • 模式(也称逻辑模式 or 概念模式)
    • 数据库中全体数据的逻辑结构和特征的描述;
    • 所有用户的公共数据视图。
  • 一个数据库只有一个模式。
  • 模式的地位:是数据库系统模式结构的中间层。
    • 与数据的物理存储细节和硬件环境无关;
    • 与具体的应用程序、开发工具及高级程序设计语言无关。

2.外模式(External Schema)

  • 外模式(也称子模式 or 用户模式)
    • 某一用户能够看到的处理的数据的结构描述。
  • 外模式的地位:介于模式与应用之间。
    • 模式与外模式的关系:一对多
    • 外模式与应用的关系:一对多

3.内模式(Internal Schema)

  • 内模式(也称存储模式)
    • 存储在介质上的数据的结构描述,如存储路径、方式等。
  • 一个数据库只有一个内模式。

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

1.E-C映像:外模式/模式映像:便于用户观察和使用。

  • 将外模式映射为概念模式,从而支持实现数据概念视图向外部视图的转换。
  • 保证数据的逻辑独立性。

2.C-I映像:模式/内模式映像:便于计算机存储和处理。

  • 将概念模式映射为内模式,从而支持实现数据概念视图向内部试图的转换。
  • 保证数据的物理独立性。

相关推荐

  1. 数据库系统概论-第二

    2024-03-11 20:32:05       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-11 20:32:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-11 20:32:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-11 20:32:05       82 阅读
  4. Python语言-面向对象

    2024-03-11 20:32:05       91 阅读

热门阅读

  1. vue2 elementui 封装一个动态表单复杂组件

    2024-03-11 20:32:05       45 阅读
  2. git的基本概念和用法

    2024-03-11 20:32:05       48 阅读
  3. 系统架构设计基础

    2024-03-11 20:32:05       45 阅读
  4. Hive分桶表

    2024-03-11 20:32:05       38 阅读
  5. 机器学习是什么?如何从入门到精通?

    2024-03-11 20:32:05       40 阅读
  6. golang数组和Slice地址

    2024-03-11 20:32:05       37 阅读
  7. XR技术:短剧制作的全新纪元

    2024-03-11 20:32:05       49 阅读
  8. Docker从0到1的开始【入门篇】

    2024-03-11 20:32:05       46 阅读
  9. 聚乳酸-羟基乙酸共聚物行业调研报告

    2024-03-11 20:32:05       48 阅读