数据库关系代数笔记
关系模式
关系模式是对关系的描述。关系模式是型,关系是值。
关系模式通常可以记为R(U) 或 R(A1,A2,...,An)
R:关系名A1,A2,...,An:属性名比如,学生(学号,姓名,籍贯)
关系模式是对关系的描述,是静态的、稳定的;关系是在某一时刻的状态或内容,是动态的,随时间不断变化的。
键
能够区分不同元组的属性的集合叫做键--key
两个同学在一门课中可能得一个分
{SNO,Cno}可以作为一个键,三个放一起不够精简
候选键:可以理解成最精简的键。
主键:每个关系至少有一个候选键,人为指定其中之一是主键。
外键:不同的关系中的元组可以存在联系,这种联系时通过外键建立起来的。
数据库的完整性约束
实体完整性约束:
- 关系中任意元组的主键必须是唯一的:关系是一个集合集合中的元素是不能重复的
- 任意元组的属性值非空
参照的完整性:
F必须是S的子集
看ΠK(F)-ΠK(R)是不是空
关系代数
明确操作过程的语言
操作
基本操作
- 选择:搭配各种逻辑运算
- 投影:选出指定的列,并去掉重复的元组
- 并:元组和元组之间用∪ 关系内用
- 差
- 笛卡尔积:将两个元组无条件的连接在一起,通常搭配选择操作
- 重命名:修改关系名或者属性名 ,当关系需要自连接的时候往往采用重命名的方法。
比较经典的习题:找出3006号课程的最高分
派生操作:
派生操作可以由基本操作演化而来,派生操作的目的是为了方便
选择操作:
选择符合关系的元组:选择运算具有交换性。
投影操作
从一个关系中选出指定的列,并去掉重复的元组 投影操作不具有交换律
并/交操作--Union
R S必须具有相同个数的属性,对应属性的元素必须相容。
连接
d:大概意思就是比如R(a,b) a是课程号 b都是教师小明 S(b,c)中b也都是小明 c是小明使用的教室 课程和教室分别是RS的主键 这样R∞S相当于做了一个笛卡尔积是么 所以答案是D
c:左外连接必须包含没有选课的人的信息,所以选A
证明题:
由题意分析 R.a,R.b 并且R.bS.b 所以R.b中的元素都能在S.b中找到,但是反之不一定, 对于RS的自然连接,一定不会出现R中在S中不能拼接的元组,所以成立。