關係代數基本運算子
關係代數是一種過程化查詢語言,它用於在對多個關係進行運算後提供單個表/關係作為輸出。這裡將討論一些基本關係。
在我們的學習過程中,我們將使用三個關係(表):
表 1:課程
課程ID | 名稱 |
---|---|
1 | 計算機科學 |
2 | 資訊科技 |
3 | 機械工程 |
表 2:學生
學號 | 名稱 | 地址 | 年齡 |
---|---|---|---|
1 | Ram | 德里 | 18 |
2 | Raju | 海德拉巴 | 20 |
4 | Faiz | 德里 | 22 |
5 | Salman | 海德拉巴 | 20 |
表 3:宿舍
宿舍號 | 名稱 | 地址 | 年齡 |
---|---|---|---|
1 | Ram | 德里 | 18 |
2 | Akash | 海德拉巴 | 20 |
3 | Neha | Jhansi | 21 |
我們將對這些關係進行一些操作,以根據執行的操作建立新的關係。
選擇運算子 (σ) - 選擇運算子用 sigma σ 表示,用於根據某些條件選擇關係的元組。只有滿足特定條件的元組才會被選中。
語法
σ(condition)(relation_name)
示例
Select the student with course id 1. σ(course_id = 1)(student)
結果
學號 | 名稱 | 地址 | 年齡 |
---|---|---|---|
4 | Faiz | 德里 | 22 |
投影運算子 (∏) 投影運算子用 ∏ 表示,用於從特定關係中選擇列。只選擇特定的列。
語法
∏(column1 , column2 , … , columnn)(relation_name)
示例
Let’s select all students's name and no who are in hostel. ∏( st. No. , name)(hostel)
結果
宿舍號 | 名稱 |
---|---|
1 | Ram |
2 | Akash |
3 | Neha |
在投影中,行總是不同的,即如果存在另一個名為 Panjak 的學生,則另一個將被移除。
笛卡爾積 (X) - 笛卡爾積用 X 符號表示,用於查詢兩個變數連線的值。在笛卡爾積中,關係 1 的每個元組與關係 2 的每個元組交叉。這使得輸出關係的階數為 nXm,其中 n 是關係 1 中元組的數量,m 是關係 2 中元組的數量。
語法
relation1 X relation2
示例
讓我們查詢課程表和宿舍表的笛卡爾積。
student X course
宿舍號 | 名稱 | 地址 | 年齡 | 課程ID | 名稱 |
---|---|---|---|---|---|
1 | Ram | 德里 | 18 | 1 | 計算機科學 |
1 | Ram | 德里 | 18 | 2 | 資訊科技 |
1 | Ram | 德里 | 18 | 3 | 機械工程 |
2 | Akash | 海德拉巴 | 20 | 1 | 計算機科學 |
2 | Akash | 海德拉巴 | 20 | 2 | 資訊科技 |
2 | Akash | 海德拉巴 | 20 | 3 | 機械工程 |
3 | Neha | Jhansi | 21 | 1 | 計算機科學 |
3 | Neha | Jhansi | 21 | 2 | 資訊科技 |
3 | Neha | Jhansi | 21 | 3 | 機械工程 |
並集 (U) - 兩個關係關係 1 和關係 2 的並集將給出存在於關係 1 或關係 2 中的元組,但同時存在於關係 1 和關係 2 中的元組只考慮一次。
為了找到它們的並集,這兩個關係也必須具有相同的域。
語法
relation1 U relation2
示例
讓我們查詢學生和宿舍的並集。
student U hostel
學號 | 名稱 | 地址 | 年齡 |
---|---|---|---|
1 | Ram | 德里 | 18 |
2 | Raju | 海德拉巴 | 20 |
4 | Faiz | 德里 | 22 |
5 | Salman | 海德拉巴 | 20 |
2 | Akash | 海德拉巴 | 20 |
3 | Neha | Jhansi | 21 |
差運算子 (-) - 差運算子用 - 符號表示。關係 1 - 關係 2 將導致一個關係,其中存在於關係 1 中但不存在於關係 2 中的元組。為了計算差集,關係必須是並集相容的。
語法
relation1 - relation2
示例
讓我們查詢學生 - 宿舍的操作。
student - hostel
學號 | 名稱 | 地址 | 年齡 |
---|---|---|---|
2 | Raju | 海德拉巴 | 20 |
4 | Faiz | 德里 | 22 |
5 | Salman | 海德拉巴 | 20 |
重新命名 (ρ) - 重新命名運算子用 ρ 表示,用於將給定的關係重新命名為另一個給定的名稱。
語法
ρ(new_name , old_name)
廣告