学习过程参考(后续章节同)
【公开课】数据库系统概论(王珊老师)(完结)
《数据库系统概论》思维导图
【专栏必读】数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解
数据库系统概论课后习题答案(第五版 王珊、萨师煊)
梳理
(关系演算可忽略)
名词解释
-
域:一组 具有相同数据类型的 值的集合
-
笛卡尔积:是一种域上面的集合运算,得到每个域中元素的所有可能的组合,它可以表示为一张二维表
(笛卡儿积是没有实际意义的,只有某些真子集才有实际意义) -
候选码:如果关系中的某一属性组能唯一标识 一个元组,而其子集不能,则称该属性组为候选码
-
超码:能够唯一标识 一条记录的属性或属性集。
超码是候选码的扩充,候选码是最小的超码 -
主码:能够唯一标识 一条记录的 最小属性集
(若一个关系有多个候选码,则选其一为主码) -
全码:关系中的所有属性组都是该关系模式的候选码
-
外码:是本关系的属性但不是码,而是另一个关系的主码
-
主属性:包含在候选码中的属性
-
SQL:即结构化查询语言,是一种高度非过程化的语言,集数据查询、数据操纵、数据定义、数据控制功能于一体。是关系数据库的标准语言
-
实体完整性:若属性A是基本关系R的主属性,则属性A不能取空值
课后习题答案
1. 关系模型的三大组成部分
关系数据结构
关系操作集合
关系完整性约束
2. 关系数据的 特点&分类
- 共同特点:
语言具有完备的表达能力
是非过程化的集合操作语言
功能强,能够嵌入高级语言中使用 - 关系数据语言可以分为三类:
关系代数语言。
关系演算语言:元组关系演算语言和域关系演算语言。
SQL:具有关系代数和关系演算双重特点的语言
3定义术语,分析之间的联系&区别
(1)
- 域:一组具有相同数据类型的值的集合(属性的取值范围)
- 笛卡尔积:是一种域上面的集合运算,得到每个域中元素的所有可能的组合,它可以表示为一张二维表
- 关系:在域D1,D2,…,Dn上笛卡儿积D1xD2x…xDn的子集称为关系,表示为R(D1,D2,…,Dn)(一个关系对应一张表)
- 元组:表中的一行或者一条记录
- 属性:表中的一列
(2)
- 候选码:若关系中的某一属性组的值能唯地标识一个元组,而其子集不能,则称该属性组为候选码( candidate key)。
- 主码:若一个关系有多个候选码,则选定其中一个为主码(primary key)。
- 外码:设F是基本关系R的一个或一组属性, 但不是关系R的码,如果F与基本关系R的主码K相对应,则称F是基本关系R的外部码( foreign key),简称外码。
(3) - 关系模式:关系的描述称为关系模式( relation schema)。它可以形式化地表示为
R(U,D,DOM,F)
其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。 - 关系:见(1)
- 关系数据库:在一个给定的应用领域中,所有关系的集合构成一个关系数据库
(关系数据库也有型和值之分。关系数据库的型称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。
4.关系VS关系模型
关系模式是型;关系是值,是关系模式的实例。
关系是关系模式在某一时刻的状态或内容。
关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。
例如:
Student( Sno,Sname ,Sage) 是关系模式,下面的表是关系,即某一时刻关系模式的值。
Sno Sname Sage
S1 张俊丽 18
S1 李红钰 19
5.完整性约束
关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。关系模型的完整性规则是对关系的某种约束条件。
- 实体完整性规则
若属性A是基本关系R的主属性,则属性A不能取空值。 - 参照完整性规则
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
或者取空值(F的每个属性值均为空值);
或者等于S中某个元组的主码值。 - 用户定义的完整性:
是针对某一具体关系数据库的约束条件。它反映某一具体应用所设计的数据必须满足的语义要求。
在参照完整性中,如果外码属性不是其所在关系的主属性,则可以取空值,否则不能取空值。
6.关系代数
1)求供应工程 J1 零件的 供应商号码SNO:
πSno(σJno=‘J1’(SPJ))
2)求供应工程J1 零件 P1的 供应商号码SNO:
πSno(σJno=‘J1’∧Pno=‘P1‘(SPJ))
3)求供应工程J1零件为红色的供应商号码SNO:
πSno(πSno,Pno(σJno=‘J1‘ (SPJ))∞πPno(σCOLOR=’红‘ (P)))
(红色&J1 的SNO)
4)求没有使用天津供应商生产的红色零件的工程号JNO:
πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘ (S∞SPJ∞P)
(排除掉 天津产&红色 的JNO)
(也可以非掉两次(嵌套)投影的天津&红色)
5)求至少用了供应商S1所供应的全部零件的工程号JNO:
πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘ (SPJ))
(关键是找到SI提供的全部零件,借助实际意义锁定SPJ表)
7.等值连接VS自然连接
- 区别:
等值连接不要求两个关系中进行比较的分量是相同的属性组,而只要可以进行相等比较即可,是从行进行的一种运算。
自然连接要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,是从行和列进行的一种运算。 - 联系:
等值连接是关系的广义笛卡尔积的子集。
自然连接是一种特殊的等值连接。即两者都是两个关系连接之后的产物。
(等值连接:连接运算符是“=”的连接运算称为等值连接,它是从关系R和S的广义笛卡尔积中选取A,B属性值相等的那些元组
自然连接:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉
8. 关系代数的基本运算,与其他运算关系
并、差、笛卡尔积、投影和选择是基本运算(五个吉吉算)。
其余运算(交、连接、除)均可由基本运算导出