定義
關係模式中R(A,A,...A),t∈R表示t是R的一個元組,其中A為R中的屬性列。t[A]則表示元組t中相應於屬性A的一個分量。投影的運算表達式為:
在關係二維表中投影是一種垂直操作,它針對二維表中的屬性列。
在SQL中,投影運算是一個單目運算,它是從一個關係R中選取所需要的列組成一個新關係。
套用
如在下表的學生關係中,選取姓名和所在系這兩列構成新的關係。
學號 | 姓名 | 性別 | 年齡 | 所在系 |
S1001 | 王洪 | 男 | 22 | 計算機 |
S1002 | 趙南南 | 女 | 21 | 計算機 |
S2001 | 劉明 | 男 | 21 | 信息 |
S2002 | 李娟 | 女 | 20 | 信息 |
其投影關係運算表達式為:π(學生),其投影運算結果為:
姓名 | 所在系 |
王洪 | 計算機 |
趙南南 | 計算機 |
劉明 | 信息 |
李娟 | 信息 |
需要注意的是:投影之後不僅取消了原關係的某些列,而且還可能取消某些元組,因為取消了某些屬性列後,就可能出現重複行,應取消完全相同的行。 如下表。
Name | Sdept |
劉勇 | CS |
李晨 | CS |
王敏 | MA |
張立 | IS |
student關係原來有4個元組,而投影結果取消了重複CS元組,因此只有三個元組。
CS |
MA |
IS |