zoukankan      html  css  js  c++  java
  • 数据库关系运算

    数据库中的自然连接、选择、投影

    http://blog.csdn.net/m_future1993/article/details/52447119

    数据库关系运算

    http://blog.csdn.net/hon_3y/article/details/62434993

    http://blog.csdn.net/NeilDemo/article/details/50081895

    数据库连接运算(join)

    http://blog.csdn.net/young____/article/details/49158479

    数据库本质上就是一些数据的集合,所以对一个数据库的操作就是十分类似于对一些集合的操作。这篇博客对我们会遇到的数据库的关系作一个小小的总结。

    传统的集合运算

    在这里,共有并,差,交和笛卡尔积四种运算。 
    1. 并集 

    RS=${t|tRtS$}


    2. 交集 

    RS=${t|tRtS$}


    3. 差集 

    RS=${t|tRtS$}


    4. 笛卡尔积 
    即分别将两个集合中的元素组合

    专门的关系运算

    一些记号: 
    1. 设一个关系模式为R(A1,A2,....An), 其一个分量为R。tR表示t是R的一个元组,t[Ai]表示的是相对于属性Ai的一个分量。 
    2. t[A]=(t[A1],t[A2]….t[An])表示属性列A在各个分量上的集合。我们也可以选取一些等价类作为子类。 
    3. R为一个n目的关系,S为m目的关系,那么其连接则会得到一个(n+m)目的关系。我们需要注意这一点。 
    4. 象集:给定了一个关系R(X,Z),X,Z为属性组。当t[X]=x时,x在R中的象集可以定义为Zx={t[Z]|t R,t[X]=x}$

    选择操作:感觉是数据库当中最简单的一种操作了,其定义如下: 
    σF(R)=t|tRF(t)=true 
    F是我们的选择条件,就是选出符合条件的元素。

    投影操作: 
    就是从R中选择出若干属性组成新的关系。 
    πA(R)={t[A]|t R}$

    连接操作:从两个关系的笛卡尔积当中选择出满足条件的元组 
    就是笛卡尔积的一个加强版,没什么好说的。 
    等值连接:即将两个集合选中的属性的值相同的元素存入我们的结果当中去。 
    自然连接:连接两个关系当中同名且相同类型的属性 
    外连接:在结果中保存悬浮元组,即保存了没有得到匹配的属性的值 
    左外连接:只保存了左边的联系当中没有得到匹配的属性的值 
    类似的,我们有右外连接的定义。

    除运算:其实很好理解,但是书说的太奇怪了。 
    就是取的就是含有给定对应属性的象集是另一个关系在其上的投影的集合。

  • 相关阅读:
    SCRIPT7002: XMLHttpRequest: 网络错误 0x2efe, 由于出现错误 00002efe 而导致此项操作无法完成
    经纬转换成point的sql
    build.xml
    ubuntu下安装vsftpd及vsftpd配置文件不见的解决办法
    500 OOPS: could not read chroot() list file:/etc/vsftpd.chroot_list
    【linux】su、sudo、sudo su、sudo -i的用法和区别
    Js获取上一月份
    BigDecimal工具类
    查询重复的记录
    Excel 合并单元格
  • 原文地址:https://www.cnblogs.com/mujian/p/8093629.html
Copyright © 2011-2022 走看看