DBMS關係演算


關係演算是一種非過程查詢語言。 在非過程查詢語言中,使用者關心如何獲得最終結果的細節。
關係演算告訴我們要做什麼但從未解釋過如何做。

關係演算的型別:

1. 元組關係演算(TRC)

指定元組關係演算以選擇關係中的元組。 在TRC中,過濾變數使用關係的元組。
關係的結果可以有一個或多個元組。

符號

{T | P (T)} 或 {T | Condition (T)}

其中,

T是由此產生的元組
P(T)是用於獲取T的條件。

範例:

{ T.name | Author(T) AND T.article = 'database' }

輸出 :此查詢從AUTHOR關係中選擇元組。 它返回一個帶有'name'的元組,Author 寫了一篇關於'database'的文章。

TRC(元組關係演算)可以量化。 在TRC中,我們可以使用存在性(?)和通用量詞(?)。

範例:

{ R| ?T ∈ Authors(T.article='database' AND R.name=T.name)}

輸出: 此查詢將產生與前一個查詢相同的結果。

2. 域關係演算(DRC)

第二種關係形式稱為域關係演算。 在域關係演算中,過濾變數使用屬性域。
域關係演算使用與元組演算相同的運算子。 它使用邏輯連線詞(和),(或)和(非)。
它使用存在性(?)和通用量詞(?)來系結變數。

符號 -

{ a1, a2, a3, ..., an | P (a1, a2, a3, ... ,an)}

其中,

a1a2是屬性。
P代表由內部屬性構建的公式。

範例:

{< article, page, subject > |  ∈ yiibai ∧ subject = 'database'}

輸出: 此查詢將從關係yiibai生成文章,頁面和主題,其中主題是資料庫。