数据库系统原理第二章

偶尔善良 提交于 2020-01-28 20:43:18

第二章 关系数据库

**大家想一起学习交流的可以加群,WX:MrCroods。**

第一节 关系数据库概述

关系数据库的基本特征是使用关系数据模型组织数据。

第二节 关系数据模型

关系模型:关系数据结构、关系操作集合、关系完整性约束。

一、关系数据结构

(1)、关系模型是把数据库表示为关系的集合,且关系数据库是以二维表格的形式组织数据。

1、表(称为关系,二维的数据结构
2、关系(一个关系逻辑对应一张二维表

三种基本关系:
基本关系:基本表,实际存储数据的逻辑表示;
查询表:查询结果对应的表;
视图表:由基本表或其他视图表导出的表,虚表。

3、列(称为字段或属性

一个数据库中,表名必须唯一,字段名必须唯一,不同表可以出现相同字段名。

4、属性
5、行
6、元组(表中的一行既为一个元组)
7、分量(元组中的一个属性值,称为分量)
8、码或键

属性的值都能用来唯一标识该关系的元组,则称这些属性为该关系的码或键。

9、超码或超键
如果在关系的一个码中移去某个属性,仍然有这个关系的码。
每个关系至少有一个默认的超码或超键。(这个关系的最大超码或超键)

10、候选码或候选键

如果在关系的一个码或键中,不能移去某个属性,否者它就不是这个关系的码或键。(这个关系的最小候选超码或超键)

11、主码或主键
12、全码或全键(zhusx一个关系模式的所有属性集合是这个关系的主码)

13、主属性和非主属性

关系中包含在任何一个候选码中的属性称为主属性或码属性,不包含的属于非主属性或非码属性。

14、外码或外键
15、参照关系(从关系)和被参照关系(主关系)

以外码为主码的关系称为被参照关系。
外码所在的关系称为参照关系。

16、域(表示属性的取值范围)
17、数据类型
18、关系模式

关系模式是对关系的描述,关系则是元组的集合,关系模式是静态的、稳定的,而关系是动态的、随时间不断变化。

19、关系数据库
关系数据库是以关系模型作为数据的逻辑结构,并采用关系作为数据组织方式的一类数据库。

(2)、关系数据库对关系是有限定的,具体如下要求:

每一个属性都是不可分的。(不可存在表中表)
每一个关系仅有一种关系模式,即每一个关系模式中的属性的数据类型以及属性的个数是相对固定的。
每一个关系模式中的属性必须命名,同一关系模式中,属性名必须是不同的。
每一关系中不允许出现候选码或候选键值完全相同的元组。
在关系中元组的顺序(行序)是无关紧要的,可任意交换。
在关系中属性的顺序(列序)是无关紧要的,可任意交换。

二、关系操作集合

关系操作的特点是集合操作方式,即操作的对象和结果都是集合。
(1)、基本的关系操作

查询(Query)、插入(Insert)、删除(Delete)、修改(Update)

(2)、关系数据语言的分类

关系代数语言
关系演算语言
兼具两者双重特点的语言(SQL)

(3)、关系代数
操作的三要素:操作对象、操作符、操作结果

1、传统的集合运算
并、差、交、笛卡儿积

2、专门的集合运算
选择(select)、投影(projection)、连接(join)、除(division)

三、关系的完整性约束

数据完整性是指数据库中数据的正确性、相容性和一致性,这些规则从而保证了用户查询等操作得到的数据是否有意义。

关系模型有三种完整性约束:
实体完整性约束
参照完整性约束
用户自定义完整性约束

(1)、实体完整性约束(主码的组成不能为空,主码用下划线标识)
(2)、参照完整性约束(定义外码和主码之间的引用规则)
(3)、用户自定义完整性约束
(4)、关系模型完整性约束的检验(执行插入、删除、更新操作检验)

第三节 关系数据库的规范化理论

关系数据库的规范化理论是关系数据库设计的理论依据,概念设计阶段使用

一、关系模式中可能存在的冗余和异常问题

(1)、数据冗余
(2)、更新异常
(3)、插入异常
(4)、删除异常

二、函数依赖与关键字

函数依赖是指关系中的属性间的对应关系。
(1)、函数依赖:完全函数依赖,部分函数依赖、传递函数依赖。

三、范式与关系规范化过程

满足最低要求的称为第一范式,称1NF;第二范式,称2NF;第三范式,称3NF,以此类推…

一个低一级范式的关系模式通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化

(1)、第一范式,一个不含重复组的关系。
(2)、第二范式,所有非主属性都完全函数依赖于候选关键字。
(3)、第三范式,每一个非主属性都不传递函数依赖于候选关键字。
(3)、BCNF。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!