zoukankan      html  css  js  c++  java
  • 数据库复习笔记(2)------关系代数

    分类

    传统的集合运算
    并(∪)、交(∩)、差(-)、笛卡尔积(×)
    专门的关系运算
    选择(σ)、投影(π)、连接、除(÷)
    基本的五种关系运算
    选择(σ)、投影(π)、并(∪)、差(-)、笛卡尔积(×)

    传统的集合运算

    并运算(∪)

    R∪S = { t|t 属于R∨t 属于S }

    交运算( ∩ )

    R∩S = { t|t 属于R∧t 属于S }

    差运算(-)

    R -S = { t|t属于R∧t不属于S }

    广义笛卡尔积(×)

    R×S = { (tr,ts) |tr属于R ∧ ts属于S }

    专门的关系运算

    象集:用于表示关系中某一属性上取值固定后,诸元组在其余属性上的分量集合。

    选择(σ)

    σF® = {t|t属于R∧F(t)= ‘真’}
    F(t)为选择条件,即在关系R中选择满足给定条件的元组。
    例σmno = ‘01’ (Student)表示查询Student表中,mno属性值为01的元组
    属性还可以由其在表头中所在位置来表示
    多个限制条件可以由∧符号连接

    投影(π)

    πA® = { t[A] | t 属于R }
    A:R中的属性列
    t[A]表示取出A属性的那一列或几列
    即从R中选择出若干属性列组成新的关系
    **投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组来避免重复行 (自动取消重复行!)
    **

    连接(条件连接)

    从两个关系的笛卡尔积中选取属性间满足一定条件的元组。
    选取的属性分别为两个关系上度数相等且可比的属性组

    等值连接

    选取等值的条件,令不同关系的中的某个属性值相同为条件进行连接,当条件不同时连接的结果也不相同,两个关系可以没有相同的属性列

    自然连接(特殊的等值连接)

    自然连接必须要有相同的属性列才能进行,以相同的属性作为等值条件,等值连接之后要去除相同的属性列

    外连接

    如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接。

    左外连接

    如果只把左边关系R中要舍弃的元组保留就叫做左外连接。

    右外连接

    如果只把右边关系S中要舍弃的元组保留就叫做右外连接。

    除(÷)

    两个关系中的某个或某些属性出自相同的域集,记为A
    除运算是将被除的关系中,除去这些属性A后对剩下的属性进行筛选,选出其取值所在的象集中包含有除数关系中对A的投影的部分。
    例子
    在关系R中,A可以取四个值{a1,a2,a3,a4}
    a1的象集为 {(b1,c2),(b2,c3),(b2,c1)}
    a2的象集为 {(b3,c7),(b2,c3)}
    a3的象集为 {(b4,c6)}
    a4的象集为 {(b6,c6)}
    S在(B,C)上的投影为:
    {(b1,c2),(b2,c1),(b2,c3) }
    只有a1的象集包含了S在(B,C)属性组上的投影, 所以:
    R ÷ S = { a1 }

  • 相关阅读:
    [UE4]利用取模运算达到循环遍历数组的目的
    RESTful登录设计(基于Spring及Redis的Token鉴权)
    Nginx/LVS/HAProxy负载均衡软件的优缺点详解
    业务中使用分布式的场景
    mycat系列-Mycat 分片规则
    MyCat
    mysql 分区说明
    mysql 表分区 查看表分区 修改表分区
    MySql 分区 分库 分表
    tomcat7部署多个web应用不同编码,端口
  • 原文地址:https://www.cnblogs.com/yanzs/p/13788302.html
Copyright © 2011-2022 走看看