形式化關係查詢語言

2021-07-23 19:24:14 字數 2204 閱讀 1492

tags: 資料庫

在關聯式資料庫中,資料庫模式是指定義資料庫的結構,規定的域約束,參照完整性等。例項對應模式在某一時間的快照。關係模式和關係例項也如此。在這裡,乙個關係對應資料庫的一張表,乙個元組對應表內一行資料,屬性對應字段。

形式化關係查詢語言是sql所基於的形式化模型,同時它也是其他關係查詢語言的基礎。

關係代數式一種過程化查詢語言。它包含乙個運算的集合,這些運算以乙個或者兩個關係作為輸入,產生乙個新的關係作為輸出。關係代數的基本運算有:選擇,投影,並(或),集合差,笛卡爾積和更名。除基本運算外還有集合交,自然連線和賦值。

學習該語言應該以過程化思想理解關係的運算。

集合差:如 r - s 的結果即乙個包含所有在r中而不在s中的元組的關係。並運算和集合差都必須是同元的,屬性數目相同,每個屬性的域都相同。

笛卡爾積:通俗點說就是指包含兩個集合中任意取出兩個元素構成的組合的集合。假設r中有元組m個,s中有元組n個,則r和s的笛卡爾積中包含的元組數量就是m*n。

集合交(與):可以轉化為集合差 r ∩ s = r - ( r - s )

關係r與關係s的連線運算是從兩個關係的廣義笛卡爾積中選取屬性間滿足一定條件的元組形成乙個新的連線。兩個表要做連線,就必須有個連線欄位.

連線分類

連線說明

自然連線

自然連線首先在笛卡爾積的基礎上,基於相同屬性相等性進行選擇,最後去除重複屬性。自然連線是特殊的等值連線。如果兩個關係沒有相同屬性,那麼自然連線結果是個笛卡爾積

theta連線

θ表示關係比較符。是自然連線的擴充套件,它使得我們可以把乙個選擇運算和乙個笛卡爾積運算合併為乙個運算。可理解為在笛卡爾積上選擇滿足θ條件的元組形成新的關係。

等值連線(內連線)

θ在「 = 」時的連線為等值連線。

交叉連線

返回乙個笛卡爾積

這裡只舉乙個關於θ連線的例子:

關係studentid

sname

sgpa

1133730208

wang

3.11133730209

zhou

4.01133730210

zhang

2.2

關係college

cname

state

cgpa

uc berkeley

california

3.2mit

massachusetts

3.5cmu

pennsylvania

3.0

考慮這樣的θ操作student⋈sgpa>cgpacollege

此時θ為sgpa>cgpa

那麼得到的新關係為:id

sname

sgpa

cname

state

cgpa

1133730208

wang

3.1cmu

pennsylvania

3.01133730209

zhou

4.0uc berkeley

california

3.21133730209

zhou

4.0mit

massachusetts

3.51133730209

zhou

4.0cmu

pennsylvania

3.0

外連線分類

連線說明

左外連線

取出左側關係中所有與右側關係的任一元組都不匹配的元組,用空值填充右側關係的屬性,再把新元組加入到自然連線的結果中

右外連線

取出右側關係中所有與右側關係的任一元組都不匹配的元組,用空值填充左側關係的屬性,再把新元組加入到自然連線的結果中

全外連線

左右外連線都做。

參考文章1

參考文章2

參考文章3

參考文章4

形式化語言

之前並沒有學習過語言形式化理論這門課,最多也就是了解編譯原理,知道有個符號系統能夠抽象詞法,語法。通過研究這套符合系統的內在規律,給出了驗證模型和相應的演算法。恩,這就是我所了解的電腦程式原理。本科畢業之後,我覺的自己已經很好地掌握了計算機 組成,結構和程式 但我不太懂 計算機幹了什麼,以致我們需要...

資料庫 第6章 形式化關係查詢語言

關係代數是一種過程化查詢語言。它包括乙個運算的集合,這些運算以乙個或兩個關係為輸入,產生乙個新的關係作為結果。關係代數基本運算有 選擇 投影 並 集合差 笛卡爾積和更名。在基本運算外,還有一些其他運算,即集合交 自然連線和賦值。6.1.1 基本運算 6.1.3 附加的關係代數基本運算 6個基本關係代...

形式化 半形式化和非形式化

形式化 半形式化和非形式化是三種類 型的規範風 格。形式化規範就是用一套基於明確定義的數學概念的符號來書寫,並且通常伴隨著支援性的解釋 非形式化 語句。這些數學概念被用來定義符號的句法和語義,以及支援邏輯推理的證明規則。支援形式化符號的句法和語義規則應該定義如何明確地識別其結構和確定其含義。並且必須...