zoukankan      html  css  js  c++  java
  • 关系数据库的操作

    众所周知,关系数据库常见的关系操作有:查询,插入,删除,修改这四种操作,而这四种操作有可以分为两大类

    • 数据查询:选择,投影,连接,除,并,交,差,笛卡儿积
    • 数据更新:插入,删除,修改

    在查询操作中,选择,投影,并,差,笛卡儿积是5种基本操作,其他操作可以由这几种操作导出,就比如乘法可以用加法来定义和导出一样。

    在详细讲述之前,我要着重说明的是,关系模型的操作具有一个非常鲜明的特点,即它操作的对象和结果都是集合,而不像层次模型和网状模型操作的对象和结果都是一次一条记录。

    下面我们来讲一下数据查询下面的一些关系运算。

    传统的集合运算

    1、 并(union) A并B = 在A中或者在B中
    2、 差(except) A-B=在A中而不再B中
    3、 交(intersection) A交B = 既在A中又在B中
    4、 笛卡尔积
    这里的笛卡尔积是广义的笛卡尔积,操作的基本单位为一个元组。
    所谓笛卡尔积其实就是一个全排列,所有元组各种方式的组合。

    专门的关系运算

    专门的关系运算包括:选择、投影、连接、除运算

    1、 选择(selection)
    选择又称为限制(restriction),它是在关系R中选择满足给定条件的诸元组。
    它里面可以出现一些逻辑表达式,逻辑表达式形如:

    A x B 
    

    这个x不是乘号,它在这里表示比较运算符,比如>,<,=等等,A和B在这里要么是常量,要么是一个属性名,亦或是简单函数。

    同时多个逻辑表达式之间可以用逻辑运算符连接,比如:交、并、非

    2、 投影(projection)
    投影就是从一个表中选择若干属性列组成一个新的关系
    比如:

    学生(学号,姓名)
    

    可以将它的学号投影出来,即

    投影名(学号)
    

    3、 连接(join)
    连接是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。

    根据连接所选取的条件的不同,可以将连接细分成一些比较特殊的连接情况。
    举个例子:假如下面的连接都是表A和表B的连接

    • 等值连接(inner join): 选取的条件为A中某元素 = B中某元素。总之这个条件使用的比较运算符为“=”
    • 自然连接:自然连接是一种特殊的等值连接,它要求A中和B中“=”的两边必须是同名的属性组,并且在结果中把重复的属性去掉。

    关于自然连接,又出现了几个概念:

    • 悬浮元组:在进行自然连接的时候,有的元组被舍弃掉了(因为不满足等于的条件),这时候被舍弃的元组就叫悬浮元组
    • 如果把悬浮元组也保存在结果关系中,其他属性上填空值(null),那么这种连接就叫外连接
    • 如果只保留左边关系中的悬浮元组,就叫左外连接(left join),如果只保留右边悬浮元组,就叫右外连接(right join)

    4、 除运算(division)
    设关系R除以关系S的结果为T,则T包含所有在R但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R中。

    听起来比较复杂,确实也不是一两句话能讲清楚,那么这个就请大家自行百度把~~~

  • 相关阅读:
    TSQL 备份和还原
    SQL检查死锁情况
    局域网中“隐身”妙招 类似360的局域网隐身
    注册edu邮箱的办法
    C#读、写、删除注册表
    SQL备份计划
    GridView命令不够用怎么办?
    从智能设备访问SQL2000的数据
    智能设备访问SQL2000(一)
    字符HTML编码类(转)
  • 原文地址:https://www.cnblogs.com/yinyoupoet/p/13287437.html
Copyright © 2011-2022 走看看