【数据库系统概论】

只记录了个人觉得的重点和难点知识,大部分是摘抄ppt,部分会给出自己的解答和扩展。

持续更新中


1. 绪论

1.1 数据库系统概述

数据(Data) :数据库存储的基本对象,即数据表的一行数据,如一个学生

数据库(Database,DB) :长期储存在计算机内、有组织的、可共享的大量数据的集合。
基本特征

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

数据库管理系统 (DataBase Management System,DBMS) :位于用户应用与操作系统之间的一层数据管理软件,是基础软件,是一个大型复杂的软件系统,能够科学地组织和存储数据、高效地获取和维护数据。
主要功能:

  • 数据定义功能
    • 提供数据定义语言(DDL)
    • 定义数据库中的数据对象
  • 数据组织、存储和管理
    • 分类组织、存储和管理各种数据
    • 确定数据在存储级别上的结构和存取方式
    • 实现数据之间的联系
    • 提供多种存取方法提高存取效率
  • 数据操纵功能
    • 提供数据操纵语言(DML)
    • 实现对数据库的基本操作 (查询、插入、删除和修改)
  • 数据库的事务管理和运行管理
    • 数据的安全性、完整性、多用户对数据的并发使用
    • 发生故障后的系统恢复数据库
    • 由数据库管理系统统一管理和控制,保证事务正确运行
  • 数据库的建立和维护功能
    • 提供实用程序/工具,完成数据库数据批量装载,数据库转 储,介质故障恢复,数据库的重组织和性能监视等
  • 其它功能
    • 数据库管理系统与网络中其它软件系统的通信
    • 数据库管理系统系统之间的数据转换
    • 异构数据库之间的互访和互操作

也就是说,数据库管理系统就是我们平时说的数据库,如mysql数据库就是一个数据库管理系统

八大常见数据库管理系统

数据库系统 ( DataBase System ,DBS ) :是指在计算机系统中引入数据库后的系统构成。
在不引起混淆的情况下常常把数据库系统简称为数据库。
数据库系统的构成

  • 数据库
  • 数据库管理系统(及其应用开发工具)
  • 应用程序
  • 数据库管理员(DataBase Administrator,DBA
    在这里插入图片描述

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

数据管理技术发展:人工管理阶段、文件系统阶段、数据库系统阶段。

数据库系统的特点:

  • 数据结构化
  • 数据的共享性高,冗余度低且易扩充
  • 数据独立性高
  • 数据由数据库管理系统统一管理和控制

数据独立性:指应用程序数据结构之间相互独立, 互不影响

  • 物理独立性:应用程序与数据的物理存储是相互独立的,数据的物理存储改变了,应用程序不变
  • 逻辑独立性:

数据独立性由数据库管理系统的二级映像功能来保证。

数据库管理系统提供的数据控制功能

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

1.2 数据模型

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

数据模型分为两类(两个不同的层次)

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

概念模型

术语:

  • (1)实体(Entity) 客观存在并可相互区别的事物称为实体。 可以是具体的人、事、物或抽象的概念。 (一张表)
  • (2)属性(Attribute) 实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。 (字段)
  • (3)码(Key) 唯一标识实体的属性集称为码。 (主键)
  • (4)实体型(Entity Type) 用实体名及其属性名集合来抽象和刻画同类实体称为实体型
  • (5)实体集(Entity Set) 同一类型实体的集合称为实体集
  • (6)联系(Relationship) 现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。
    • 实体内部的联系: 是指组成实体的各属性之间的联系
    • 实体之间的联系: 通常是指不同实体集之间的联系 实体之间的联系有一对一(1:1)、一对多(1:n)和多对多(m:n)等多种类型

实体-联系方法(Entity-Relationship Approach)
ER图

数据模型的组成要素

  • 数据结构–描述系统的静态特性
  • 数据操作–描述系统的动态特性
  • 完整性约束

数据模型 在这里插入图片描述
常用数据模型:

  • 层次模型:一棵树,有且只有一个根节点;除根以外,其他节点有且只有一个父节点
    • 在这里插入图片描述
    • 完整性约束条件:无父则无子;强外关联;
    • 在这里插入图片描述
  • 网状模型:更倾向于连接方式
    • 在这里插入图片描述
  • 关系模型:更倾向于表达一张表的结构;(就是我们常用的关系数据,如同excel表)
    • 术语:
      • 关系(Relation)—— 一个关系对应通常说的一张表
      • 元组(Tuple)—— 表中的一行即为一个元组
      • 属性(Attribute)——表中的一列即为一个属性,给每一个属性起一个名称即属 性名
      • 主码(Key)——也称码键。表中的某个属性组,它可以唯一确定一个元组
      • 域(Domain)——是一组具有相同数据类型的值的集合。 属性的取值范围来自某个域。 例:学生年龄属性的域(15~45岁), 性别的域是(男,女), 系名的域是一个学校所有系名的集合;
      • 分量——元组中的一个属性值。
      • 关系模式——对关系的描述 关系名(属性1,属性2,…,属性n) 学生(学号,姓名,年龄,性别,系名,年级)
        在这里插入图片描述
  • 最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允许表中还有表。
  • 关系的完整性约束:在这里插入图片描述
  • 在这里插入图片描述

1.3 数据库系统的结构

从数据库应用开发人员角度看:
数据库系统采用三级模式结构,是数据库系统内部的系统结构
从数据库最终用户角度看,数据库系统的结构有:

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

数据库系统模式
模式(Schema)

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

实例(Instance)

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

数据库系统的三级模式结构
在这里插入图片描述
理解三层模式:
内模式:记录数据的物理结构和存储方式,如使用堆存储、压缩存储、加密等
模式: 数据库中全体数据的逻辑结构和特征的描述
外模式:数据库用户使用的局部数据的逻辑结构和特征的描述

假设现在有一堆学生数据,存放在数据库中,模式理解如下图:
在这里插入图片描述

显然,内模式和模式只有一种,外模式根据用户需求,有多种。

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

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

  • Map:{外模式:模式映像 }
  • Map:{模式:内模式映像 }

先举个例子:
假设A和C认识,经常联系,他们直接联系,即A–>C。
有一天,C整容失败了,A就不认识C了,AC就断了。

现在加入映射。
A–>B–>C
A现在跟C联系,它需要通过B,这个B就是一个映射关系。
如果C现在整容了,管理员只需要让B在认识一下C就行了(修改B),A继续通过B找C,依旧能找到。
(为什么不修改A呢?因为实际开发中,A作为“用户”,如果会因为底层变动而改变,是非常不好的做法,这里不多赘述,可以百度面向接口编程

外模式/模式映像:

  • 当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。应用程序是根据数据的外模式编写的,从而应用程序不用修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。

(假设用户想要的外模式视图是(学号,姓名),当数据本身的模式变了,管理员就让映射关系变一下,用户依旧能得到(学号,姓名))

模式/内模式映像:

  • 数据库只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的。该映像定义通常包含在模式描述中。当数据库的存储结构改变时(例如选用了另一种存储结构,即内模式变了),由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序之间的物理独立性,简称数据的物理独立性。

1.4 数据库系统的组成

在这里插入图片描述

问题记录

1. 如何理解数据独立性中的逻辑独立性

查看1.3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章