本章作业 课后题2-4 S表 P表 J表 投影查询的例子 例2.19 查询学生的姓名和所在的系。 ?Sname,Sdept(Student) 或 ?2,5(Student) 查询的结果如下: Sname Sdept 李勇 刘晨 王敏 张立 CS IS MA IS 第二章 关系模型和关系运算 投影查询的例子(续) ?Sdept(Student) 或 ?5(Student) 查询的结果如下: Sdept CS IS MA 例2.20查询关系Student 中包含的系。 第二章 关系模型和关系运算 专门的关系运算(续) 3、连接(Join) 是从两个关系的笛卡尔积中选择属性间满足一定 条件的元组,记作: 其中A和B分别为R和S上度数相等且可比的属性 组。 ?是比较运算符( ?、?、?、?、?、? )。 连接运算从R和S的笛卡尔积R×S中选取R关系 在A属性组上的值与S关系在B属性组上满足比较关 系?的元组。 ︵ 第二章 关系模型和关系运算 连接(续) 连接运算的类型: 等值连接(Equijoin):?为等号的连接运算。 自然连接(Natural join): 是一种特殊的等值连接。它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中去掉重复属性。设属性组B是关系R和S的相同属性。R和S在B上的自然连接记作: 第二章 关系模型和关系运算 ︵ ︵ 连接运算举例 例2.21 求关系R、S的一般连接、等值连接、自然连接。 A B C a1 a1 a2 a2 b1 b2 b3 b4 5 6 8 12 B E b1 b2 b3 b3 b5 3 7 10 2 2 A R.B C S.B E a1 a1 a1 a1 a2 b1 b1 b2 b2 b3 5 5 6 6 8 b2 b3 b2 b3 b3 7 10 7 10 10 R S 第二章 关系模型和关系运算 R S CE 连接运算举例(续) A R.B C S.B E a1 a1 a2 a2 b1 b2 b3 b3 5 6 8 8 b1 b2 b3 b3 3 7 10 2 A B C E a1 a1 a2 a2 b1 b2 b3 b3 5 6 8 8 3 7 10 2 等值连接 R S 自然连接 R S 第二章 关系模型和关系运算 R.B=S.B 关系间的引用(续) 例2.11 学生、课程、学生与课程之间的多对多联系。 学生(学号,姓名,性别,专业号,年龄) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) 第二章 关系模型和关系运算 学生 学生选课 课程 第二章 关系模型和关系运算 关系间的引用(续) 关系间的引用(续) 例2.12 学生实体及其内部的领导联系(一对多) 学生(学号,姓名,性别,专业号,年龄,班长) 第二章 关系模型和关系运算 关系间的引用(小结) 第二章 关系模型和关系运算 参照关系 被参照关系 学生关系 专业关系 专业号 学生关系 选修关系 课程关系 学号 课程号 学生关系 学号 参照完整性(续) 参照完整性规则就是定义外键与主键之间的引用规则。 2、参照完整性规则定义 若属性(或属性组)F是基本关系R的外键,它与基本关系S的主键Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为: 或者取空值(F的每个属性值均为空值) 或者等于S中某个元组的主码值 第二章 关系模型和关系运算 参照完整性(续) 说明 关系R和S不一定是不同的关系。 外键并不一定要与相应的主键同名。 当外键与相应的主码属于不同关系时,往往取相同的名字,以便于识别。 目标关系S的主键Ks和参照关系的外键F必须定义在同一个(或一组)域上。 第二章 关系模型和关系运算 参照完整性 (续) 例2.10中,学生关系中的“专业号”是专业关系的主码,但不是学生关系的码,因此,“专业号”是学生关系的外码。学生关系中每个元
原创力文档

文档评论(0)