關係演算是一種非過程查詢語言。 在非過程查詢語言中,使用者關心如何獲得最終結果的細節。
關係演算告訴我們要做什麼但從未解釋過如何做。
關係演算的型別:
指定元組關係演算以選擇關係中的元組。 在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)}
輸出: 此查詢將產生與前一個查詢相同的結果。
第二種關係形式稱為域關係演算。 在域關係演算中,過濾變數使用屬性域。
域關係演算使用與元組演算相同的運算子。 它使用邏輯連線詞∧
(和),∨
(或)和┓
(非)。
它使用存在性(?)和通用量詞(?)來系結變數。
符號 -
{ a1, a2, a3, ..., an | P (a1, a2, a3, ... ,an)}
其中,
a1
,a2
是屬性。P
代表由內部屬性構建的公式。
範例:
{< article, page, subject > | ∈ yiibai ∧ subject = 'database'}
輸出: 此查詢將從關係yiibai
生成文章,頁面和主題,其中主題是資料庫。