数据库笔记汇总:数据库系统概论复习笔记(五)笔记汇总
教材:数据库系统概论(第五版)
出版社:高等教育出版社
关系数据库系统:是支持关系模型的数据库系统
关系模型:由关系数据结构、关系操作集合和关系完整性约束三部分组成
关系模型的基础:集合代数
关系模型的数据结构(单一):关系
一组具有相同数据类型的值的集合
定义了列的取值范围
是所有可能的组合
笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组
笛卡尔积元素(d1,d2,…,dn)中的每一个值di 叫作一个分量
是笛卡尔积的一个有实际意义的有限子集
是元组的集合
D1×D2×…×Dn的有实际意义子集叫作在域D1,D2,…,Dn上的关系,常常表示为R(D1,D2,…,Dn)
当n=1时,称该关系为单元关系或一元关系
当n=2时,称该关系为二元关系
关系中的某一组属性能唯一的标识一个元组,而它的子集不能
候选码可以有多个
若一个关系中有多个候选码,则选定其中一个作为主码
主码只有一个,唯一标识一个元组
组成候选码的属性
不包含在任何侯选码中的属性
是对关系的描述(有哪些属性,各个属性之间的依赖关系如何)
关系模式可以形式化地表示为:R(U,D,DOM,F)
可以简记为R (U)或R (A1,A2,…,An)
如:学生(学号,姓名,年龄,性别,系名,年级)
在一个给定的应用领域中,所有关系的集合构成一个关系数据库
关系数据库的型: 关系数据库模式,是对关系数据库的描述
关系数据库的值: 关系模式在某一时刻对应的关系的集合,通常称为关系数据库
有的关系数据库管理系统中一个表对应一个操作系统文件,将物理数据组织交给操作系统完成
有的关系数据库管理系统从操作系统那里申请若干个大的文件,自己划分文件空间,组织表、索引等存储结构,并进行存储管理;
选择、投影、连接、除、并、交、差
插入、删除、修改
集合操作方式:操作的对象和结果都是集合,也称为一次一集合的方式
是关系模型必须满足的完整性约束条件称为关系的两个不变性,应该由关系系统自动支持
应用领域需要遵循的约束条件,体现了具体领域中的语义约束
若属性A是基本关系R的主属性,则属性A不能取空值
(主属性不能取空值)
若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
学生(学号,姓名,性别,专业号,年龄,班长)
“班长”是外码
学生关系既是参照关系也是被参照关系
“班长”属性值(外码)可以取两类值:
设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是R的外码。(F是R中一个或一组属性,但不是R的码,是S的主码,则F是R的外码)
学生(学号,姓名,性别,专业号,年龄)
专业(专业号,专业名)
“专业号”属性是学生关系的外码
专业关系是被参照关系,学生关系为参照关系
关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不需由应用程序承担这一功能
是一种抽象的查询语言,它用对关系的运算来表达查询
运算三大要素:
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×S :
元组的前n列是关系R的一个元组
元组的后m列是关系S的一个元组
设关系模式为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中的象集
从行的角度进行的运算
在关系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),就叫做外连接
同时从行和列角度进行运算
对于表A和表B,求A÷B