精华内容
下载资源
问答
  • 基本关系代数运算:选择3.基本关系代数运算:投影4.基本关系代数运算:并运算5.基本关系代数运算:集合差运算 1.关系代数 可以用代数、逻辑等方法描述关系操作,最基本最常用的是代数方法,即:关系代数 关系代数也...

    1.关系代数

    • 可以用代数、逻辑等方法描述关系操作,最基本最常用的是代数方法,即:关系代数
    • 关系代数也是一门代数,关系代数包括一个运算集合,这些运算以一个或者两个关系作为运算数,产生一个新的关系作为结果
    • 关系代数运算的分类如下:
      在这里插入图片描述

    2.基本关系代数运算:选择

    • 选择
      选择运算是选出满足给定谓词(条件)的元组 ,结果关系和原关系有着相同的模式。
      选择运算用希腊字母δ表示
    • eg:选择出examinee表中,eesex=“男”的元组
      在这里插入图片描述

    3.基本关系代数运算:投影

    • 投影
      投影运算用来从给定关系产生一个只有其部分列的新关系;
      所有希望在结果关系中出现的属性作为Π的右下标,作为参数的关系名紧紧跟在Π后的括号中,结果关系的模式是:Π的下标中所有列出的列出的所有属性并按照Π下标中列出的顺序出现
      投影运算用希腊字母Π表示

    • eg:
      对examinee做投影,结果关系包括:eeid,eename两个属性,并且会去掉结果关系中重复的元组
      在这里插入图片描述

    • 注意:
      关系代数把表看作,作为元组集合的关系,既然是集合,就不包括重复元组,也就是说,关系代数每个运算都是去重的

    4.基本关系代数运算:并运算

    • 关系是相容的
      (1)两个关系必须是同元的,即:他们所包含的属性个数必须相同
      (2)两个关系对应属性的域必须相同或相容
    • eg:
      找出所有肯定有组卷考官或者所有有考生报考的eid
      对erexam的eid属性做投影,查询有组卷考官的试卷eid;
      对eeexam的eid属性做投影,查询有考生报考的试卷eid;
      最后这俩求个并

    在这里插入图片描述

    5.基本关系代数运算:集合差运算

    • 集合差运算是用来查询,载一个关系中,而不在另一个关系中的那些元组, 和并运算一样,集合差运算只能在相容的关系间进行

    • eg:找出所有有考生报考但是还没有安排组卷考官的eid
      对eeexam的eid属性做投影-对erexam的eid属性做投影
      在这里插入图片描述

    6.笛卡尔积运算

    • 结果关系的模式是参与运算的两个关系的模式的串接
    • 运算符左侧关系中的每一个元组与右侧关系的每一个元组拼接,形成结果关系中的一个元组
    • eg:examinee的每个元组和department的每个元组进行拼接,3*3=9个
      在这里插入图片描述

    7.更名

    • 可对关系更名,或者赋予关系代数运算结果的一个名字:
      对给定关系代数表达式E,表达式ρxρ_x(E)返回表达式E的结果,饼吧名字赋给了他

    • 假设关系代数表达式E是n元的,则表达式:
      在这里插入图片描述
      返回表达式E的结果,并赋给它名字x,同时将E的各属性更名为ρ1ρ_1A2A_2AnA_n

    • eg:查询所有历史学院的考生姓名
      在examinee表中,对历史学院做出选择,然后对eename进行投影
      在这里插入图片描述

    展开全文
  • 关系代数运算

    千次阅读 2019-02-01 15:55:18
    关系代数运算 关系运算的参与对象是关系,运算后结果也是关系。在数据库中,关系就是一张张的表。在离散数学中,关系是做为一个个的集合来进行运算的。 代数运算的分类: 传统的集合运算:并、差、交、笛卡儿积...

    关系代数运算

       关系运算的参与对象是关系,运算后结果也是关系。在数据库中,关系就是一张张的表。在离散数学中,关系是做为一个个的集合来进行运算的。

    代数运算的分类:

    传统的集合运算:并、差、交、笛卡儿积、笛卡儿积的逆运算(除)

    专门的的关系运算:选择、投影、连接(等值连接、自然连接)

    五种基本运算:并、差、笛卡儿积、选择、投影

    五种基本操作经过有限次复合的式子称为关系代数表达式

    关系运算

    并:查询时使用union

    RUS:R、S有相同的关系模式

    R
    A B
    a b
    S
    A B
    c d
    e f
    RUS
    A B
    a b
    c d
    e f

    交: 查询时使用intersect  也可以使用笛卡尔积、选择和投影来实现

    R\bigcapS:R、S有相同的关系模式

    R
    A B
    a b
    S
    A B
    c d
    a b
    RnS
    A B
    a b

    差:查询时使用except

    R-S:R、S有相同的的关系模式

    S
    A B
    a b
    R
    A B
    c d
    a b
    R-S
    A B
    c d

    笛卡儿积

    RxS
    A B C D
    a b e f

    a

    b g h
    c d r f

    c

    d g h

    选择:选择行(元组),查询时使用条件 where,having语句

    投影:选择列(属性)

    连接:

          自然连接:

    U
    A B C
    1 2 3
    6 7 8
    9 7 8

     

    V
    B C D
    2 3 4
    2 3 5
    7 8 10

     

    UnV
    A B C D
    1 2 3 4
    1 2 3 5
    6 7 8 10
    9 7 8 10

          等值连接:

                         R.B= S.D

    笛卡儿积的逆运算:

          传统的解法:

    所以笛卡儿积也可以看作选择、投影、笛卡儿积的复合运算  

    (1)

    R
    A B C D
    a b c d
    a b e f
    c a c d

     

     

    S
    C D
    c d
    e f

     

        结果:

    T
    A B
    a b
    a b
    c a

     

      (2)

    TxS
    A B C D
    a b c d
    a b e f
    a b c d
    a b e f
    c d e f
    c a e f

     

    W
    A B C D
    c a e f

     

      (3)

    V
    A B
    c a

      (4)T-V并去重

    A B
    a b

      

      非传统的解法:

        (1)找出关系R和关系S中相同的属性,即C、D属性。在关系S中对C、D做投影(即取出C、D列),结果如下:

    C D
    c d
    e f

      

                   (2)在被除关系R中与S中不相同的属性是A、B,关系R在属性(X)上做取消重复值的投影为;

              

    X
    A B
    a b
    c a

     

           (3)求关系R中X属性对应的像集C、D;

    a、b对应的像集
    C D
    e f
    c d

     

    c、d对应的像集
    C D
    c d

     

                       (4)判断包含关系

                           R除以S其实就是判断关系R中X各个值的像集C、D,的所有的值。对比即可发现:

                          a和b的像集包含了关系S中属性C、D的所有的值,而c和a只包含了c、d,所以排除到c和a构成的集合。所以最后的结果就是:     

    最后的结果
    A B
    a b

     

     

    较详细的讲解: https://blog.csdn.net/alexshi5/article/details/80024250

    展开全文
  • 关系代数基本运算Definition 定义 Every DBMS must define a query language to enable users to access the data which is stored in the database. Relational Algebra is a procedural query language. It is ...

    关系代数基本运算

    Definition

    定义

    Every DBMS must define a query language to enable users to access the data which is stored in the database. Relational Algebra is a procedural query language. It is used to query the database tables in order to access data in several ways. In this algebra, the input is a relation and output is also a relation. Operators are used to performing queries. It can be either unary or binary operator.

    每个DBMS必须定义一种查询语言,以使用户能够访问存储在数据库中的数据。 关系代数是一种过程查询语言。 它用于查询数据库表,以便以多种方式访问​​数据。 在这个代数中,输入是一个关系,输出也是一个关系。 运算符用于执行查询。 它可以是一元或二进制运算符。

    Basic Operations

    基本操作

    • SELECT (unary)

      SELECT(一元)

    • PROJECT (unary)

      项目(一元)

    • UNION (binary)

      UNION(二进制)

    • SET DIFFERENCE (binary)

      设置差异(二进制)

    • CARTESIAN PRODUCT (binary)

      笛卡尔积(二进制)

    • RENAME (unary)

      重命名(一元)

    Other Operations

    其他作业

    • SET INTERSECTION

      设置相交

    • NATURAL JOIN

      自然加入

    • DIVISION

    • ASSIGNMENT

      分配

    1)选择运算(σ) (1) Select Operation (σ))

    This is used to get rows (tuples) from the table (relation) which fulfill a given condition.

    这用于从满足给定条件的表(关系)中获取行(元组)。

    Syntax: σp(r)

    语法: σp(r)

    Where σ is used for the Select Predicate, r is the name of relation or table, and p is used as the propositional logic, where we give the conditions that must be fulfilled by the data. In this, unary and binary operators like =, etc., to mention the condition can be used.

    其中σ用于Select谓词,r是关系或表的名称,而p用作命题逻辑,在此我们给出数据必须满足的条件。 在这种情况下,可以使用一元和二进制运算符(例如=等)来提及条件。

    Example: Student table and get data for students with age more than 20.

    示例: Student表并获取20岁以上学生的数据。

    σage> 20 (Student)

    年龄> 20(学生)

    2)项目运营(∏) (2) Project Operation (∏))

    Project operation is used to project or show only a desired set of attributes of a relation. In other words, if we wish to see only the names all of the students in the Student table, then the project operation can be used. It will only project the columns or attributes chosen and will delete duplicate data from the columns.

    项目操作用于计划或仅显示关系的所需属性集。 换句话说,如果我们希望仅在“学生”表中看到所有学生的姓名,则可以使用项目操作。 它只会投影选定的列或属性,并且将从列中删除重复的数据。

    Syntax: ∏A1, A2...(r)

    语法: ∏A1,A2 ...(r)

    Here A1, A2 etc. are attribute names (name of columns).

    在此,A1,A2等是属性名称(列名)。

    Example:

    例:

    ∏Name, Age(Student)

    ∏姓名,年龄(学生)

    3)联合行动(∪) (3) Union Operation (∪))

    This is used to fetch data from two (relations)tables or temporary relations (the result of other operation).

    这用于从两个(关系)表或临时关系(其他操作的结果)中获取数据。

    For union operation to work, the condition is that the relations(tables) taken should have an equal number of attributes(columns) and equal attribute domain. Even the duplicate tuples are automatically removed from the result.

    为了使联合操作起作用,条件是所采用的关系(表)应具有相等数量的属性(列)和相等的属性域。 即使重复的元组也会自动从结果中删除。

    Syntax: P ∪ Q

    语法: P∪Q

    Where P and Q are relations.

    其中PQ是关系。

    Example: if we have two tables Regular class and Extra class, both have an attribute student to save the name of the student, then,

    示例:如果我们有两个表常规班级和额外班级,它们都具有属性student来保存学生的姓名,那么,

    ∏Student(Regular class) ∪ ∏Student(Extra class)

    ∏学生(普通班)∪学生(普通班)

    4)设置差异(-) (4) Set Difference (-))

    This operation is used to find data which present in one relation but not present in the other relation. This operation can be applied to two relations, just like the Union operation.

    此操作用于查找以一种关系存在但不以另一种关系存在的数据。 就像联合操作一样,此操作可以应用于两个关系。

    Syntax: P - Q

    语法: P-Q

    Where P and Q are relations.

    其中PQ是关系。

    Example: if we want to find the name of students who take the regular class but miss the extra class, then, the below operation can be used as:

    示例:如果我们想查找参加普通班但错过额外班级的学生的姓名,则可以将以下操作用作:

    ∏Student(Regularclass) - ∏Student(Extraclass)

    ∏学生(普通班)-∏学生(额外班)

    5)笛卡尔积(X) (5) Cartesian Product (X))

    This operation is used to combine data of two separate relations into single and fetch data from the combined result relation.

    此操作用于将两个单独关系的数据合并为单个数据,并从合并结果关系中获取数据。

    Syntax: A X B

    语法: AXB

    Example: to find the information for Regular Class and Extra Class which are conducted in the morning, then, the following operation can be used:

    示例:要查找早晨进行的常规班和额外班的信息,则可以使用以下操作:

    σtime = 'morning' (Regularclass X Extraclass)

    σtime='早晨'(常规类X附加类)

    6)重命名操作(ρ) (6) Rename Operation (ρ))

    Rename operation is used to change the name or rename the output relation for any query operation which returns or gives the result like Select, Project etc. Or in simple words to rename a relation(table).

    重命名操作用于为返回或给出诸如Select,Project等结果的任何查询操作更改名称或重命名输出关系。或者用简单的语言重命名关系(表)。

    Syntax: ρ(Relationnew, Relationold)

    语法: ρ(Relationnew,Relationold)

    翻译自: https://www.includehelp.com/dbms/basic-and-additional-operations-of-relational-algebra.aspx

    关系代数基本运算

    展开全文
  • 关系代数是一种抽象的查询语言,用对关系的运算来表达查询,作为...基本关系代数算法: 传统的集合运算:并、交、差、广义笛卡尔积; 专门的集合运算:选择、投影、象集、连接(等值连接、自然连接)、除; Refences

    关系代数是一种抽象的查询语言,用对关系的运算来表达查询,作为研究关系数据语言的数学工具。1

    基本的关系代数算法

    传统的集合运算

    \cup

    1. 要求:参与并运算的两张关系表必须具有相同的属性(列名);
    2. 运算方法:选取R、S关系表中的所有元组合并,建立新表;
    3. 表达式:
      RS={iiRiS}. R \cup S = \{ i|i \in R \vee i \in S\}.
      RcupS

    \cap

    1. 要求:参与交运算的两张关系表必须具有相同的属性(列名);
    2. 运算方法:选取R、S关系表中的所有相同元组,建立新表;
    3. 表达式:
      RS={iiRiS}. R \cap S = \{ i | i \in R \wedge i \in S \}.
      RcapS

    -

    1. 要求:参与交运算的两张关系表必须具有相同的属性(列名);
    2. 运算方法:选取R表中与S表中任意元组不同的元组,建立新表;
    3. 表达式:
      RS={iiRiS}. R - S = \{ i | i \in R \wedge i \notin S \}.
      R-S

    笛卡尔积(广义) ×\times

    1. 要求:R表和S表可以拥有不同的属性(列);
    2. 运算方法:R的每一行元组后面都要跟随S的所有元组;
    3. 表达式:
      R×S={iRiS^iRRiSS}. R \times S = \{ \widehat{i_R i_S} | i_R \in R \wedge i_S \in S \}.
      RtimesS

    专门的集合运算

    选择 σ\sigma

    1. 要求:拥有一个基于R表中属性A(列A)的逻辑表达式F;
    2. 运算方法:从R表中选择符合逻辑表达式F的元组(行),建立新表;
    3. 表达式:
      F(i)=i[A]θa(θ,>,<,,,=),σF(R)={iiRF(i)}. F(i)=i[A]\,\theta\,a \\ (\theta 为比较运算符,可为>,<,\geq,\leq,=或\neq),\\ \sigma_F(R)= \{ i | i \in R \wedge F(i)\}.
      Select

    投影 π\pi

    1. 要求:所选的属性组A,B必须来源于R表的属性(列名);
    2. 运算方法:从R表中选择指定的属性组(列),建立新表;
    3. 表达式:
      πA,B(R)={i[A,B]iR}. \pi_{A,B}(R)= \{ i[A,B] | i \in R \}.
      Project

    象集(选择+投影)

    1. 要求:所选的具体属性值a必须来源于R表中存在的属性(列);
    2. 运算方法:从R表中选择指定的属性值a所在的行,投影出剩下的其他属性Z,建立新表;
    3. 表达式:
      πZ(σA=a(R))={i[Z]iRi[A]=a}. \pi_{Z}(\sigma_{A=a}(R))= \{ i[Z] | i \in R \wedge i[A]=a \}.
      Image

    连接 \bowtie

    1. 要求:A、B属性组(列)必须分别为R表和S表中的属性,且具有可比性(如皆为日期属性、数值属性等);
    2. 运算方法:先使用广义笛卡尔积(见上文)算出R×\timesS,再在R×\timesS中选取符合逻辑表达式F的元组,建立新表;
    3. 表达式:
      F(i)=iR[A]θiS[B](θ,>,<,,,=),RFS={iRiS^iRRiSSF(i)}. F(i)=i_R[A] \,\theta\, i_S[B]\\ (\theta 为比较运算符,可为>,<,\geq,\leq,=或\neq),\\ R\mathop{\bowtie}\limits_{F} S=\{\widehat{i_Ri_S} | i_R \in R \wedge i_S \in S \wedge F(i) \}.
      Connect

    等值连接

    1. 要求:在满足连接要求的前提下,逻辑表达式F中的θ\,\theta\,为“=\,=\,”;
    2. 运算方法:先使用广义笛卡尔积(见上文)算出R×\timesS,再在R×\timesS中选取表R的属性A与表S的属性B值相等的元组,建立新表;
    3. 表达式:
      RA=BS={iRiS^iRRiSSiR[A]=iS[B]}. R\mathop{\bowtie}\limits_{A = B} S=\{\widehat{i_Ri_S} | i_R \in R \wedge i_S \in S \wedge i_R[A] = i_S[B] \}.
      eqConnect

    自然连接

    1. 要求:在满足连接要求的前提下,R表和S表中必须要有至少一个相同的属性C(列C);
    2. 运算方法:先使用广义笛卡尔积(见上文)算出R×\timesS(即下图中右侧较大的整个表),再在R×\timesS中选取两表中属性C值 相等 的元组,建立新表,并删除重复的相同属性组,仅保留一组即可
    3. 表达式:
      RS={iRiS^iRRiSSiR[A]=iS[A]}. R\bowtie S=\{\widehat{i_Ri_S} | i_R \in R \wedge i_S \in S \wedge i_R[A] = i_S[A] \}. naturalConnect

    ÷\div

    1. 要求:在满足连接要求的前提下,R表和S表中必须要有相同的属性A(列A);
    2. 运算方法:寻找S表中与R表相同的属性组X(列),在R表中寻找匹配S表属性的元组,选取含有S表中属性组X的所有属性的R表元组,再对选出的元组做关于属性X的象集(见上文)得到;
      *具体算法建议参考 关系代数运算——除法运算_Jack浩2
    3. 表达式:
      R÷S={iR(X)iRRπY(S)YX}(YX=πZ(σX=iR[X](R))). R\div S=\{i_R(X) | i_R \in R \wedge \pi_Y(S) \subseteq Y_X \}\\(Y_X=\pi_{Z}(\sigma_{X=i_R[X]}(R))).
      div

    以上大部分整理 来源于《数据库系统概论(第5版)》高等教育出版社3,如有问题请不吝赐教,谢谢

    Refences


    1. 关系代数_百度百科 ↩︎

    2. 关系代数运算——除法运算_Jack浩 ↩︎

    3. 《数据库系统概论(第5版)》_高等教育出版社 ↩︎

    展开全文
  • 关系数据库的基本概念1.1 属性和域1.2 笛卡儿积与关系1.3 关系数据库模式1.4 关系运算1.4.1 关系代数运算符1.4.2 五种基本关系代数运算1.4.3 扩展关系代数运算 1. 关系数据库的基本概念 1.1 属性和域 在现实世界中...
  • 关系代数运算——除法运算

    万次阅读 多人点赞 2015-09-11 19:20:20
     最近在复习数据库的一些基本知识,在学习关系代数运算的时候再次遇到了除法运算,记得当时自己在准备自学 考试的的时候就遇到过这个知识,当时就不太明白;因为当时我们需要复习的科目很多,所以就直接放弃这...
  • 关系代数基本运算

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

    2018-07-26 17:27:00
    转自数据库-关系代数(类型、完整性约束、基本运算、扩展运算) (1)基本概念 ① 属性和域: 每个事物有很多属性,每个属性对应的取值范围叫做域,所有对域都是原子数据(第一范式) ② 相关名词 n元关系:R...
  • 【数据库】关系代数基本运算

    万次阅读 多人点赞 2016-11-01 22:35:35
    前言    关系代数是以关系为运算对象的一组高级运算的集合。由于关系定义为属性个数相同的元组的集合,因此集合代数的操作就可以引入到关系代数中。关系代数中的操作可以分为...五个基本关系代数操作    ...
  • 关系代数运算

    万次阅读 2012-11-09 09:34:11
    关系代数运算之除法运算专题讲解 1.关系运算的分类  (1)基本运算操作:并、差、笛卡尔积、投影和选择。  (2)组合运算操作:交、联接、自然联接和除。  另外,还有几种扩充的关系代数操作:外联接...
  • 传统的集合运算: (1):并(Union) 1 //并 2 relate union_relate(relate u_R, relate u_S) 3 { 4 relate P; 5 int i = 0, j = 0, k = 0; 6 for (i = 0; i < 25; i++) 7 { 8 P.num_tuple = ...
  • 关系代数运算——(软考三)

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

    2015-06-08 22:22:00
    2.2.1 关系代数的五个基本操作 考核要求:达到“简单应用”层次知识点:五个基本操作的含义和运算应用 (1)并(∪):两个关系需有相同的关系模式,并的对象是元组,由两个关系所有元组构成。 RUS≡{t| t∈R ∨t∈...
  • 关系代数运算之除法运算专题讲解

    千次阅读 2013-09-17 22:54:06
     另外,还有几种扩充的关系代数操作:外联接(左外联接和右外联接)、外部并和半联接。  2.除法定义的理解  设两个关系R和S的元数分别为r和s(r>s>0),那么R÷S是一个(r-s)元的元组的集合。(R÷S)是满足下列条件的...
  • 关系代数基本运算

    千次阅读 2014-09-04 09:21:12
    关系代数是以关系
  • 关系代数运算对象是关系,运算结果也是关系。 运算对象、运算符和运算结果是关系代数的三大要素。 关系代数运算可分为以下两大类: 1.传统的集合运算:并、交、差、笛卡尔积 2.专门的关系运算:选择、投影、连接...
  • 关系代数和关系运算

    千次阅读 2019-08-23 14:36:40
    查询语言 用户用来从数据库中请求获取信息的语言 “纯”查询语言(奠定了...六个基本运算 select 选择 project 投影 union 并 set difference 差(合集差) cartesian product 笛卡尔积 rename 更名(重命...
  •   数据库系统学习第7篇:关系代数基本运算及附加运算。参考书籍:数据库系统概念。 基本运算   基本运算有6种,如下所示: 选择运算   选择运算的目的是 选出满足给定谓词的元组,表示如下:   选择运算...
  • 文章目录五中基本关系代数操作并(Union)差(Difference)广义笛卡尔积(Extended Cartesian Product)投影(Projection)选择(Selection)连接等值连接自然连接实战练习       &...
  • 并、差、笛卡尔积、投影和选择5种运算基本运算。其他三种运算,即交、链接和除,均可以用这5种运算来表达
  • 上一节讲了关系代数的一些基本运算,本节继续讲解其余的基本运算:笛卡尔积和更名运算。 笛卡尔积(x)笛卡尔积运算使得我们可以将任意两个关系的信息组合在一起。形式的说,R×S被定义为: RS= {rs|rR,sS} ...
  • 关系代数基本运算主要包括选择、投影、并、集合差、笛卡尔积和更名运算。 选择、投影和更名运算是一元运算。另外三个是二元运算。 选择 (σ) 广义选择是写为的一元运算,这里的是由正常选择中所允许的原子和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 619
精华内容 247
关键字:

基本关系代数运算