数据库基础概论期末复习(已完结)

所有内容均总结自自中国大学慕课 MOOC-北京信息科技大学-车蕾老师的数据库系统基础课程 https://www.icourse163.org/shortUrl/parse/RcDZo可以从该链接直接观看讲解视频和课件

第一章 数据库概论

1.1 数据管理及其发展过程

4214fa4ec39a4d77959b4e5dcc107878.png

1.1.1 人工管理阶段

背景

  • 硬件上没有磁盘,软件上没有操作系统和、管理数据的软件。

f7ad1ccf743a4281864bedc189d79c54.png

特点

  •  数据不保存;
  • 没有软件系统对数据进行管理;
  •  只有程序的概念,没有文件的概念;
  • 一组数据对应一个程序,数据是面向程序的;
  • 没有形成完整的数据管理的概念。

1.1.2 文件系统阶段

背景

  • 直接存取存储设备;
  • 操作系统(含文件系统)和高级语言。

c5cfca5038ce425593d78b60c12262e0.png

特点

  • 数据可长期保存在磁盘上,可经常对文件进行增删改查等操作;
  • 有软件(文件系统)对数据进行管理,程序和数据有了一定独立性(数据不再属于某个特定的程序,可以重复使用;
  • 文件的形式多样化;
  • 数据的存取基本上以记录为单位。

文件系统的缺陷

  • 程序和数据之间的独立性差;
  • 数据联系弱;
  • 数据冗余大;
  • 数据不一致性。

1.1.3 数据库系统阶段

标志着数据库技术诞生的三个事件

层次数据模型 第一代数据库系统
网状数据模型
关系数据模型(二维表) 第二代数据库系统


1.2 数据库系统的特点

1.2.1 数据库是相互关联的数据的集合

1.2.2 用综合的方法组织数据

1.2.3 低冗余与数据共享

        保证数据的一致性

1.2.4 数据具有较高的独立性

  • 如数据库的三层模式结构

        数据独立性是指数据的组织和存储方式与应用程序互不依赖、彼此独立。

1.2.5 保证数据的正确性

  • 如关系模型的完整性约束

        保证数据正确的特性在数据库中称之为数据完整性。

1.2.6 保证数据的安全、可靠

  • 主动安全(安全机制):有效地防止数据库中的数据被非法使用或非法修改;
  • 被动安全(备份恢复):数据遭到破坏时能立刻将数据完全恢复。

1.2.7 数据可以并发使用并能同时保证其一致性

        在多个用户同时使用数据库时,能够保证不产生冲突和矛盾,保证数据的一直信奉和正确性。

  • 允许并发的同时采取了一些保障(事务管理与并发控制)来保障数据一致性。


1.3 数据模型初步

1.3.1 数据模型

  1. 概念:描述数据、组织数据、对数据进行操作,是对现实世界数据特征的描述。
  2. 建立数据的目的: 将现实事物转成数字化的数据,才能让计算机识别处理。
  3. 数据模型应满足三个条件:
能比较真实地模拟现实世界 概念数据模型(认知模型)
容易被人们理解
便于在计算机上实现 组织数据模型(实现模型)

8a083782bd1c45cfbf7e9baf3587dba4.png

1.3.2 概念数据模型(认知模型)

        描述现实世界的数据模型成为概念模型或概念数据模型。

E-R(Entity Relationship)的三要素

  • 实体
  • 属性
  • 联系

1.3.3 组织层数据模型(实现模型)

1 层次数据模型

  • 用树形结构来表达实体之间联系;
  • 层次模型表示一对多的联系直接而方便;
  • 层次模型有两点限制:1.有且仅有一个节点无父结点,这个节点即为树的根;2.其他结点有且仅有一个父结点;
  • 不能表示多对多;
  • eg:IMS。

2 网状数据模型

  • 用网状结构来表示实体之间联系;
  • 取消了层次模型中的两点限制;
  • eg:CODASYL。

3 关系数据模型

  • 用关系(表格数据)表示实体之间联系;
  • 关系:二维表格
  • eg:E.F.Codd。


1.4 三层模式结构与数据库管理系统

1.4.1 三层模式结构与数据独立性

1 数据库管理系统的基本功能

  • 数据库管理系统管理数据库的系统软件;
  • 数据库管理系统(DBMS);
  • 数据库的诸多特点是靠用好的DBMS来保证。

DBMS基本功能:

  • 数据库定义功能;
  • 数据库操纵功能;
  • 数据库查询功能;
  • 数据库控制功能;
  • 数据库通讯功能。

2 数据库的三层模式结构

eea428949f6c48c1864f773d4fc2fed5.png

3 数据独立性:

        指应用程序与数据的组织和存储结构相互独立的特性。(具体说,就算修改数据的组织方法和存储结构,应用程序不用修改)。

4 数据库管理系统的基本框架

e75dc424a2784d9786fa27f59df5ac1f.png

当一个用户程序通过DBMS读取一条记录时,

  1. 用户程序向DBMS发出读一条记录的指令;
  2. DBCS分析指令,访问对应的外部模式;
  3. DBCS完成外部模式到概念模式的转换,决定访问哪个(些)概念文件;
  4. DBSS完成概念模式到存储模式的转换,决定访问哪个(些)存储文件;
  5. DBSS调用存取方式,通过操作系统将读取到的记录送到系统缓冲区;
  6. 用户程序从系统缓冲区得到所需记录和DBMS返回的状态信息;
  7. 用户程序在工作区中使用所得到的记录。


1.5 数据库系统

1.5.1 组成

        以数据为主体的数据库,和管理数据库的系统软件数据库管理系统(DBMS),····。

1.5.2 数据库管理和数据库管理员

  数据库管理员(DBA,Database Adminstrator)

  •  从事数据库管理工作;
  • 是一种角色;
  • 负责数据库规划、设计、实施、运行各个阶段。


第二章 概念数据模型

2.1 概念数据模型及实体联系方法

2.1.1 概念

  • 信息:客观事物在人脑中产生的反映;
  • 概念数据模型:描述现实世界数据及其之间联系的方法。
  • 数据:数据化后的信息

2.1.2 实体-联系方法(E-R图)

 1 三要素:实体、属性、联系

cfb7c24a5cc0485b8c8a74c4d4ab31e2.png

2 概念

        实体:客观存在并可以相互区分的客观事物抽象事件

        属性:实体的特征(性质);

        实体集:具有相同属性的一类实体的集合;

        弱实体:仅靠自身的特征不能区分一个个实体,需要借助其他实体的特征才能够进行区分;

        联系:数据之间的关联集合。

3 实体之间的基本联系

        1:1;

        1:n;

        m:n;

4 依赖联系

        被弱实体所依赖的实体集也称作强实体集,强弱实体机之间的联系叫依赖联系。


2.2 深入讨论联系的几个问题

2.2.1 多对多联系

由于技术上的原因,不直接使用多对多,而是将它们转换为一对多联系。

a2f10b8d90754fc4998eb124a825c900.png

并且,两个实体之间多对多的联系一定能转换成一对多的联系!

2.2.2 概念、逻辑、物理数据模型

  1. 概念数据模型:确定实体、实体间的关系
  2. 逻辑数据模型:确定实体的属性
  3. 物理数据模型:确定关系、属性、联系如何映像到具体实现,数据类型等


第三章 关系数据库基础

3.1 关系数据库系统概述

3.1.1 SQL(关系数据库标准语言)

SQL的特点:

  • SQL是一种一体化的语言,它包含了数据定义、查询、操作和控制等方面的功能;
  • SQL语言是一种高度非过程化的语言;
  • SQL语言非常简洁;
  • SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言以程序方式使用。

3.1.2 关系数据库的三层模式结构

804c136c98544bac91c4b3824b952feb.png

用户可以直接进行操作的:基本表视图.

3.1.3 SQL Server的数据库存储结构

390895790b714093ae3daf2e218762f0.png

master数据库

 用于存储所有系统级信息,包括:       

  • 所有的其他数据库的信息(包括);
  • 所有数据库注册用户的信息;
  • 系统配置信息等。

tempdb数据库

用于保存所有的临时表和临时存储过程,还可以满足任何其它的临时存储要求 

  • 全局资源;
  • 在SQL Server每次启动时都重新创建;
  • 空间管理

model数据库

是一个模板数据库,必须一直存在于SQL Server系统中。

数据库的物理存储基本上是由SQL Server自动管理的。

3.1.4 SQL Server的用户数据库

  1. 用户数据存储在用户数据库中;
  2. 像操作系统申请存储空间;
  3. 用来存储数据库数据的操作系统文件可以分为:

2bde122b0b284574b954f8bff38bd613.png

1. 主数据文件

  • 存储数据库的启动信息和系统表,也可以用来存储用户数据;
  • 每个数据库有且仅有一个主数据文件;
  • 主数据文件扩展名:.mdf。

2. 次数据文件

  • 保存所偶主数据文件中容纳不下的数据;
  • 通过次数据文件,可以将一个数据库的数据分布在多个磁盘上;
  • 每个数据库有0至多个次数据文件。
  • 次数据文件扩展名:.ndf

3. 事务日志文件

  • 保存恢复数据库的日志信息;
  • 每个数据库有1至多个事务日志文件;
  • 日志文件扩展名:.ldf


3.2 关系数据模型

3.2.1 关系数据模型的三个要素和关系的形式定义

1. 三个要素

a.关系数据结构:

        实体及实体与实体之间的联系均用关系来表示,关系就是数二维表;

b.关系操作集合:

        关系操作可以用代数操作(通过代数对关系的运算来表达查询要求的方式)和逻辑方式(通过关系演算、用谓词表达对关系的查询要求的方法)来表示;                     

          关系数据语言分三类:关系代数语言、关系演算语言、具有双重特点的SQL语言。

c.关系完整性约束:

        分三类:实体完整性、参照完整性、用户自定义完整性。

2.关系的形式定义

a.

  • 关系(二维表)是笛卡尔积的子集;
  • 表的每一行数据都是一个元组;
  • 表的每一列称为属性;
  • 元组中的每一个属性值称为元组的一个分量;
  • 属性取值范围称为值域。

b.

需要说明两点:

  • 关系是元组的集合,集合中元素(元组)无需,元组中分量有序;1a97ff16316e4cc2a3668d9fd2340a82.png
  • 有限关系(元组个数有限)。

3.2.2 关系的基本性质

f1debf30333544bcacf006c4caa3b3bf.pngX

  1. 每一分量都是不可分的;
  2. 列的个数和每列的数据类型固定;
  3. 不同的列可以出自同一个值域;
  4. 列顺序无关紧要(可以任意交换,但是属性名和属性值必须作为整列同时交换);
  5. 行的顺序无关紧要(可以任意交换);
  6. 元组不可以重复(完全一样)。

3.2.3 关系模型的数据结构和基本术语

  1. 候选关键字:能唯一标识一个关系的元组的最小属性集(为主关键字做准备);
  2. 主关键字(PK):能唯一标识一个关系的元组的最小属性集;
  3. 外部关键字(FK):一个属性集不是所在关系的关键字,但是是其他关系的关键字;
  4. 参照关系:1(悲惨找关系):n(参照关系)。


3.3 关系模型的完整性约束

  1. 实体完整性约束:每个元组都是可识别和唯一的;

  2. 参照完整性约束:参照关系中的值要么取空,要么是被参照元组中的值;

  3. 用户自定义完整性约束:CHECK, DEFAULT。


3.4 关系代数

3.4.1传统的:

        交,   并,   差,   广义笛卡尔积bcdb9f9951c34327a341a467d6316f09.png

3.4.2专门的:

eq?%5Cdelta SELECT 选择运算 行筛选
eq?%5Cpi PROJECT 投影运算 列筛选
59fec2bde696492f88a3535b7e4c2023.png JOIN 连接运算(选择某些行形成新关系) 自然连接(除去重复)
÷ DIVISION 除运算 37ccaac8a1834c63990d769ed1996489.png


第四章 关系数据理论

4.1 函数依赖

4.1.1 定义

        对于Y=f(X),给定一个X,都有一个Y对应,则X决定Y(X→Y),Y依赖于X;

严格形式化定义:

        21b49409215546a88da4e5c1a22454d1.png

4.1.2 术语和符号

8c6c8de72b42446ea1b2ac401e48db90.jpeg

"不良"函数依赖:传递, 部分.

4.1.3 为什么要讨论函数依赖

  1. 数据冗余问题;
  2. 数据更新问题;
  3. 数据插入问题;
  4. 数据删除问题.

4.1.4 模式分解(拆表)

定义

        把一个关系模式分解成两个或多个关系模式,在分解的过程中消除那些“不良”的函数依赖,从而获得好的关系模式。

例如:

        仓库(仓库号,地点,设备号,设备名,库存数量)

-----> 分解为:仓库(仓库号,地点) 

                        设备(设备号,设备名) 

                        库存(仓库号,设备号,库存数量)。

要求:

  1. 无损连接: 生成的表数据没变,经过自然连接可以恢复成原来的关系;
  2. 保持函数依赖: 函数依赖没多没少.


4.2 函数依赖的推理规则

4.2.1 函数依赖的推理规则、Amstrong公理的推论

        自反律、增广率、传递律

02340435a8ef4d28b0729f1542f7f2d8.png

定理:Amstrong公理是正确的

Amstrong公理的推论及正确性

        合并、分解、伪传递

c08e782a281d4981a7daffba09d1dab4.png

引理:

        根据合并规则和分解规则,可以推导出:

2afe13705f7a486cae1c9c39182e5ddf.png

4.2.2 逻辑蕴涵和闭包

  1. 逻辑蕴涵:                                     c3762e53e6504e37902b518901cab5ec.png                                       
  2. 闭包:                             32c537e3ffdd43289595be15f493dfb4.png

属性集闭包

        直接计算F的闭包太复杂,所以引入了属性集闭包。

bbf55c85c34a43958123d3b06fd8cc36.png

dddf7ed096b44ee497e073c8f3a26c1d.png

4.2.3 公理的完备性

1c31ca67cf544c099a4c4cd11a57ffc1.png

4.2.4 属性集闭包的计算

算法:

e86aa47d33294cd29d46e65a70bccb04.png

举例:

例1:关系模式R(U,F),U={A,B,C,D,E},F={AB→C,B→D,C→E,EC→B,AC→B},求eq?AB%5E+_F

1 eq?X%5E%7B%280%29%7D={A,B}
2

eq?%5Cbecause F中左部为{A,B}的任意子集的函数依赖有:AB→C,B→D

eq?%5Ctherefore Z = {C,D}

3 eq?%5Cthereforeeq?X%5E%7B%281%29%7D%20%3D%20X%5E%7B%280%29%7D%20%5Ccup%20Z%20%3D{A,B,C,D}
4 则F中左部为{A,B,C,D}的任意子集的函数依赖有:AB→C,B→D,C→E,AC→B
5 eq?%5Ctherefore eq?X%5E%7B%282%29%7D = {A,B,C,D,E}
6 因为eq?X%5E%7B%282%29%7D = U,所以eq?AB%5E+_F =  {A,B,C,D,E}

4.2.5 函数依赖集的等价和最小化

1 覆盖和等价

0861ad5b778345798e818bb8a06dba0d.png

805cef31bc34424194568ffa25fd5df0.png

2 最小函数依赖

证明:

方法:

e75d87cca63e47a4a804e679038601a4.png

        也就是X的任何真子集Z无法把X→A的所有内容包括,即A完全函数依赖于X 。            

举例:

例1:假设有属性集U={A,B,C,D,E},函数依赖集F={A→B,B→C,AD→E},请问F是否是最小函数依赖。

1 F中任一函数依赖的右部都仅含有一个属性;
2

c5ca44b5000a41f697d92f8426118c8b.png

只用找左部个数大于1的就行

3 caa1975fb2b74dd591db97ba30cb7869.png

80d5544fe03a40a886ca88da5413016b.png

0d58be5f5b6b4e6c8e9648e88dcd0eac.png

求解

算法:

928fa3fec67c40d5bb74b652ba06b88e.png

举例:

例3:关系模式R(U,F), U={A,B,C,D,E},F={AB→E,DE→B,B→C,C→E,E→A},求F的最小覆盖。 。

1

因为右部都是单一属性,所以不需要用分解规则化简;

2

化简左侧使得每一个函数依赖的左部没有多余属性

9acd624f43ae43b0920edb6b3113d538.png

等价变换后的函数依赖集为:{B→E,DE→B,B→C,C→E,E→A}

3

令G=F-{B→E}={DE→B,B→C,C→E,E→A},则eq?B%5E+_G={A,B,C,E}

eq?%5Ctherefore Eeq?%5Cineq?B%5E+_G       eq?%5Ctherefore F与G等价,即B→E是多余的

eq?%5Ctherefore F=G={DE→B,B→C,C→E,E→A}

4

令G=F-{DE→B}={B→C,C→E,E→A},则eq?DE%5E+_G=

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值