sql server 2017数据库复习:第三章-关系数据库基础+练习题

目前主流的数据库都是关系数据库,关系数据库是基于关系理论进行定义和组织数据的,只有正确理解了关系数据库的本质,才能有效设计和使用数据库。
(关系不是联系!)

关系模式

即在逻辑模型中选择的是关系模型!

关系的描述称为关系模式。 对关系的描述,一般表示为:关系名(属性1,属性2, 属性3)。师生关系可描述为:师生关系(教师,学生);学生关系可描述为:学生关系(学号,身份证号,姓名,生日,性别,院系编号)。

在数据库设计中,不但要给出关系的关系名和各个属性的名称,还需要对关系和各个属性进行详细描述,包括关系的含义,各个属性的含义、取值范围(也称域约束)、取值是否具有唯一性(是否是码约束)、属性之间是否相互制约等。

关系数据库相关概念

sql server 2017数据库复习:第三章-关系数据库基础+练习题_第1张图片
sql server 2017数据库复习:第三章-关系数据库基础+练习题_第2张图片

1. 元组
关系中的每一行数据称为一个元组或一条记录,如表3-1有2个元组,表3-2有4个元组。

2. 属性
关系中的每一列称为一个属性,列的名字称为属性名,如表3-1有2个属性,表3-2 有6个属性。

3. 域
属性的取值范围称为该属性的域。例如,属性“性别”的取值范围是{男,女},属性 “院系编号”的取值范围是学校所有的院系编号。

4. 码
码也称为键,指的是取值具有唯一性的属性,可以唯一确定表中的一个元组,它可以由一个属性组成,也可以由多个属性共同组成。 例如,表3-2中的“学号”和"身份证号” 都是码,因为它们的取值具有唯一性,不同学生的学号一定不同,不同学生的身份证号也 一定不同。

5. 主码

一个关系中所有的码构成候选码,为了管理方便,选定一个候选码作为元组标识,这个候选码称为主码,主码的取值具有唯一性且不能为空

6. 外码
sql server 2017数据库复习:第三章-关系数据库基础+练习题_第3张图片

码、主码、外码:(联系与区别)
码:码也称为键,指的是取值具有唯一性的属性,可以唯一确定表中的一个元组,它可以由一个属性组成,也可以由多个属性共同组成。
主码:一个关系中所有的码构成候选码,为了管理方便,选定一个候选码作为元组标识,这个候选码称为主码,主码的取值具有唯一性且不能为空
外码:如果关系模式R中的某属性K不是R的主码,而是另一个关系S的主码,则该属性是关系模式R的外码。(外键与其参照的主码有相同的域,主码不能为空,外码可以为空

关系的完整性约束

其中域完整性、实体完整性和参照完整性是关系模型必须满足的完整性约束条件。
1、域完整性
域完整性指属性的值域的完整性,如数据类型、格式、取值范围、是否允许空值等。通过域完整性可限制属性的值,把属性取值限制在一个有限的集合中。

2、实体完整性
实体完整性指的是关系数据库中所有的表都必须有主码,而且表中不允许存在如下两 种情况的记录。
(1) 无主码值的记录。
(2) 与其他记录的主码值相同的记录。
如果一条记录没有主码值,则此记录在表中一定是无意义的。

3、参照完整性
参照完整性指外码的取值必须参照主码的取值,参照完整性要求关系中不允许引用不存在的记录。

4、用户定义完整性
用户定义完整性指针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求,其实就是业务规则。

关系操作

关系模型中的关系操作指对表中记录的操作,包括查询操作和修改操作(插入、删除、 更新)两大部分。其中关系的查询表达能力很强,操作逻辑最复杂,是关系操作中最主要的 部分。查询操作可以分为:选择、投影、连接、除、并、差、交、笛卡儿积等。其中,选择、 投影、并、差、笛卡儿积是五种基本查询操作,其他查询操作可由这五种基本操作导出。

关系代数

sql server 2017数据库复习:第三章-关系数据库基础+练习题_第4张图片

在这里插入图片描述在这里插入图片描述

sql server 2017数据库复习:第三章-关系数据库基础+练习题_第5张图片

并运算不会重复计算

sql server 2017数据库复习:第三章-关系数据库基础+练习题_第6张图片

并、交、差运算不会改变关系中属性的个数,但可能会改变关系中元组的个数!

sql server 2017数据库复习:第三章-关系数据库基础+练习题_第7张图片
sql server 2017数据库复习:第三章-关系数据库基础+练习题_第8张图片

在下列关系代数的操作中,哪一个不属于专门的关系运算

A.自然连接
B.投影
C.广义笛卡尔积
D.等值连接

[解析] 关系代数中的专门的运算包括选择、投影和连接;广义笛卡尔积属于传统的集合运算,而不是针对数据库环境专门设计的关系运算。 因此正确答案为选项C。

sql server 2017数据库复习:第三章-关系数据库基础+练习题_第9张图片
sql server 2017数据库复习:第三章-关系数据库基础+练习题_第10张图片
sql server 2017数据库复习:第三章-关系数据库基础+练习题_第11张图片
sql server 2017数据库复习:第三章-关系数据库基础+练习题_第12张图片

选择与投影的区别:选择是根据条件选择元组,而投影是投影某一列(并消除重复)

sql server 2017数据库复习:第三章-关系数据库基础+练习题_第13张图片

投影运算:得到的结果关系的元组数小于等于关系R的元组个数!,因为它有重复消除!

sql server 2017数据库复习:第三章-关系数据库基础+练习题_第14张图片

连接运算是笛卡尔积运算的再次筛选结果,是在笛卡尔积运算的基础上再进行条件筛选!

sql server 2017数据库复习:第三章-关系数据库基础+练习题_第15张图片

自然连接:
在这里插入图片描述
用于同名属性间的等值连接!

sql server 2017数据库复习:第三章-关系数据库基础+练习题_第16张图片

等值连接之后的属性多于自然连接的,因为自然连接会去除中间同名的一列属性!

sql server 2017数据库复习:第三章-关系数据库基础+练习题_第17张图片
sql server 2017数据库复习:第三章-关系数据库基础+练习题_第18张图片

最后要求S(B)集合是R(B)集合的子集才行!(R(B) >=S(B))
在R中要选出与S中属性名不同的属性,再找这个属性对应下的象集,然后再投影相同属性名的列。

sql server 2017数据库复习:第三章-关系数据库基础+练习题_第19张图片

最后的计算结果为R中与S属性名不同的属性名所对应的满足关系的列!

sql server 2017数据库复习:第三章-关系数据库基础+练习题_第20张图片
sql server 2017数据库复习:第三章-关系数据库基础+练习题_第21张图片
sql server 2017数据库复习:第三章-关系数据库基础+练习题_第22张图片
sql server 2017数据库复习:第三章-关系数据库基础+练习题_第23张图片
sql server 2017数据库复习:第三章-关系数据库基础+练习题_第24张图片
练习题:
sql server 2017数据库复习:第三章-关系数据库基础+练习题_第25张图片
sql server 2017数据库复习:第三章-关系数据库基础+练习题_第26张图片

sql server 2017数据库复习:第三章-关系数据库基础+练习题_第27张图片

你可能感兴趣的:(数据库,数据库)