Ch1 数据库系统概论

1.1 数据库基本概念

Snipaste_2021-12-14_15-29-36.png

  • Data

    – 数据必须是保存在计算机中,能够被计算机识别、存储、处理的。数据是信息的载体。

  • Information

    – 信息是经过加工后的数据,是对数据的具体描述。

  • Database,DB

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

  • Database Managing System,DBMS

    – 位于用户与操作系统之间的一层数据管理软件,作用是 使数据称为方便各种用户使用的资源,并提高数据的安全性、完整性和可用性。

  • Metadata

    – 元数据即描述数据的数据,相当于数据字典。主要是描述数据属性(property)的信息,如数据的类型,格式,存储大小等。

    Snipaste_2021-12-14_15-51-53.png

  • Database System,DBS

    Snipaste_2021-12-14_16-02-22.png

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

三个阶段

databaseDevelopment.png

1 人工管理阶段

  1. 数据不能共享
  2. 数据无独立性

Snipaste_2021-12-14_16-09-47.png

2 文件系统阶段

特点:

  • 数据以“文件”形式可长期保存在外部存储器的磁盘上
  • 数据的逻辑结构与物理结构有了区别,但比较简单

不足:

  • 数据冗余
  • 不一致性【由数据冗余造成的,同样的数据在不同文件中不一致】
  • 数据联系弱

fileSystemStage.png

3 数据库管理系统阶段

  1. 采用数据模型表示复杂的数据结构
  2. 有较高的数据独立性
  3. 数据库系统为用户提供了方便的用户接口 DAO【data access object】
  4. 数据库系统提供了数据控制功能
    • 数据库的并发控制
    • 数据库的恢复
    • 数据完整性
    • 数据安全性

DBMSStage.png

1.3 数据模型

  • 数据模型的基本概念

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

  • 数据模型的组成要素 三要素

    1. 数据结构
    2. 数据操作
    3. 数据完整性

1 概念数据模型

概念数据模型(Conceptual Data Model)是用户容易理解的、对现实世界特征的数据抽象,它与具体的DBMS无关,是数据库设计员与用户之间进行交流的语言。常用的概念数据模型是 实体-联系(Entity-Relationship)模型。

E-R图的表示规则:实体集用矩形,属性用椭圆形,联系用菱形。

ERModel.png

2 逻辑数据模型

逻辑数据模型即数据模型,是用户从数据库中所看到的数据模型,是具体的DBMS所支持的数据模型。

主要有 层次模型、网状模型、关系模型*、面向对象模型*。

层次模型

– 用**树形(层次)**结构来表示各类实体以及实体间的联系,每一结点表示一个记录类型(实体型),每个记录类型包含若干个字段(实体的属性)。层次模型数据结构简单清晰

缺点:

  • 实现复杂
  • 难以管理
  • 实现的限制【不完全是1:m标准】
  • 缺乏标准
  • 缺乏结构独立性
  • 应用程序编写 和 使用 复杂性

优点:对1:m的树形数据结构描述自然、直观、容易理解。

网状模型

– 一种比层次模型更具普遍性的结构(有向图结构)。去掉了层次模型的两个限制,允许多个结点没有双亲结点,允许结点有多个双亲结点

关系模型*

优点:

  • 结合了层次和网状的优点,摒弃了他们的缺点;
  • 强烈的数学支撑 —— 关系代数
面向对象模型*

redis数据库采用此数据模型

1.4 DBMS的功能和特点

功能

DBMSFunction.png

  • 数据定义功能

    – 完成对数据库和表的定义功能,DDL(Data Definition Language)

  • 数据操作功能

    – 提供数据操作语言 DML(Data Manipulation Language),可以对数据库中的数据进行 CRUD 等操作。

  • 数据库运行控制功能

    – 提供数据控制语言DCL(Data Control Language),可以对数据库中的数据进行并发控制功能、数据的安全性控制、数据的完整性控制

  • 数据组织、存储和管理功能

    – DBMS分类组织、存储和管理各种数据,包括数据字典、用户字段、数据的存储路径。确定以何种文件结构和存取方式在存储级上组织这些数据,实现数据之间的联系。

  • 数据库的建立 和 维护功能

    1. 数据库初始数据的输入
    2. 转换功能
    3. 数据库的转储
    4. 恢复功能
    5. 数据库的重组织功能和性能监视
    6. 分析功能

