数据库笔记汇总:数据库系统概论复习笔记(五)笔记汇总 教材:数据库系统概论(第五版) 出版社:高等教育出版社
第二章的思维导图(考试部分)
关系数据库系统:是支持关系模型的数据库系统
关系模型:由关系数据结构、关系操作集合和关系完整性约束三部分组成
关系模型的基础:集合代数
关系模型的数据结构(单一):关系
一组具有相同数据类型的值的集合
定义了列的取值范围
是所有可能的组合
笛卡尔积可表示为一张二维表表中的每行对应一个元组,表中的每列对应一个域笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组
笛卡尔积元素(d1,d2,…,dn)中的每一个值di 叫作一个分量
是笛卡尔积的一个有实际意义的有限子集
是元组的集合
D1×D2×…×Dn的有实际意义子集叫作在域D1,D2,…,Dn上的关系,常常表示为R(D1,D2,…,Dn)
R:关系名n:关系的目或度当n=1时,称该关系为单元关系或一元关系
当n=2时,称该关系为二元关系
关系中的某一组属性能唯一的标识一个元组,而它的子集不能
候选码可以有多个
若一个关系中有多个候选码,则选定其中一个作为主码
主码只有一个,唯一标识一个元组
组成候选码的属性
不包含在任何侯选码中的属性
是对关系的描述(有哪些属性,各个属性之间的依赖关系如何)
关系模式可以形式化地表示为:R(U,D,DOM,F)
R:关系名U:组成该关系的属性名集合D:U中属性所来自的域DOM:属性向域的映象集合F:属性间数据的依赖关系的集合可以简记为R (U)或R (A1,A2,…,An)
R: 关系名A1,A2,…,An : 属性名如:学生(学号,姓名,年龄,性别,系名,年级)
在一个给定的应用领域中,所有关系的集合构成一个关系数据库
关系数据库的型: 关系数据库模式,是对关系数据库的描述
关系数据库的值: 关系模式在某一时刻对应的关系的集合,通常称为关系数据库
有的关系数据库管理系统中一个表对应一个操作系统文件,将物理数据组织交给操作系统完成
有的关系数据库管理系统从操作系统那里申请若干个大的文件,自己划分文件空间,组织表、索引等存储结构,并进行存储管理;
选择、投影、连接、除、并、交、差
数据更新插入、删除、修改
集合操作方式:操作的对象和结果都是集合,也称为一次一集合的方式
是关系模型必须满足的完整性约束条件称为关系的两个不变性,应该由关系系统自动支持
用户定义的完整性应用领域需要遵循的约束条件,体现了具体领域中的语义约束
若属性A是基本关系R的主属性,则属性A不能取空值 (主属性不能取空值)
若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
或者取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值学生(学号,姓名,性别,专业号,年龄,班长)
“班长”是外码
学生关系既是参照关系也是被参照关系
“班长”属性值(外码)可以取两类值:
空值,表示该学生所在班级尚未选出班长非空值,该值必须是本关系中某个元组的学号值设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是R的外码。(F是R中一个或一组属性,但不是R的码,是S的主码,则F是R的外码)
基本关系R称为参照关系基本关系S称为被参照关系或目标关系学生(学号,姓名,性别,专业号,年龄)
专业(专业号,专业名)
“专业号”属性是学生关系的外码
专业关系是被参照关系,学生关系为参照关系
关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不需由应用程序承担这一功能
是一种抽象的查询语言,它用对关系的运算来表达查询
运算三大要素:
运算对象(关系)运算符(集合运算符和专门的关系运算符)运算结果(关系)R∪S = { t|t∈R∨t ∈S }
仍为n目关系,由属于R或属于S的元组组成
R -S = { t|t∈R∧t∉S }
仍为n目关系,由属于R而不属于S的所有元组组成
R∩S = { t|t∈R∧t∈S }
仍为n目关系,由既属于R又属于S的元组组成
无条件的头尾连接
R: n目关系,k1个元组S: m目关系,k2个元组R×S :
列:(n+m)列元组的集合元组的前n列是关系R的一个元组
元组的后m列是关系S的一个元组
行:k1 × k2个元组设关系模式为R(A1,A2,…,An)
它的一个关系设为R
t∈R表示t是R的一个元组
t[Ai]则表示元组t中相应于属性Ai的一个分量
给定一个关系R(X,Z),X和Z为属性组
当t[X]=x时,x在R中的象集(Images Set)为:
Zx={t[Z]|t∈R,t[X]=x}
它表示R中属性组X上值为x的诸元组在Z上分量的集合
本质上是一次选择行的运算和一次选择列的运算
求x1在表A中的象集
先选出所有x属性中x=x1的那些行然后选择出不包含x1的那些列从行的角度进行的运算
在关系R中选择满足给定条件的诸元组
σF® = {t|t∈R∧F(t)= ‘真’}
F:选择条件,是一个逻辑表达式,取值为“真”或“假”
F = X1θY1
θ表示比较运算符,它可以是>,≥,<,≤,=或<>
例:查询信息系(IS系)全体学生
σ Sdept = ‘IS’ (Student)
主要是从列的角度进行运算
从R中选择出若干属性列组成新的关系
πA® = { t[A] | t∈R }
A:R中的属性列
例:查询学生的姓名和所在系
πSname,Sdept(Student)
从行的角度进行运算 也称θ连接
从两个关系的笛卡尔积中选取属性间满足一定条件的元组
θ为“=”时的θ连接
自然连接还需要取消重复列,所以是同时从行和列的角度进行运算
是特殊的等值联结
两个关系中进行比较的分量必须是相同的属性组在结果中把重复的属性列去掉两个关系R和S在做自然连接时,关系R中某些元组有可能在S中不存在公共属性上值相等的元组,从而造成R中这些元组在操作时被舍弃了,这些被舍弃的元组称为悬浮元组
如果把悬浮元组也保存在结果关系中,而在其他属性上填空值(Null),就叫做外连接
左外连接只保留左边关系R中的悬浮元组右外连接只保留右边关系S中的悬浮元组同时从行和列角度进行运算
对于表A和表B,求A÷B
找出表B中与A属性相同的那些列求表A中各个不同x对应的象集找表A中的x,这个x要满足:表B是x的象集的子集