300 likes | 443 Views
数据库原理与应用. 04 – 关系数据库 ③ 郑捷. 3. 关系数据库 ②. 关系数据结构及其形式化定义 关系的完整性 关系代数 关系演算. 关系代数运算符. 传统集合运算. 是二元运算 并、差、交、积 对于并、交、差运算,一般参与运算的两个关系,他们的关系模式相同 以下假设参与运算的两个关系分别为 R 和 S. 专门的关系运算. 选择、投影、连接、除 几个引入的记号 分量记号 属性子集 元组的连接或串接 像集. 记号约定. 设 关系模式 R ( A 1 , A 2 ,…, A n ) , R 为该关系模式下的关系。
E N D
数据库原理与应用 04 – 关系数据库 ③ 郑捷
3. 关系数据库 ② • 关系数据结构及其形式化定义 • 关系的完整性 • 关系代数 • 关系演算 数据库原理与应用
关系代数运算符 数据库原理与应用
传统集合运算 • 是二元运算 • 并、差、交、积 • 对于并、交、差运算,一般参与运算的两个关系,他们的关系模式相同 • 以下假设参与运算的两个关系分别为R和S 数据库原理与应用
专门的关系运算 • 选择、投影、连接、除 • 几个引入的记号 • 分量记号 • 属性子集 • 元组的连接或串接 • 像集 数据库原理与应用
记号约定 设 关系模式R(A1,A2,…,An),R为该关系模式下的关系。 • t ∈R表示t是R的一个元组;t[Ai]表示元组t在属性Ai上的分量 • 若A={Ai1,Ai2,…,Aik}为集合{A1,A2 ,…,An}的子集,则A称为属性列或属性组 t[A] = ( t[Ai1], t[Ai2],…, t[Aik] ) A = {A1,A2 ,…,An} - A 数据库原理与应用
记号约定 • R为n目关系,S为m目关系,tr∈R, ts ∈S, trts为元组的连接(Concatenation) • 给定一个关系R(X,Z), X和Z为属性列,当t[X]=x时,x在R中的象集(Image set)定义为 Zx={ t[Z] | t∈R, t[X] =x} 数据库原理与应用
专门的关系运算 • 选择 Selection σ • 投影 Projection π • 连接 Join • 一般连接 • 自然连接 • 外连接 • 除 Division ÷ 数据库原理与应用
选择 • 选择又称限制 • 在R中选取满足指定条件的元组 • σF(R)={t|t∈R∧F(t)=真} • 是从行的角度进行运算 • F代表对属性的比较运算或者其组合,是一个逻辑函数 数据库原理与应用
投影 • 投影是从R中选择出若干属性组成新关系 • A(R) = { t[A] | t ∈R } • 投影是从列的角度进行的运算 • A代表R中属性集合的子集 数据库原理与应用
4. 关系数据库 ③ • 关系数据结构及其形式化定义 • 关系的完整性 • 关系代数 • 传统集合运算 • 专用关系运算 • 选择 • 投影 • 连接 • 除 • 关系演算 数据库原理与应用
连接运算 • 连接运算是将两个有联系的关系横向连接在一起 • 连接运算的结果是一个拥有参与运算的两个关系全部属性的关系 • 连接运算和笛卡尔积有一定的关系 • 可以理解成笛卡尔积后再进行选择 数据库原理与应用
例子:关系“学生”、“老师” 数据库原理与应用
连接:等值连接 • 连接又称θ连接,从笛卡尔积中选择符合条件AθB的元组 • 当θ操作为“=”时,称为等值连接 数据库原理与应用
例1:题目和运算 • 学生导师=姓名老师 数据库原理与应用
例1:结果 数据库原理与应用
连接:一般连接 • 对于连接运算,不一定要等值连接 • 如前例 • 学生年龄<年龄/2老师 • 这是一个典型的一般连接,并且连接的时候对某个属性进行了计算转换 • 非等值的一般连接很少用!! 数据库原理与应用
自然连接 • 自然连接是一种特殊的等值连接 • 要求连接的双方属性名相同,并且二者连接后仅保留一个 • 将例1中的属性名适当调整,即成自然连接 • 在大部分数据库设计中,主码和外码之间就是自然连接 数据库原理与应用
连接双方的关系 • R和S的连接属性都是主码 • R和S是一对参照、被参照关系,连接属性是外码(主码) • 连接属性不是双方的主码 数据库原理与应用
例2 • 找出下面两组主机之间,可以直接通信的主机 数据库原理与应用
外连接 • 之前的连接都有要求,即部分在对方关系中找不到匹配信息的元组会被忽略 • 当保留这部分不配对的元组时,称为外连接 • 根据保留的方向,分为外连接(全外连接)、左外连接、右外连接等 • 没有配对信息的位置,填写空值(NULL) 数据库原理与应用
例3 • 对例1中的运算,分别采用外连接、左外连接、右外连接进行 数据库原理与应用
课堂练习 • 图书|×|出版社作者 数据库原理与应用
除 • 除运算可以视为笛卡尔积的逆运算 • 类似算术上的除法与乘法的关系 • 给定关系R(X, Y)与S(Y, Z),R÷S得到一个新的关系P(X)。P是R中满足下列条件的元组在X属性上的投影:元组在X上的分量x的像集Yx包含S在Y上的投影的集合。记作: • R÷S={tr[X]|tr∈R∧πY(S)≤Yx} 数据库原理与应用
除运算的做法 • 先找出被除关系S在Y上的投影 • 然后对R在X上的投影,逐个求出其像集,将像集与S在Y上的投影进行比较 数据库原理与应用
例4 • 找出同时选修了课程《书法》和《论语》的学生 数据库原理与应用
关系演算 • 关系演算是以数理逻辑中的谓词演算为基础的 • 按照谓词变元的不同,分为元组关系演算和域关系演算 • 有一整套的关系演算语言 数据库原理与应用
4. 关系数据库 ③ • 关系数据结构及其形式化定义 • 关系的完整性 • 关系代数 • 传统集合运算 • 专用关系运算 • 选择 • 投影 • 连接 • 除 • 关系演算 数据库原理与应用
课后书面作业 • 课本74页习题5,用关系代数表达即可 • 注意:下次课收齐上交 数据库原理与应用
预习 • 关系数据库标准语言SQL • SQL 的产生与发展 • 数据库工具SQL Server的使用(企业管理器) • 数据定义语言 • 数据查询 • 数据更新 • 视图 数据库原理与应用