精华内容
下载资源
问答
  • 关系代数基本运算

    千次阅读 2016-02-16 15:07:14
    关系代数基本操作有:并、差、除、选择、投影、笛卡尔积等。 1、差  定义:差即Difference,用符号-表示,表示两个表中不一样的部分。此种计算需要使得运算的两个表具有相同的字段。例如S1-S2是在...


    前言:关系代数名称的由来是因为其中含有操作符和操作数,操作数为表,操作符为交、并等。关系代数有分为基于集合的关系代数和基于包的关系代数;关系代数的基本操作有:并、差、除、选择、投影、笛卡尔积等。



    1、差


      定义:差即Difference,用符号-表示,表示两个表中不一样的部分。此种计算需要使得运算的两个表具有相同的字段。例如S1-S2是在S1中而不在S2中的记录的集合:


            



    2、投影


      定义:从一个关系里面抽取指明的属性(列)。投影运算符是π,该运算作用于关系R将产生一个新关系S,S只具有R的某几个属性列。

      投影运算的一般表达式为:S = πA1, A2, … , An(R)

      S是投影运算产生的新关系,它只具有R的属性A1, A2, … , An所对应的列。

      例如:

        对于关系:


                


        进行投影运算:πStudentNo, StudentName(Student) 结果为:


                    



    3、选择


      定义:从关系里面抽取出满足给定限制条件的记录。

      即:投影是获得表中的列,而选择是获得表中的行。



    4、除


      定义:除运算是同时从关系的水平方向和垂直方向进行运算。例如给定关系R(X,Y)和S(Y,Z),X、Y、Z为属性组。R÷S应当满足元组在X上的分量值x的象集y包含关系S在属性Y上投影的集合。

      其形式定义为:


           


      例如:


                     


      找出关系R和关系S中相同的属性,即Y属性。在关系S中对Y做投影,得到:


                          


      被除关系R中与S中不相同的属性列是X,关系在属性X上做取消重复值的投影为{X1,X2};根据关系R的记录,可以得到与X1值有关的记录,如图3所示;与X2有关的记录,如图4所示:


                    


      得出结论:R÷S其实就是判断关系R中X各个值的像集Y是否包含关系S中属性Y的所有值。可知:X1的像集只有Y1,不能包含关系S中属性Y的所有值,所以排除掉X1;

      而X2的像集包含了关系S中属性Y的所有值,所以R÷S的最终结果就是X2 :


                         



    5、笛卡尔积


      计算两个关系的笛卡尔积。两个关系R和S的笛卡尔积记作R×S,它的关系模式属性是R和S的模式的并集。R×S是把R和S的元组以所有可能的方式组合起来,因此,R×S拥有的元组数量应该是R的元组数与S的元组数的乘积。

      例如:


                





    展开全文
  • 选择运算,那些符号相当难打出来,还是算了。选择(select)运算选出满足给定谓词的元组。取行操作 2。投影运算(project)。返回作为参数的关系的某些属性。由于关系是一个集合,所以所有重复的行均被剔除。取列...
    1。选择运算,那些符号相当难打出来,还是算了。选择(select)运算选出满足给定谓词的元组。取行操作
    2。投影运算(project)。返回作为参数的关系的某些属性。由于关系是一个集合,所以所有重复的行均被剔除。取列操作
    3。并运算(union)。
    4。集合差运算(set-difference)
    5。地卡尔积运算

    Union ,unionall      相当于交
    intersect,intersectall            相当于并
    except,except all        相当于减
    加了all之后能保留重复相当于交
    当然这些可以用 嵌套查询也可解决,in ,not in。

    关键词 some,至少比某一个要大,>some
    select branch_name from branch whereassets>some(select assets from branch wherebranch_city='Brooklyn')找出那些至少比branch中位于brooklyn的assets其中一个要大的branch_name.

    exists,not exists

    unique,not unique.测试是否有重复元素

    foreign key(branch_name) references branch one deletecascade,       
    意为这张表的banch_name依赖于branch这张表,如果branch删除了某个banch_name,则现在这张表也会做联级删除。


    连接池的概念。
    php一般没有连接池这个概念。借助apache的进程池,所以一般就不实现连接池。不过sqlrealy

    myisam
    说明当数据表有一个读锁时,其它进程的查询操作可以马上执行,但更新操作需等待读锁释放后才会执行。

    说明当数据表有一个写锁时,其它进程的读写操作都需等待读锁释放后才会执行。

    "
    在以下情况下,表锁定优先于页级或行级锁定:

    · 表的大部分语句用于读取。

    · 对严格的关键字进行读取和更新,你可以更新或删除可以用单一的读取的关键字来提取的一行:

    · UPDATE tbl_name SET column=value WHEREunique_key_col=key_value;
    · DELETE FROM tbl_name WHERE unique_key_col=key_value;
    · SELECT 结合并行的INSERT语句,并且只有很少的UPDATE或DELETE语句。
    · 在整个表上有许多扫描或GROUP BY操作,没有任何写操作。
    "


    竟然发现,运行 update book set name='abc' wherenum=11; 后,有结果出现了,说明没有被锁住,
    这是为什么呢,难道 2 行数据和 5 行数据, MySQL 来说,会产生锁行和锁表两种情况吗 。经过跟网友讨论和翻阅资料,仔细分析后发现:

    在以上实验数据作为测试数据的情况下,由于num 字段重复率太高,只有 2 个值,分别是 11 12. 而数据量相对于这两个值来说却是比较大的,是10 条, 5 倍的关系。
    那么 mysql 在解释 sql 的时候,会忽略索引,因为它的优化器发现:即使使用了索引,还是要做全表扫描,故而放弃了索引,也就没有使用行锁,却使用了表锁。简单的讲,就是 MYSQL 无视了你的索引,它觉得与其行锁,还不如直接表锁,毕竟它觉得表锁所花的代价比行锁来的小。以上问题即便你使用了force index 强制索引,结果还是一样,永远都是表锁。




    "InnoDB行锁是通过给索引上的索引项加锁来实现的,这一点MySQL与Oracle不同,后者是通过在数据块中对相应数据行加锁来实现的。InnoDB这种行锁实现特点意味着:只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁!"
    而且这里的索引无论是何种索引都可以,唯一索引,主键索引,普通索引都行。
    展开全文
  • 关系代数基本运算

    千次阅读 2014-09-04 09:21:12
    关系代数是以关系

    关系代数是以关系为运算对象的一组高级运算的集合。

       首先让我们来说说他们的基本操作。

    并:前提有相同的关系模式,属于关系R或者属于关系S的元祖

            交:属于关系R或者属于关系S的元祖

      笛卡尔积:R和S字段列并上合成一个新的表,说白了就是新表里的一条记录前r个属性值来自第一个表,后s个分量来自第二个表。

            投影:垂直分割,按条件消去某些列,重新安排顺序。

    选择:横向去看,按比较运算符进行操作。

      连接:前提条件,将字段列合并(做笛卡尔积运算),一般都是让你去找i列和j列相等的元祖。

    自然连接:前提条件同上,公共字段的属性值相等且新的相同的元祖只能写一次。

                  

    分析:其实在看这个章节的时候,我看了好几遍,刚开始只有一个印象知道有这么回事,但具体是什么我自己也说不明白。但是突然想起这个我们就得不断的追问自己这是 什么,做什么,为什么。然后尽可能的去找自己熟悉的东西和他结合起来看,或者是将它们分类比较着看,这样慢慢的就理解了。


        总结:没有什么东西是你学不会的,只有说同一件东西你理解的多和少,付出的多和少。

    展开全文
  •   数据库系统学习第7篇:关系代数基本运算及附加运算。参考书籍:数据库系统概念。 基本运算   基本运算有6种,如下所示: 选择运算   选择运算的目的是 选出满足给定谓词的元组,表示如下:   选择运算...

      数据库系统学习第七篇:关系代数之基本运算、附加运算、扩展操作。参考书籍:数据库系统概念。

    基本运算

      基本运算有6种,如下所示:
    在这里插入图片描述

    选择运算

      选择运算的目的是 选出满足给定谓词的元组,表示如下:

    在这里插入图片描述

      选择运算可以有如下规则:

    1. 允许在谓词中 > = < 等 符号 进行比较,如找出工资大于90000美元的所有元组。
      .在这里插入图片描述
      在这里插入图片描述
      2.允许 用 ^(and)、 ∨(or)、¬(not)将谓词组成更大的谓词,如为了找到物理系中工资额大于90 000美元的教师,我们需要书写:
      在这里插入图片描述
      3.允许谓词中出现对属性的比较,如找到那些系名和楼名相同的系:
      在这里插入图片描述
      在这里插入图片描述

    投影运算

      投影运算就是对关系的某些性质进行选择,并产生新的关系,由于关系是集合,所以去掉重复的元组,保留一个就行。但是实际情况查询的时候,如果没有加distinct关键字,允许结果出现重复的元组。投影用大写字母pi(π) 表示。举例如下,选取instructor的 id ,name ,以及salary属性:
    在这里插入图片描述

    并运算

      并运算可以将两次运算的结果 归并为一个更大的结果。如为了找到2009年秋季学期开设的所有课程和2010年春季学期开设的课程,我们可以采取如下的方式:
    在这里插入图片描述

    在这里插入图片描述
      并运算要注意满足两个原则,以关系 r 和 关系s 进行r U s运算举例:

    1. 关系r和s必须是同元的,即它们的属性数目必须相同。
    2. 对所有的i,r的第i个属性的域必须和s的第i个属性的域相同。

    后面的差运算 和 交运算 同样满足这两个原则,就不再赘述。

    差运算

       见名知义, r - s 可以如下图来理解,橘色那块就是r-s:
    在这里插入图片描述

    笛卡尔积

       笛卡尔积没什么多说的,简单记住笛卡尔积可能会产生大量的无效元组,假设 计算前 关系 r 的元组有 m 个 ,关系s的元组有n个,那么 r x s 的元组 有 mn个。与笛卡尔积对应的有自然连接 及 外连接运算,根据实际情况选择采用笛卡尔积 、自然连接、外连接这三种运算。

    更名运算

       更名运算大致可以分为两种,一是对关系自己的更名,一是对关系的属性进行更名。
    1.关系更名:下图表示将名字x赋给关系表达式E:
    在这里插入图片描述
    2.关系的属性更名:下图表示依次将A1,A2…An的名字赋给关系表达式E的各个属性,并将x赋给E:
    在这里插入图片描述

    附加运算

      基本关系代数运算针对某些计算时,可能显得比较冗长,为了便于表达 和 方便他人理解,所以给出了附加运算,附加运算可以分为4种:
    在这里插入图片描述

    交运算

      交运算比较简单,注意保证 关系 r 和 s 是相容的(即满足上文并运算提到的两个原则)就行:
    在这里插入图片描述
    交运算可以由基本表达式表示为:
    在这里插入图片描述

    自然连接(Natural Join)

      直接看下图,再解释:
    在这里插入图片描述
      如果关系模式 R 和 S 有相同的属性,那么在关系r和s进行笛卡尔积之后,就对这些相同的属性进行选择,然后再对所有的属性(重复的属性只取一次)进行投影。
      与笛卡尔积很大的不同就是 ,自然连接的属性数目是小于或等于笛卡尔积计算后的属性数目的。
      但是我们在实操时,只需找到两个关系相同的属性,一一比对就行,不用先进行笛卡尔积那样麻烦,例子
    在这里插入图片描述

      注意当关系 r 和 s 没有相同的属性时,也就是上文中

    在这里插入图片描述

      没有这个选择条件加以限制,也就是说此时自然连接等同于笛卡尔积。

    除法

      除法其实也是个找相同的问题,不过是尾部找相同的问题,先贴图
    在这里插入图片描述
      其中1是说明,除的关系模式的属性 必须是 被除的关系模式的一部分,并且是最后的一部分。(如果不是最后的一部分,自己手动移到最后的一部分即可)
      其中2 中的任意符号,是除法的精要所在。它指明 r ÷s中 的元组必须满足如下条件:如果某元组是πR-S(r)中的元组,必须与任意的s中的元组结合起来的结果是r的元组 。可能这里解释不太直观,如下图所示:
    在这里插入图片描述

    赋值

      赋值简单理解为就是为将关系表达式赋值给临时变量即可。如下:
    在这里插入图片描述

    扩展操作

      扩展操作其实就是对前面的已经提到的关系表达式进行扩展 ,以扩大关系运算的适用范围。扩展操作包括下面三个方面:
    在这里插入图片描述

    广义投影

      允许投影列表出现算数表达式,算数表达式通常涉及到一些常量 和 属性。
    在这里插入图片描述

      例如,我想知道每个导师ID name dept_name以及每个月的月薪时,就要对salary 除以12 如下所示:
    在这里插入图片描述

    在这里插入图片描述

    聚集函数

    在这里插入图片描述
      先记住G1,G2…Gn是分组条件 ,F1、F2…Fn是聚集函数 ,A1,A2,An是E中的属性。分组条件 和 聚集函数都要出现在结果中
      聚集函数满足如下条件:

    1. 同一组的所有元组在G1,G2,…Gn上的值是相同的。
    2. 不同组的元组针对 G1,G2…Gn的取值序列是不同的。

      特别地,当分组条件不存在时,默认分为一组.。
    举例说明:
    在这里插入图片描述
    在这里插入图片描述

    外连接

      笛卡尔积会产生大量的无效元组,自然连接会丢失部分信息,那么外连接就是二者的折中方案。外连接分为左外连接,右外连接,全外连接。
      以左外连接为例,它的意思是 r 和 s 进行自然连接产生新结果p以后,对于r未在p中出现的元组,则将该元组后面将s中与r未重复的属性均赋值为null,并添加到p中。这里可能不是解释得很清楚,看图:
    在这里插入图片描述
    在这里插入图片描述

      与此相关的右外连接 和 全外连接:
    在这里插入图片描述

      写完收工!

    展开全文
  • 关系代数关系运算

    千次阅读 2019-08-23 14:36:40
    查询语言 用户用来从数据库中请求获取信息的语言 “纯”查询语言(奠定了...六个基本运算 select 选择 project 投影 union 并 set difference 差(合集差) cartesian product 笛卡尔积 rename 更名(重命...
  • 关系代数运算与SQL查询的对应关系
  • 关系代数运算——(软考三)

    千次阅读 热门讨论 2015-10-09 21:39:35
    关系代数运算的是关系,运算结果亦是关系关系代数的基本关系包括:并、交、差、笛卡尔积、选择、投影、连接、除法运算。由于并、交、差运算很简单,这里不再赘述,只说明了几个容易遗忘和混淆的运算。
  • 关系代数运算

    万次阅读 2012-11-09 09:34:11
    关系代数运算之除法运算专题讲解 1.关系运算的分类  (1)基本运算操作:并、差、笛卡尔积、投影和选择。  (2)组合运算操作:交、联接、自然联接和除。  另外,还有几种扩充的关系代数操作:外联接...
  • 关系代数除法: 直接从例子来理解:关系r 除关系 s 在这里插入图片描述 第一步、把s看成一块整体,求属性的交集的所在元组集合,图中红框部分 第二步、所选出来的红框部分减去s这个整体即可 结果如下图: ...
  • 数据库系统丨关系代数运算总结

    千次阅读 2020-06-08 00:11:00
    数据库系统中关系代数运算总结,其中包括示例帮助理解。
  • 一、关系数据结构及形式化定义 1、关系 关系模型的数据结构非常简单,只包含单一的数据结构——关系。... 笛卡儿积是域上的一种集合运算。 定义:给定一组域D1,D2,...,Dn,允许其中某些域是相同的,D...
  • 特别感谢原作者,感觉写得特别清晰,为方便日后... 关系模型的数据结构非常简单,只包含单一的数据结构——关系。在用户看来,关系模型中数据的逻辑结构是一张扁平的二维表。 1.1 域 域是一组具有相同数据类型值的...
  • 常用数学符号大全、关系代数符号

    万次阅读 2018-09-26 15:39:39
    常用数学符号大全、关系代数符号 1、几何符号  ⊥ ∥ ∠ ⌒ ⊙ ≡ ≌ △  2、代数符号  ∝ ∧ ∨ ~ ∫ ≠ ≤ ≥ ≈ ∞ ∶  3、运算符号  如加号(+),减号(-),乘号(×或·),除号(÷或/),两...
  • 数据库关系代数详解

    千次阅读 多人点赞 2021-02-26 16:35:55
    1. 关系代数运算 1.1 传统的关系运算 传统的关系运算起源于数学的集合论,有下面几种: 笛卡尔积运算运算运算运算 1.2 专门的关系运算 选择 投影 连接 除运算 1.2.1 关系运算中的基础概念 在学习关系...
  • 笛卡尔积(cartesian pproduct):笛卡尔积是域上的一种集合运算。 以下三个定义可以可以参见我上次的文章中的第3问。传送门 关系(relation): 元组(tuple): 属性(attribute): ————————————————————...
  • 用Python学数学之Sympy代数符号运算

    千次阅读 2019-03-27 03:27:10
    在我们初、高中和大学近10年的学习时间里,数学一直占据着非常大的分量,但是回忆过去可以发现,我们把大量的时间都花在反复解题、不断运算上,计算方法、运算技巧、笔算能力以及数学公式的记忆仿佛成了我们学习数学...
  • 关系代数六种基本运算 select 选择 Project 投影 Union 并 set diffeence 差(集合差) Cartesion product 笛卡尔积 Rename 更名 关系运算是指用户输入一个或者两个关系从而得到一个新的关系。 附加运算 Set ...
  • 5.1常用矩阵的生成 5.2矩阵的基本运算 5.3符号矩阵的基本运算 5.4矩阵分析 5.4.1矩阵的共轭与逆 5.4.2向量和矩阵的范数 5.4.3矩阵的条件数 5.5矩阵的秩与初等变换 5.6矩阵的分解 5.6.1对称正定矩阵的Cholesky分解 ...
  • 布尔代数(基本概念,运算规则,符号/数字代表的含义) ...布尔代数运算规则: Commutativity: (1) x + y = y + x (2) x ⋅ y = y ⋅ x; Associativity: (1) (x + y) + z = x + (y + z) (2) (x ⋅ y) ⋅ z

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,717
精华内容 8,286
关键字:

关系代数的基本运算的符号