特点

  • 数据结构化【数据库系统与文件系统的本质区别】
  • 数据的共享性高、冗余度低,易扩展
  • 数据独立性高【脱离软件和硬件,逻辑和物理独立性】
  • 数据由DBMS统一管理和控制

1.5 DBS的物理组成 和 模式结构

  • DBS的生态组成,物理组成

    Snipaste_2021-12-14_16-02-22.png

  • DBMS

    – 位于用户与操作系统之间的一层数据管理软件,主要目标是使数据成为方便各种用户使用的资源,并提高数据的安全性完整性可用性

  • 三级模式

    mode.png

  • 二级映射

    map.png

  • 三级模式的主要特点

    • 数据独立性

      – 对较低层的修改不会对较高层造成影响。数据独立性分为 逻辑独立性 和 物理独立性 两类。

    • 逻辑独立性【外部模式不受概念模式变化影响】

    • 物理独立性【概念模式不受内部模式变化的影响】

1.6 常用DBMS产品介绍

  • SQL Server:Microsoft
  • Oracle:50%市场占比
  • MySQL:开源 关系数据库

Ch2 关系模型与关系代数

2.1 关系模型的基本概念

  • 关系实例

    – Instance

    relationEntity.png

  • 关系模式

    – Relation Schema

    relationModel.png

  • 关系数据库

    relationDB.png

  • 关系

    – 一个关系是**模式(Schema)和该模式实例(Instance)**的组合。

    relation.png

  • 元组

    – 表中的一行(即一个记录),表示一个实体。关系是由元祖组成的。

  • 属性

    – 表中的每一列称为属性。每个属性都有一个属性名,属性值则是各元祖属性的取值。

  • – 属性的取值范围。同一属性只能在相同域取值。

  • – 属性域的个数称为关系的 目 或 度。【对关系复杂度的度量】

  • 分量

    – 元祖的一个属性值。【最小单位】

  • – 关系中能唯一区分不同元组属性或属性值,称为关系的一个(Key),或者称为 关键字 或 码。关键字的属性值必须唯一,且不能取空值。

  • 候选键

    – 凡是键都是候选键(Candidate Key)。候选键的特征包括:唯一性 和 最小性。

  • 主属性 & 非主属性

    – 在候选键中的属性称为 主属性(Prime Attribute),不包括在任何候选键中的属性称为 非主属性。

  • 全码

    – 在最极端的情况下,关系模式的所有属性都是这个关系模式的候选键,称为 全码(All Key)

  • 主键

    – Primary Key,关系中主键是唯一的,从候选键中选择出来的。

  • 外键

    – Foreign Key,表A的外键是表B的主键,也是表A与表B的联系所在。表A称为参照关系,表B称为被参照关系。

2.2 关系模型的数据结构

数据模型的三要素之一,数据结构。

  • 关系

    – 参照关系

    关系有三种类型:基本关系(基本表)、查询表 和 视图表

    基本表是实际存在的表,它是实际存储数据的逻辑表示。

    查询表是查询结果对应的表。

    视图表是由基本表或其它视图导出的表,是虚表,不对应实际存储的数据。

  • 关系模式

    – 关系模式(relation Schema)是型,关系是值

    – 关系模式是一个五元组,形式化定义为: R ( U , D , D O M , F ) R(U,D,DOM,F) R(U,D,DOM,F)

    • R R R:关系名;
    • U U U:组成该关系的属性名集合, ( A 1 , A 2 , . . . , A n ) (A1,A2, ... ,An) (A1,A2,...,An)
    • D D D:属性组U中属性所来自的域;
    • D O M DOM DOM:属性向域的映像集合;
    • F F F:属性间数据的依赖关系集合。

    也可简化为 R ( U ) R(U) R(U) or R ( A 1 , A 2 , . . . , A n ) R(A1,A2, ... ,An) R(A1,A2,...,An)

  • 关系数据库模式

    – 若干关系模式的集合 R 1 , R 2 , . . . , R n {R1,R2,...,Rn} R1,R2,...,Rn 和 完整性约束的集合 I C IC IC 构成 关系数据库模式 S S S

