一、外码(外键,FOREIGN KEY)
学生关系:学号是主码
选课关系:(学号,课程号)是主码,学号是外码,取值参照了学生关系的主码“学号”的值;课程号也是外码,取值参照了课程关系的主码“课程号”的值
课程关系:课程号是主码;先修课号是外码,取值参照了选课关系的主码“课程号”的值
二、关系的完整性约束
是为了保证关系中的数据是正确的、有效的和相容的
1、实体完整性:主码中的每个属性都不能取空值
空值:未知值
注意:0、空字符串都不是空值!
2、参照完整性
外码的取值:要么取其所参照的主码的值;要么取空值
3、用户自定义完整性:反映实际的语义要求
三、关系代数
1、笛卡尔积
D1 = {张三,李四};
D2 = {DB, OS};
D3 = {60,70};
D1 × D2 × D3 = {
(张三, DB, 60), (李四, DB, 60), (张三, OS,60),(李四, OS,60),(张三, DB, 70),
(李四, DB, 70),(张三, OS,70), (李四, OS,70)}
关系:笛卡尔积的一个子集
关系的性质:
(1)关系中的每个属性都不可以再分;
(2)行或列的顺序无所谓;
(3)任意两个元组不能完全相同;注意:在实际的DBMS中,两个元组可以完全相同
(4)列是同质的;
假设:关系R有r个属性,m个元组;关系S有s个属性,n个元组,则:R×S有r + s 个属性,有m × n 个元组
2、并交差
R-S:元组t属于R并且不属于S
3、选择
从指定的关系中挑选出满足给定条件的元组构成新的关系,是从行的角度进行的运算
σ条件表达式(关系名)
select * from Student where Ssex = '女' and Sdept = 'cs';
四、关系运算
专门的关系运算:选择,投影,连接,除
1.选择(Selection)
又称为限制(Restriction),它是在关系中选择满足给定条件的所有元组
2.投影
关系R上的投影是从R中选择出若干字段名组成新的关系,投影操作是从列的角度进行的运算
3.连接
它是从两个关系的笛卡尔积中选取属性满足一定条件的元组,又分为等值连接和自然连接
4.除
除运算是同时从行和列的角度进行运算的
五、关系演算
1.元组关系演算
可以用来表达关系代数运算:
如:投影,选择,并,差,连接
2.域关系演算(了解就行)