数据库关系代数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
登入
约翰·贝克
关系数据库关系代数
当我学习数据库时,我接触过关系代数,但是在长时间不使用它之后,我无法很快将知识转移出我的大脑。今天,我再次学习以加深我的印象。
关系代数:是一种抽象查询语言,使用关系操作来表达查询。关系代数在关系上进行运算,运算结果即为关系。关系代数的基本关系包括并,交,差,笛卡尔积,选择,投影,连接和除法。由于合并,相交和求差的操作非常简单,因此在此不再赘述,仅说明一些容易忘记和混淆的操作。
1.笛卡尔积
计算两个关系R和S的笛卡尔积。如果R的元素数为R而S的元素数为s,则R×s是(R + s)个元素的元组集,如以下示例:结果:
从结果分析:笛卡尔积的结果元素数为R + s,即:3 + 3 = 6;记录数为:R中的记录数乘以s中的记录数,即:3×2 = 6。
2.选择
选择是根据某些条件(例如δ2>'4'(R))在水平方向上切断该关系,这意味着从R中选择第二个成分的值(即R中的B列的值)大于4的元组。。
结果:
与选择相反,投影是关系的垂直切割,它消除了列并对其进行了重新排序。投影用(π)表示。例如,π3,1(R)的结果如下:从结果中,我们可以看到查询表达式中的下标可以用数字,列名称和返回列的名称表示。其他列将从结果关系中删除,并且关系的排列可以通过投影进行重新排列。
4.连接
连接运算:从两个关系的笛卡尔积中选择满足属性之间特定条件的元组,并用(R s)表示它们。连接可以分为两种类型,一种是等效连接(有些书写连接),另一种是自然连接。等效连接:在条件θB中θ为'='的连接;自然连接:关系R和s选择a和B的属性值相等的那些元组。
很容易看到一个例子
等效连接:关于R和S,以下是什么?
结果:
自然连接:自然连接通常在R和s具有共同属性时使用。如果没有公共属性,则自然联接将转换为笛卡尔乘积运算。
例如,如果R和s相关,那么自然连接的结果是什么?
结果:
5.师
例:R△s
R:S:
计算过程:
(1)T =π1,2(R),从R中选择并删除与s相同的属性,即选择sා ,sname
(2)W =(t×s)-R,T和s的笛卡尔积,再减去R,即计算不在R中的t×s的元组。
(3)V =π1,2(W),从W中选择对应于1,2的属性列,即sා ,sname
(4)R÷S = T-V
摘要:
归纳起来,发现关系之间的运算并不困难。关键是要仔细分析并找到符号与我们的现实之间的联系。只有当我们对各种符号印象深刻时,这些关系之间的操作才会变得非常简单。通常,我们应该找到更多的连接并进行更多的总结,这是正确的方法。