zoukankan      html  css  js  c++  java
  • 【数据库复习】关系代数

    关系代数 

    问:为何称为代数?

    答:因为存在操作符和操作数,操作数为表,操作符为交、并等;

    关系代数有分为基于集合的关系代数和基于包的关系代数;



    关系代数的基本操作:并、选择、投影、笛卡尔积、差、重命名;

    基本操作的意思是其他的操作符可以通过基本操作推出;


    注意:如果我们使用并、交、差运算,必须保证R和S的属性集合是相同的,当然如果不同,也可以通过重命名操作;


    补充:

     

    1.自然连接

     

      

    2. θ连接

     


    3.重命名 

     


    表达式树

     


    基于包的关系代数

     

    1.并

    如果元组t在R中出现m次,S中出现n次,则在R∪S中出现m+n次;

    2.交

    如果元组t在R中出现m次,S中出现n次,则R∩S中出现min(m,n)次;

    3.差

    如果元组t在R中出现m次,S中出现n次,则R-S中出现(1)如果m>n,则出现m-n次;(2)如果m<n,则出现0次;

    4.消除重复操作符

     

    δ(R) 能对关系R消除重复元组;


    5.聚集操作符

     

    SUM(A)

    AVG(A)

    MIN(A)

    MAX(A)

    COUNT(A)

    其中A为某个属性;

    6.分组操作符

     

    γ

    包含了以某个属性作为分组属性,还有聚集操作符;


     

    7.排序元组

     

    τA(R)  表示根据A属性进行排序;


    8.外连接

     

    左外连接:

     

    右外连接:

     

    9.扩展投影运算



    关系代数表达式的分步表示

    因为用一个表达式直接表示复杂的代数表达式会很不清楚,因此我们可以通过分步表示;

    比如:

    可以表示为:

     


  • 相关阅读:
    [2012-06-18]awk利用关联数组合并记录
    vue 中axios 的基本配置和基本概念
    django 中自带的加密方法
    哈希密码的使用
    django 中的闪现
    django中数据库的配置及相关增删改查
    sqlalchemy 的设置及使用
    mvc 模式和mtc 模式的区别
    flask 面试题
    flask 中orm关系映射 sqlalchemy的查询
  • 原文地址:https://www.cnblogs.com/xiazdong/p/3058034.html
Copyright © 2011-2022 走看看