文档详情

数据库系统概论chp02-2.ppt

发布:2016-12-24约1.68万字共124页下载文档
文本预览下载声明
An Introduction to Database System 第二章 关系数据库 2.1 关系模型概述 2.2 关系数据结构 2.3 关系的完整性 2.4 关系代数 2.5 关系演算 2.6 小结 2.4 关系代数 概述 传统的集合运算 专门的关系运算 概 述 概 述(续) 2.4 关系代数 ? 概述 ??传统的集合运算 ? 专门的关系运算 2.4.1 传统的集合运算 传统的集合运算:并、差、交、广义笛卡尔积 【例】现有在职职工和离退修职工两个表,若需要所有职工的表, R S R∪S 【例】某商店有本店商品表,接到不合格商品表后,需要将本店中的不合格商品去掉。 【例】找出本店内不合格的商品, 广义笛卡尔积 广义笛卡尔积 (续) 例:现有学生表、必修课程表,每个学生必须学习所有必修课程,要求形成选课表。可以 。 广义笛卡尔积 (续) 2.4 关系代数 ? 概述 ??传统的集合运算 ? 专门的关系运算 专门的关系运算(续) 选择 投影 连接 除 关系R的选择运算是从关系R中选择满足指定条件(用F表示)的元组构成的新关系。换言之,选择运算的结果是一个表的水平方向的子集。 关系R的选择运算记为: 选择运算(续) 【例】列出职工姓名及其任职状态,可以通过投影运算实现。 关系R与关系S的连接运算是从两个关系的广义笛卡尔积中选取属性间满足一定条件的元组形成一个新关系。记作: 连接(续) 举例 连接(续) R S 连接(续) 等值连接 R S 连接(续) 自然连接 R S 【例】设有图书借阅信息表和图书信息表,求各读者 借阅图书的信息。 连接(续) 外连接 如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接(OUTER JOIN)。 连接(续) 左外连接 如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFT OUTER JOIN或LEFT JOIN) 右外连接 如果只把右边关系S中要舍弃的元组保留就叫做右外连接(RIGHT OUTER JOIN或RIGHT JOIN)。 连接(续) 关系R和关系S 如下所示: 连接(续) 连接(续) 给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组 除运算是同时从行和列角度进行运算,在进行运算 时,将被除关系R的属性分成两部分:与除关系相同 的部分Y和不同的部分X。在被除关系R中,按X的值分组,即相同值的元组分为一组。除法的运算是求 包括除关系中全部Y值的组,这些组中的X值将作为 除结果的元组,记为R÷S 例:表示满足课程成绩条件(离散数学为优和数据结构为优)的学生情况关系 【例】已知学生选课表R,要找出同时选修课号为C601、C605两门课程的学生的学号。指定的课程号和对应课程名构成的关系记为S,则该问题可以用 表示。 除(续) 应用实例 设教学数据库中有三个关系 学生关系(学号,姓名,性别,年龄,所在系,专业) 课程关系(课程号,课程名,学时数) 选课关系(学号,课程号,成绩) 应用实例 1、检索学习课程号为C201的学生的学号与成绩 2、检索学习课程号为C142的学生的学号与姓名 应用实例 (3)检索不学课程代号为c345的学生的姓名与年龄 检索年龄在18到20之间(含18和20)的女生学号、姓名及年龄。 查询有不及格课程的学生姓名和所在系。 查询所选课程全部及格的学生姓名和所在系。 检索选修课程名为‘数据库’的学生学号与姓名。 查询全部学生都选修了的课程的课程号、课程名。 答案 1.检索年龄在18到20之间(含18和20)的女生学号、姓名及年龄。 2.查询有不及格课程的学生姓名和所在系。 3.查询所选课程全部及格的学生姓名和所在系。 select * from 学生,课程,选课 where 学生.学号=选课.学号 and 课程.课程号=选课.课程号 and 选课.学号 in (select 学号 from 选课 group by 学号 having min(成绩)60 ) 4.检索选修课程名为‘数据库’的学生学号与姓名。 5.查询全部学生都选修了的课程的课程号、课程名。 课后第5题 (5) πJno,Pno(SPJ)÷πP
显示全部
相似文档