思维导图+学习笔记

 

关系数据模型的操作
1、查询
选择、投影、连接、除、并、交、差
2、数据更新
插入、删除、修改


一.关系代数(概述)
    一种抽象的查询语言
    用对关系的运算来表达查询

        关系代数运算的三个要素
        运算对象:关系
        运算结果:关系
        运算符:四类

        1、集合运算符
             将关系看成元组的集合
             运算是从关系的“水平”方向即行的角度来进行
        2、专门的关系运算符
             不仅涉及行而且涉及列
        3、算术比较符
             辅助专门的关系运算符进行操作
        4、逻辑运算符
               辅助专门的关系运算符进行操作

二、传统的集合运算

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

R∪S=${t|t∈R∧t∈S$}
R∪S=${t|t∈R∧t∈S$}

2. 交集 (Difference)
R∩S=${t|t∈R∨t∈S$}
R∩S=${t|t∈R∨t∈S$}

3. 差集 (Intersection)
R−S=${t|t∈R∧t∉S$}
R−S=${t|t∈R∧t∉S$}

4. 笛卡尔积 (Extended Cartesian Product)
即分别将两个集合中的元素组合

三、专门的关系运算

(1)选择(Selection) 
在关系R中选择满足给定条件的诸元组
[例]  查询年龄小于20岁的患者
           σSage < 20(patient) 
    或      σ4 < 20(patient)

(2)投影(Projection) 
从R中选择出若干属性列组成新的关系
              πA(R) = { t[A] | t R }
[例]  查询患者的姓名和所在科室
    即求patient关系上患者姓名和所在科室两个属性上的投影
    πSname,Sdept(patient)
    或      π2,5(patient)

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

(4)除(Division) 
给定关系R (X,Y) 和S (Y,Z),其中X,Y,Z为属性组。
R中的Y与S中的Y可以有不同的属性名,但必须出自相同
的域集。R与S的除运算得到一个新的关系P(X),P是R中
满足下列条件的元组在X属性列上的投影:元组在X上分
量值x的象集Yx包含S在Y上投影的集合。


四、表示记号 
(1) R,t属于R,t[Ai]
 设关系模式为R(A1,A2,…,An)
它的一个关系设为R。tR表示t是R的一个元组t[Ai]则表示元组t中相应于属性Ai的一个分量

(2)A,t[A],  A
   若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,则A称为属性列或域列。t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元组t在属性列A上诸分量的集合。A则表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的属性组。 

(3) tr并 ts
    R为n目关系,S为m目关系。trR,ts属于S, tr属于ts称为元组的连接。它是一个n + m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组

(4)象集Zx
  给定一个关系R(X,Z),X和Z为属性组。当t[X]=x时,x在R中的象集(Images Set)为:
               Zx={t[Z]|t R,t[X]=x}
     它表示R中属性组X上值为x的诸元组在Z上分量的集合。

 

posted @ 2018-03-19 13:24  一个烤羊腰子  阅读(550)  评论(0编辑  收藏  举报