1. 程式人生 > >[資料庫] 關係代數θ連線操作與除操作

[資料庫] 關係代數θ連線操作與除操作

θ連線操作

連線操作應用舉例

連線也稱為θ連線,關係R與關係S的連線運算是從兩個關係的廣義笛卡爾積中選取屬性間滿足一定條件的元組形成一個新的連線:

記作S⋈R(AθB)

其中:A為包含R中的屬性的表示式

      B為包含S中的屬性的表示式

      θ通常為關係比較符

其中θ在“=”時的連線為等值連線

例如:

資料庫定義:

DB={ Student(ID,sName,sGPA)

 College(cName,State,cGPA) }

其中:

關係Student表示學生資訊,屬性ID為學生學號,屬性sName為學生姓名,屬性sGPA為學生平均學分績。

關係College表示大學資訊,屬性cName為學校名稱,State為所在州,cGPA為入學要求學分績。

使用者所需查詢:選擇,投影,並運算,差運算,笛卡爾運算,更名運算,θ連線操作,除操作,以下示例:

σID=”1133730208”(Student)

πID(Student)

等。

連線操作常用表示符號

S⋈θR,其中θ表示任意條件

連線操作使用方法及例項

關係R和關係S滿足條件θ的θ連線操作的結果是這樣構造的:

1.      先得到R和S的積

2.      在得到的關係中尋找滿足條件θ的元組

例如:

關係Student

ID

sName

sGPA

1133730208

Wang

3.1

1133730209

Zhou

4.0

1133730210

Zhang

2.2

關係College

cName

State

cGPA

UC Berkeley

California

3.2

MIT

Massachusetts

3.5

CMU

Pennsylvania

3.0

考慮這樣的θ操作Student⋈sGPA>cGPACollege

此時θ為sGPA>cGPA

則這裡必須考慮9個元組的配對方案。

配對成功元組如下所示:

ID

sName

sGPA

cName

State

cGPA

1133730208

Wang

3.1

CMU

Pennsylvania

3.0

1133730209

Zhou

4.0

UC Berkeley

California

3.2

1133730209

Zhou

4.0

MIT

Massachusetts

3.5

1133730209

Zhou

4.0

CMU

Pennsylvania

3.0

連線操作證明

Student ⋈sGPA>cGPA College = σsGPA>cGPA(StudentхCollege)

除操作

除操作應用舉例

資料庫定義:DB = {

學生關係: S(SNO, Sname, Age,Sex)

課程關係: C(CNO, Cname,Teacher)

學習關係: SC(SNO, CNO, Grade) }

其中:

學生關係中,SNO為學生學號,Sname為學生姓名,Age為學生年齡,Sex為學生性別

課程關係中,CNO為課程編號,Cname為課程名,Teacher為授課教師

學習關係中,Grade為分數

使用者所需查詢:選擇,投影,並運算,差運算,笛卡爾運算,更名運算,θ連線操作,除操作,以下示例:

σID=”1133730208”(Student)

πID(Student)

等。

除操作常用表示符號

r÷s(其中R和S已知)

除操作使用方法及例項

例如:

學習關係SC

SNO

CNO

Grade

1133730208

12345

98

1133730208

25555

91

1133730201

12345

88

1133730208

45555

77

1133730201

45555

89

課程關係C

CNO

Cname

Teacher

12345

系統分析與設計

Fan

25555

作業系統

Fan

45555

資料庫

Li

學生關係S

SNO

Sname

Age

Sex

1133730208

Wang

21

1133730201

Zhang

20

則 Πsno,cno SC ÷ πCNO C

學號

1133730208

除操作證明

πSNO,CNO SC ÷ πCNO C

= πSNOSC-πSNOSNOSC ×πCNOC -πSNO,CNO SC )