2.3 关系模型的数据操作

数据模型三要素之二,数据操作。

  • 数据查询

    – 数据查询操作

    可分为:选择连接、投影、、除、交、笛卡尔积等。

    其它操作可由加黑的五种基本操作导出。

  • 数据维护

    – 数据增删改

  • 数据控制

    – 数据安全性 和完整性 的控制 和 并发控制 等功能

2.4 关系数据的数据约束

  1. 固有约束

    – 数据模型中固有的约束

  2. 完整性约束*

    – 可以在数据模型的模式中直接表述的约束

  3. 触发器(复杂/动态逻辑)

    – 不能在数据模型的模式中直接表述的约束,必须由应用程序表示和执行

  4. 数据依赖

    – 数据依赖,包括函数依赖和多值依赖

完整性约束

  • 实体完整性约束,base

    – 要求表中的所有行都有唯一的标识符,称为主键。基本关系的所有主关键字对应的主属性都不能取空值,且取值唯一。在关系模型中,主关键字作为唯一的标识,且不能为空值。

  • 参照完整性,base

    – 若属性或属性值F是基本关系R的外键,它与基本关系S的主键相对应(基本关系R和S不一定是不同的关系),则对应R中每个元祖在F上的值必须为:

    1 或者取空值,

    2 或者等于S中某个元组的主键值。

  • 用户自定义完整性

    – eg:性别 属性: 男/女百分制成绩 属性: 0-100

2.5 关系代数

看书后再整理。

Ch8 实体联系E-R模型

8.1 E-R模型概述

实体-联系(E-R)模型是一种语义模型,模型的语义方面主要体现在模型力图去表达数据的意义。

三个基本概念:实体、属性、联系

  • 实体是客观世界中描述客观事物的概念,是一个数据对象。
  • 实体是由属性来刻画的。
  • 联系也可能有属性,用于描述联系的特征。

映射基数

  • 一对一
  • 一对多
  • 多对多

8.2 E-R模型的拓展特性

– 普通E-R模型已不能满足需求

  • 特殊化/概化

    – 特殊化/概化的概念与一些特殊实体类型及属性继承联系在一起,这些特殊的实体类型称为超类(Superclass)和子类(Subclass)。

  • 超类和子类的概念

  • 属性继承

  • 特殊化过程

  • 概化过程

8.3 E-R模型的设计

8.4 E-R图转换为关系模型的规则

1 E-R模型概述

实体-联系(E-R)模型是一种语义模型,模型的语义方面主要体现在模型力图去表达数据的意义。

三个基本概念:实体、属性、联系

  • 实体是客观世界中描述客观事物的概念,是一个数据对象。
  • 实体是由属性来刻画的。
  • 联系也可能有属性,用于描述联系的特征。

映射基数

  • 一对一
  • 一对多
  • 多对多

8.2 E-R模型的拓展特性

– 普通E-R模型已不能满足需求

  • 特殊化/概化

    – 特殊化/概化的概念与一些特殊实体类型及属性继承联系在一起,这些特殊的实体类型称为超类(Superclass)和子类(Subclass)。

  • 超类和子类的概念

  • 属性继承

  • 特殊化过程

  • 概化过程

8.3 E-R模型的设计

8.4 E-R图转换为关系模型的规则

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