zoukankan      html  css  js  c++  java
  • 关系代数演算So Easy

    关系代数运算So Easy

    关系代数是以关系为运算的一组高级运算的集合。由于定义为属性个数 相同的元组的集合,因此集合代数的操作就可以引入到关系代数中。关系代数也可以看做是一种抽象的查询语言,是对关系的运算来表达查询的。任何一种运算都是将一定的运算符作用于一定的运算对象上,得到预期的运算结果。所以运算对象、运算符、运算结果是运算的三大要素。 

    关系代数的运算对象是关系,运算结果亦为关系。关系代数用到的运算符包括四类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符。如下表: 

    关系代数演算So Easy

    关系代数可分为两类:传统的集合操作:并、差、交、笛卡尔积(乘)、笛卡尔积的逆运算(除法)和扩充的关系操作:对关系进行垂直分割(投影)、水平分割(选择)、关系的结合(连接、自然连接)。

    关系代数演算So Easy

    一、五个基本操作:

    1.并 (Union):关系R和S具有相同的关系模式,R和S的并是由属性R和S的元组构成的集合。 形式定义如下: 

       R∪S={t|t∈R∨ t∈S} , t 是元组变量,R和S的元素相同 

            其结果由R和S的元素组成 

    2.差 (Difference): 关系R和S具有相同的关系模式,R和S的差由属于R但不属于S的元组构成的集合。 形式定义如下: 

       R-S={t|t∈R ∧ t¢S)  t 是元组变量,R和S的元素相同

            其结果由属于R不属于S的所有元组构成

    3.笛卡尔积(Cartesian Product) :广义笛卡尔积是一个(r+s)列的元组的集合。形式定义如下: 

    关系代数演算So Easy

    4.投影(Projection):对一个关系进行垂直分割,消去某些列,并重新安排列的顺序。记作:

             ΠA(R) = { t[A] | t∈R }

              其中A为R中的属性列。

    5.选择(Selection):根据某些条件对关系做水平分割,即选取符合条件的元组。 

           σF(R) = {t|t∈R ∧ F(t)=true}

    σ为选择元算符,F表示选择条件,它是一个逻辑表达式,取逻辑值‘真’或‘假’。 

    举例说明:下面为关系R和关系S 两张表:

    关系代数演算So Easy

    (1) 并运算              (2)差运算               (3)笛卡尔积运算  

    关系代数演算So Easy            关系代数演算So Easy      关系代数演算So Easy                                          

          (5)投影                                       

                   关系代数演算So Easy

     (6)选择              

              关系代数演算So Easy

    二、四个组合操作

    1.交(Intersection):由属于R和S的元组构成的集合。记作: 

               R∩S={t|t∈R∧t∈S}由于R∩S=R(R-S),或R∩S=S-S(S-R) 得到的,因此交操作不是一个独立的操作。 

    2.连接(Join):连接也称为θ连接,它是从两个关系的笛卡尔积中选取属性中满足一定条件的元组。记作: 

    关系代数演算So Easy


    其中A和B分别为R和S上度数相等且可比的属性组。θ是比较运算符。连接运算从R和S的广义笛卡尔积R×S中选取 (R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系θ的元组。
    举例说明:下图为关系R和S两张表

    关系代数演算So Easy


    下图表示关系R和S的连接操作

    关系代数演算So Easy


    连接操作中比较重要且常用的连接是等值连接和自然连接。等值连接:θ为“=”时的连接运算称为等值运算,它是从R和S中选取R中的A属性组上的元组等于S中B属性组上的元组。自然连接(Natural join):自然连接用R连接R ? S表示,是一种特殊的等值连接,一般使用在R和S中有公共属性的情况中。例如,R和S中有相同的属性B记作:           

    关系代数演算So Easy


    举例:有关系R和关系S两张表关系代数演算So Easy
    下图表示关系R和S的自然连接:关系代数演算So Easy


    3.除法 (Division):设关系R和S的元数分别为r和s(设r>s>0),那么R÷S是一个(r-s)元的元组集合。

    关系代数演算So Easy

    例如:有三张表,分别是R、COURSE1和COURSE2关系代数演算So Easy
    (1)R÷COURSE1 表示 至少选修COURSE1课程的学生名单

    关系代数演算So Easy


    (2)R÷COURSE2 表示至少选修COURSE2课程的学生名单          

    关系代数演算So Easy
  • 相关阅读:
    车标知识学习网页开发,与Flask通过base64展示二进制图片 #华为云·寻找黑马程序员#
    大型情感剧集Selenium:3_元素定位 #华为云·寻找黑马程序员#
    大型情感剧集Selenium:2_options设置 #华为云·寻找黑马程序员#
    【nodejs原理&源码赏析(9)】用node-ssh实现轻量级自动化部署
    大型情感剧集Selenium:1_介绍 #华为云·寻找黑马程序员#
    使用Python开发小说下载器,不再为下载小说而发愁 #华为云·寻找黑马程序员#
    #华为云·寻找黑马程序员#【代码重构之路】如何“消除”if/else
    #华为云·寻找黑马程序员#【代码重构之路】如何优雅的关闭外部资源
    走近深度学习,认识MoXing:初识华为云ModelArts的王牌利器 — MoXing
    开启 J2EE(一)—‘全明星队伍’
  • 原文地址:https://www.cnblogs.com/feng9exe/p/7419555.html
Copyright © 2011-2022 走看看