關係代數是一種集合操作為基礎過程化查詢語言,特點:運算物件是關係,運算結果亦為關係
運算物件:關係
運算結果:關係
運算子:四類
運算子型別
運算子含義
集合運算子∪
並集合運算子-差
集合運算子∩交
集合運算子
×廣義笛卡爾積
比較運算子>
大於比較運算子≥
大於等於
比較運算子<小於
比較運算子≤
小於等於
比較運算子
=
等於比較運算子
≠ 不等於
專門的關係運算子
選擇專門的關係運算子π投影
專門的關係運算子⋈連線
專門的關係運算子÷除
邏輯運算子¬非
邏輯運算子∧與
邏輯運算子∨或
將關係r, s看作是元組的集合,進行交、並及差集合運算,必須具備下列條件:
表示式操作型別
含義r ∪ s
並r、s兩者中元組的集合,乙個元素在並集中只出現一次
r ∩ s
交同時存在於r和s中的元組的集合
r – s
差在r中存在,而在s中不存在的元素的集合
r × s
笛卡爾積
r(n目p元組),s(m目q元組);運算得到的新關係中有(n+m)個目(p×q)個元組
解析:廣義笛卡爾積運算:
表示式操作型別
含義備註
舉例σ c (r)
選擇在關係r上選擇滿足條件c的元組,構成乙個新的關係。新關係是r的子集,模式與r相同
條件 c 是乙個邏輯表示式,表示式中可以使用比較運算子和邏輯運算子
σ name = '小明' (student)
π a1,a2,…,an (r)
投影從關係r產生乙個只有r的某些列的新的關係
新的關係中含有舊關係的a1,a2,…,an 列
π name,age (student)
r⋈ aθb s
θ連線從兩個關係r,s的廣義笛卡爾積中選擇屬性間滿足一定條件的元組;記作s⋈r(aθb)
a為包含r中的屬性的表示式,b為包含s中的屬性的表示式,θ通常為關係比較符;
等效於σ aθb (r×s)
student ⋈ sgpa≥cgpa company
r⋈ a=b s
等值連線
當比較運算子θ 為 = 時的θ連線
a為包含r中的屬性的表示式,b為包含s中的屬性的表示式;
等效於σ a=b (r×s)
student ⋈ sgpa=cgpa company
r⋈s自然連線
一種特殊的等值連線。兩個關係中進行比較的分量必須是相同的屬性組。在結果中把重複的屬性列去掉
student ⋈ gpa
r÷s除
詳解見本文最後
詳解見本文最後
詳解見本文最後
解析:自然連線:
除法運算:
為什麼把這個分支知識點放到最後單獨來說呢?因為它的概念確實是比較抽象的,單獨靠乙個**確實無法深入的理解,下面我們一步一步來了解什麼是關係代數中的除運算
關係r(a,z)
a和z為關係r的屬性,a是屬性a中的分量值
a在r中的象集:r中在a上值為a元組在z屬性上對應分量的集合
例如:
首先我們來看一下官方定義:
除運算是同時從關係的水平方向和垂直方向進行運算。給定關係r(x,y)和s(y,z),x、y、z為屬性組。r÷s應當滿足元組在x上的分量值x的象集y,包含關係s在屬性組y上投影的集合
分析:關係 r (a,y)、s (y,z)
p(a) = r÷s (經過除法運算得到乙個新的關係p(a))
關係r在a上分量值a的象集 稱作 seta
關係s在y屬性組上投影的集合 稱作sety
若seta包含了 sety, 則 a 就是關係p中的元組分量
例如:關係r和關係s擁有共同的屬性cno、r÷s得到的新關係中存在著「關係r包含但關係s不包含「」的屬性,即sno屬性
第六部分總結(51 54)
這一部分主要學習了jquery的節點新增 刪除 替換 複製等操作。外插 1 從後面插after insertafter 效果一樣,寫法不同 2 從前面 efore insertafter 效果一樣,寫法不同 刪除 刪除指定元素 remove detach 效果一樣,寫法不同,如li.remove i...
第六部分 屬性3
attributeusage屬性 除了用於標註常規c 型別的自定義屬性以外,還可以使用attributeusage屬性定義你使用這些屬性的方式.文件記錄的attributeusage屬性呼叫慣例如下 attributeusage validon,allowmultiple allowmultiple...
第六部分 函式的工作原理一
寫這篇文章得益於我最近錢林松 趙海旭寫的新書 c 反彙編與逆向分析 一直希望學習相關的技術,但是一直沒有開始,看到此書後,激發起了我以前的興趣,最近一直在讀這本書,今日將我了解到的知識分享給大家。首先讓我們來看一段最簡單的 includevoid func int first,int second ...