《数据库系统概论(第5版)(王珊)》第一章 绪论知识点总结(内含高清思维导图及PDF)

xcx:数据库是什么呀?(¬‿¬)

shy:数据库(Database)是一个组织和存储数据的结构化集合。它是一个系统化、集中管理和存储数据的仓库,提供了一种结构化的方式来存储、组织和管理信息。

hwjw:数据库在重要领域中有什么应用吗?ヾ(•ω•`)o

shy:从小型单项事务处理系统到大型信息系统,从联机事务处理(OLTP)到联机分析处理(OLAP),从一般企业管理到计算机辅助设计与制造(CAD/CAM)、计算机集成制造系统(CIMS)、电子商务(e-Commerce)、电子政务(e-Government)、地理信息系统(GIS)等,越来越多的应用领域采用数据库技术来存储和处理信息资源。

syf:数据库在我们生活中有什么用啊?

shy:随着互联网的发展,广大用户可以直接访问并使用数据库,例如通过网上订购图书、日用品、机票、火车票,通过网上银行转账存款取款、检索和管理账户。数据库已经成为每个人生活中不可缺少的部分。

hwjw、syf、xcx:wow~ ⊙o⊙ 原来数据库这么重要呀!!数据库课程不仅是计算机类专业、信息管理专业的重要课程,也是许多非计算机专业的选修课程,所以我们要好好学习《数据库系统概论》!!

文章目录


数据库系统概论第一章思维导图

1.1数据库系统概述

1.1.1数据库的4个基本概念

数据 Data 数据库中存储的基本对象
  • 定义:描述事物的符号记录
  • 种类:数字、文字、图形、图像、音频、视频、学生档案记录、订单情况
  • 语义:数据的含义
数据库 DB
  • 定义

    • 长期储存在计算机内、有组织的、可共享的大量数据的集合
  • 作用

    • 收集并抽取一个应用所需要的大量数据,将其保存,以供进一步加工处理,抽取有用信息,转换为有价值的知识
  • 基本特征

    • 数据按一定的数据模型组织、描述和储存
    • 可为各种用户共享、冗余度较小、易扩展
    • 数据独立性较高
数据库管理系统 DBMS
  • 是什么

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

    • 科学地组织和存储数据、高效地获取和维护数据
  • 功能

    • 数据定义功能

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

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

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

      • 数据的安全性、完整性、多用户对数据的并发使用
      • 发生故障后的系统恢复数据库
      • 由数据库管理系统统一管理和控制,保证事务正确运行
    • 数据库的建立和维护功能

      • 提供实用程序/工具,完成数据库批量装载,数据库转储,介质故障恢复,数据库的重组织和性能监视等
    • 其他功能

      • 数据库管理系统与网络中其他软件系统的通信
      • 数据库管理系统之间的数据转换
      • 异构数据库之间的互访和互操作
数据库系统 DBS
  • 定义:在计算机系统中引入数据库后的系统组成(再不引起混淆的情况下常常把数据库系统简称为数据库)

  • 构成

    • 数据库
    • 数据库管理系统(及其应用开发工具)
    • 应用程序
    • 数据库管理员(DBA)

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

  • 数据管理的概念
    • 对数据进行分类的、组织、编码、存储、检索和维护
    • 数据处理和数据分析的中心问题
  • 数据库管理技术的发展过程
    • 人工管理阶段
    • 文件系统管理
    • 数据库系统阶段

1.1.3数据库系统的特点

  • 数据结构化
  • 数据共享性高,冗余度低且易扩充
  • 数据独立性高
    • 物理独立性:用户的应用程序与数据库中的数据的物理存储是相互独立的
    • 逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的
  • 数据由数据库管理系统统一管理和控制
    • 数据库管理系统提供的数据控制功能

      • 数据的安全性保护
      • 数据的完整性检查
      • 并发控制
      • 数据库恢复

1.2数据模型

概念

  • 数据模型是对现实世界数据特征的抽象

  • 数据模型就是现实世界的模拟

  • 应满足三方面要求

    • 能比较真实地模拟现实世界
    • 容易为人所理解
    • 便于在计算机上实现
  • 数据模型是数据库系统的核心和基础

1.2.1两类数据模型

  • 概念模型,也称信息模型
    • 它是按用户的观点来对数据和信息建模,用于数据库设计
  • 逻辑模型和物理模型
    • 逻辑模型:网状模型、层次模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等 按计算机系统的观点对数据建模,用于DBMS实现
    • 物理模型是对数据最底层的抽象:描述数据在系统内(磁盘上)的表示方式和存取方式

1.2.2概念模型

  • 用途
    • 概念模型用于信息世界的建模
    • 是现实世界到机器世界的一个中间层次
    • 是数据库设计的有力工具
    • 数据库设计人员和用户之间进行交流的语言
  • 基本要求
    • 较强的语义表达能力
    • 简单、清晰、易于用户理解
  • 信息世界中的基本概念
    • 实体(Entity):客观存在并可相互区别的事物。可以是具体的人、事、物或抽象的概念

    • 属性(Attribute):实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画

    • 码(Key):唯一标识实体的属性称为码。

    • 实体型(Entity Type):用实体名及其属性名集合来抽象和刻画同类实体

    • 实体集(Entity Set):同一类型实体的集合

    • 联系(Relationship):现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。

      • 实体内部的联系:组成实体间的各属性之间的联系

      • 实体之间的联系:不同实体集之间的联系

        • 一对一(1:1)
        • 一对多(1:m)
        • 多对多(m:n)
  • 表示方法
    • 实体-联系方法(Entity-Relationship Approach):E-R模型

1.2.3数据模型的组成要素

  • 数据模型是严格定义的一组概念的集合
    • 精确地描述了系统的静态特性、动态特性和完整性约束条件(Integrity Constraints)
  • 数据模型由三部分组成
    • 数据结构:描述系统的静态特征
      • 刻画数据模型性质的重要方面

        • 数据结构的类型来命名数据模型
        • 层次结构-层次模型
        • 网状结构-网状模型
        • 关系结构-关系模型
      • 描述数据库的组成对象:对象的性质、内容、性质

      • 描述对象之间的联系

    • 数据操作:描述系统的动态特征
      • 数据操作

        • 对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则
      • 数据操作的类型

        • 查询
        • 更新(插入、删除、修改)
      • 数据操作语言

        • 定义数据操作的确切含义、符号、优先级别

        • 实现数据操作的语言

          • 查询语言(Query Language)
          • 更新语言(DML)
    • 完整性约束
      • 一组完整性规则的集合

        • 完整性规则:给定的数据模型中数据及其联系所具有的制约和依存规则
        • 用以限定符合数据模型的数据库状态及其状态的变化,以保证数据的正确、有效和相容
      • 数据模型对完整性约束条件的定义

        • 反映和规定必须遵守基本的通用的完整性约束条件
        • 提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件

1.2.4常用的数据模型

  • 层次模型
  • 网状模型
  • 关系模型
  • 面向对象数据模型
  • 对象关系数据模型
  • 半结构化数据模型
  • 非结构化数据模型、图模型……
  • 格式化模型中数据结构的单位:基本层次联系

1.2.5层次模型

  • 用树形结构来表示各类实体以及实体间的联系

  • 表示方法

    • 实体型:用记录类型描述 每个结点表示一个记录类型(实体)
    • 属性:用字段描述 每个记录类型可包含若干个字段
    • 联系:用结点之间的连线表示记录类型(实体)之间的一对多的父子联系
  • 层次模型的定义:满足以下两个条件的基本层次联系的集合

    • 1.有且只有一个结点没有双亲结点,这个结点称为根节点
    • 2.根以外的其它结点有且只有一个双亲结点
  • 1.层次模型的数据结构
    • 特点

      • 结点的双亲是唯一的
      • 只能直接处理一对多的实体联系
      • 任何记录值只有按其路径查看
  • 2.层次模型的数据操纵与完整性约束
    • 层次模型的数据操纵

      • 查询
      • 插入
      • 删除
      • 更新
    • 层次模型的完整性约束

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

      • 层次模型的数据结构比较简单清晰
      • 查询效率高,性能优于关系模型,不低于网状模型
      • 层次数据模型提供了良好的完整性支持
    • 缺点

      • 结点之间的多对多联系表示不自然
      • 对插入和删除操作的限制多,应用程序的编写比较复杂
      • 查询子女结点必须通过双亲结点
      • 层次数据库的命令(语音)趋于程序化

1.2.6网状模型

  • 采用网状结构来表示各类实体及其实体间的联系

  • 表示方法(与层次数据模型相同)

    • 实体型:用记录类型描述 每个结点表示一个记录类型(实体)
    • 属性:用字段描述 每个记录类型可包含若干个字段
    • 联系:用结点之间的连线表示记录类型(实体)之间的一对多的父子联系
  • 网状模型的定义:满足以下两个条件的基本层次联系的集合

    • 1.允许一个以上的结点无双亲
    • 2.一个结点可以有多于一个的双亲
  • 1.网状模型的数据结构
    • 特点

      • 允许多个结点没有双亲结点
      • 允许一个结点有多个双亲结点
      • 允许两个结点之间有多种联系
      • 要为每个联系命名,并指出与该联系有关的双亲记录和子女记录
    • 多对多联系在网状模型中的表示

      • 网状模型间接表示多对多联系:将多对多联系分解成一对多联系
  • 2.网状模型的数据操纵与完整性约束
    • 导航式的查询语言和增删改操作语言

    • 完整性约束条件不严格

      • 允许插入尚未确定双亲结点值的子女结点值
      • 允许只删除双亲结点值
    • 实际的网状数据库系统提供了一定的完整性约束

      • 支持码的概念:唯一表示记录的数据项的集合,取唯一的值
      • 保证一个联系中双亲记录与子女记录之间是一对多的联系
      • 可以定义双亲记录和子女记录之间某些约束条件
  • 3.网状模型的优缺点
    • 优点

      • 能够更为直接地描述现实世界,如一个结点可以有多个和双亲
      • 具有良好的性能,存取效率较高
    • 缺点

      • 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于掌握
      • DDL、DML语言复杂,不容易使用
      • 记录之间的联系是通过存取路径来实现的,应用程序必须选择存取路径,加重了程序员的负担

1.2.7关系模型

  • 1.关系模型的数据结构
    • 在用户观点下,关系模型中数据的逻辑结构是一张二维表

    • 相关术语

      • 关系(Relation):一个关系对应通常说的一张表
      • 元组(Tuple):表中的一行即为一个元组
      • 属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名
      • 主码(Key):也称键码。表中的某个属性组,它可以唯一确定一个元组
      • 域(Domain):是一组具有相同数据类型的值的集合。属性的取值范围来自某个域
      • 分量:元组中的一个属性值
      • 关系模式:对关系的描述
    • 表示方法

      • 关系名(属性1,属性2,……,属性n)
      • 学生(学号,姓名,年龄,性别,系别,年级)
    • 限制条件:关系必须是规范化的,满足一定的规范条件

      • 关系中的每一个分量必须是一个不可分的数据项,不允许表中还有表
    • 术语对比

      • 关系术语

        • 一般表格的术语
      • 关系名

        • 表名
      • 关系模式

        • 表头(表格的描述)
      • 关系

        • (一张)二维表
      • 元组

        • 记录或行
      • 属性

      • 属性名

        • 列名
      • 属性值

        • 列值
      • 分量

        • 一条记录中的一个列值
      • 非规范关系

        • 表中有表(大表中嵌有小表)
  • 2.关系模型的操纵与完整性约束
    • 数据操作是集合操作,操作对象和操作结果都是关系

      • 查询
      • 插入
      • 删除
      • 更新
    • 存取路径对用户隐蔽,用户只要指出“找什么”,不必详细说明“怎么找”

      • 提高了数据的独立性,提高了用户生产率
    • 关系完整性约束条件

      • 实体完整性
      • 参照完整性
      • 用户定义完整性
  • 3.关系模型的优缺点
    • 优点

      • 建立在严格的数学概念的基础上

      • 概念单一

        • 实体和各类联系都用关系来表示
        • 对数据的检索结果也是关系
      • 关系模型的存取路径对用户透明

        • 具有更高的数据独立性,更好的安全保密性
        • 简化了程序员的工作和数据库开发建立的工作
    • 缺点

      • 存取路径对用户透明,查询效率往往不如格式化数据模型
      • 为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度

1.3数据库系统的结构

从数据库应用开发人员角度来看

  • 数据库采用三级模式结构,是数据库系统内部的系统结构

从数据库最终用户角度看

  • 数据库系统的结构有

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

1.3.1数据库系统模式的概念

  • 模式(Schema)

    • 是对数据库逻辑结构和特征的描述
    • 是型的描述,不涉及具体值
    • 模式是相对稳定的
  • 实例(Instance)

    • 数据库某一时刻的状态——模式的一个具体值
    • 同一个模式可以有很多实例
    • 实例随数据库中的数据的更新而变动
  • “学生选课数据库”模式:学生、课程和学生选课3个关系模式

    • 学生表Student(Sno,Sname,Ssex,Sage,Sdept)
    • 课程表Course(Cno,Cname,Cpno,Ccredit)
    • 学生选课表Sc(Sno,Cno,Grade)

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

  • 1.模式(Schema)
    • 模式(也称逻辑模式)

      • 数据库中全体数据的逻辑结构和特征的描述
      • 所有用户的公共数据视图
    • 一般,某个应用的数据库有一个模式

    • 模式是数据库系统模式结构的中心

      • 与数据的物理存储细节和硬件环境无关
      • 与具体的应用程序、开发工具及高级程序设计语言无关
    • 定义模式

      • DDL定义数据的逻辑结构,以某种数据模型为基础 数据记录由哪些数据项构成,数据项的名字、类型、取值范围等
      • 定义数据之间的联系
      • 定义与数据有关的安全性、完整性要求
  • 2.外模式(External Schema)
    • 外模式(也称子模式或用户模式)

      • 数据库用户使用的局部数据的逻辑结构和特征的描述
      • 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
    • 外模式与模式的关系

      • 外模式通常是模式的子集、一个模式可以有多个外模式 反映了不同用户的应用需求、看待数据的方式、对数据保密的要求
      • 对模式中的某一个数据,在不同的外模式结构中 结构、类型、长度、保密性级别等都可以不同
    • 外模式与应用的关系

      • 一个外模式可以为多个应用系统所使用,一个应用程序只能使用一个外模式
    • 外模式的用途

      • 每个用户只能看见和访问所对应的外模式中的数据,简化用户视图
      • 保证数据库安全性的一个有力措施
  • 3.内模式(Internal Schema)
    • 内模式(也称存储模式)

      • 是数据物理结构和存储方式的描述

      • 是数据在数据库内部的表示方式

        • 记录的存储方式(例如,顺序存储,堆存储,Cluste按Hash方式存储等)
        • 索引的组织方式(B+树,Bitmap,Hash)
        • 数组是否被压缩存储
        • 数据是否加密
        • 数据存储记录结构的规定——如定长/变长,记录是否可以跨页存放等
      • 一个数据库只有一个内模式

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

  • 三级模式是对数据的三个抽象级别

  • 数据库管理系统内部提供二级映像

    • 外模式/模式映像
    • 模式/内模式映像
  • 三个抽象层次的联系和转换

  • 1.外模式/模式映像

    • 对一个外模式,有一个外模式/模式映像

      • 定义外模式与模式之间的对应关系
      • 映像定义通常包含在各外模式的描述中
    • 保证数据的逻辑独立性

      • 当模式改变时,数据库管理员对外模式/模式映像作相应改变,使外模式保持不变
      • 应用程序是依据数据的外模式编写的,应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性
  • 2.模式/内模式映像

    • 模式/内模式映像

      • 定义了数据全局逻辑结构与存储结构之间的对应关系。如,说明某个逻辑记录对应何种存储结构
    • 数据库中模式/内模式映像是唯一的

      • 该映像定义通常包含在模式描述中
    • 保证数据的物理独立性

      • 当数据库的存储结构改变了,数据库管理员修改模式/内模式映像,使模式保持不变。
      • 模式不变,则应用程序不变。保证了数据与程序的物理独立性,简称数据的物理独立性
  • 数据库的二级映像功能与数据独立性

    • 保证了应用程序的稳定性

      • 除非应用需求本身发生变化,否则应用程序一般不需要修改
    • 从程序为中心——发展为以数据为中心

      • 具有了数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。
    • 数据的存储由数据库管理系统管理

      • 简化了应用程序的编制
      • 大大减少了应用程序的维护和修改

1.4数据库系统的组成

1.硬件平台及数据库

  • 数据库系统对硬件资源的需求

    • 足够大的内存
    • 足够大的磁盘或磁盘列阵等外部设备
    • 较高的通道能力,提高数据传送率

2.软件

  • 数据库管理系统
  • 支持数据库管理系统运行的操作系统
  • 与数据库接口的高级语言及其编译系统
  • 以数据库管理系统为核心的应用开发工具
  • 为特定应用环境开发的数据库应用系统

3.人员

  • 数据库管理员(DBA)
    • 1.参与确定数据库中的信息内容和结构

    • 2.参与数据库的存储结构和存取策略的设计

    • 3.参与确定数据安全性要求和完整性约束条件

    • 4.监控数据库的使用和运行

      • 周期性转储数据库

        • 数据文件
        • 日志文件
      • 系统故障恢复

      • 介质故障恢复

      • 监视审计文件

    • 5.数据库的改进和重组

      • 性能监视和调优
      • 定期对数据库进行重组织,以提高系统的性能
      • 需求增加和改变,数据库需要重构造
  • 系统分析员和数据库设计人员
    • 系统分析员

      • 负责应用系统的需求分析和规范说明
      • 与用户及数据库管理员结合,确定系统的硬软件配置
      • 参与数据库系统的概要设计
    • 数据库设计人员

      • 参加用户需求调查和系统分析
      • 确定数据库中的数据
      • 设计数据库各级模式
  • 应用程序员
    • 设计和编写应用系统的饿程序模块
    • 进行调试和安装
  • 最终用户
    • 偶然用户

      • 不经常访问数据库,但每次访问数据库时往往需要不同的数据库信息
      • 企业或组织机构的高中级管理人员
    • 简单用户

      • 主要工作是查询和更新数据库
      • 银行的职员、机票预定人员、旅馆总台服务员
    • 复杂用户

      • 工程师、科学家、经济学家、科技工作者等
      • 直接使用数据库语言访问数据库,甚至能够基于数据库管理系统的应用程序就扣编制自己的应用程序
  • 不同的人员涉及不同的数据抽象级别,具有不同的数据视图

1.5小结

  • 重点
    • 牢固掌握概念模型的基本概念;数据模型的3个组成要素;
    • 数据库系统的三级模式和两层映像的体系结构;
    • 数据库系统的逻辑独立性物理独立性等;
  • 难点
    • 介绍了大量的基本概念
    • 数据模型数据库系统的体系结构
  • 21
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HUAYI_SUN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值