資料庫的關係代數問題,資料庫的關係代數問題

2021-05-06 01:09:20 字數 5347 閱讀 1057

1樓:睢鳩英楠

1,πsno,sname(σ height>『1.8米』 (s))2,πcon,credit(σ dept='計算機系' ∧semester=『秋季』 (c))

3,πsname(σ dept=『計算機系』∧gender=『女生』 (c(連線符怎麼打?我用join代替)join sc join s))

4,πsno,sname(σ grade>=『90』 (s join sc))

5πsname(σ credit>『3』(c join s)家庭作業嗎? 根據書本比葫蘆畫瓢都能做出來

資料庫關係代數運算問題 50

2樓:匿名使用者

(1)並(∪):兩個關係需有相同的關係模式,並的物件是元組,由兩個關係所有元組構成。

rus≡

(2) 差

答(-):同樣,兩個關係有相同的模式,r和s的差是由屬於r但不屬於s的元組構成的集合。

r-s≡

(3)笛卡爾積(×):對兩個關係r和s進行操作,產生的關係中元組個數為兩個關係中元組個數之積。

r×s≡

(4) 投影(σ):對關係進行垂直分割,消去某些列,並重新安排列的順序。

(5) 選擇(π):根據某些條件關係作水平分割,即選擇符合條件的元組。

3樓:匿名使用者

這個問題一定會涉及到「統計」的問題,而關係代數沒有高階語言中的資料定義,所以關係代數無法解決該問題。

資料庫的關係代數表示式 100

4樓:仁昌居士

資料庫的關係代數表示式是由關係代數運算經有限次複合而成的式子。

在關係代數運算中,把由並(∪)、差(-)、笛卡爾積(×)、投影(π)、選擇(σ)五個基本操作經過有限次複合的式子稱為關係代數表示式。關係代數表示式的運算結果仍然是一個關係。可以用關係代數表示式表示對資料庫的各種資料查詢和更新操作。

關係代數表示式用到的運算子包括集合運算子、專門的關係運算子、算術比較符和邏輯運算子。和交(∩)、聯接(等值聯接)、自然聯接(rxs)、除法(÷) 四個組合操作。

5樓:哈工大威海校區

一、關係代數的9種操作:

關係代數中包括了:並、交、差、乘、選擇、投影、聯接、除、自然聯接等操作。

五個基本操作:

並(∪)、差(-)、笛卡爾積(×)、投影(σ)、選擇(π)

四個組合操作:

交(∩)、聯接(等值聯接)、自然聯接(r s)、除法(÷)

注2:等值連線表示先做笛卡爾積(×)之後,對相應列進行選擇或等值關聯後的結果(僅篩選行、不篩選列)

注2:自然連線表示兩個關係中若有相同名稱的屬性,則自動作為關聯條件,且僅列出一列

二、關係代數表示式:

由關係代數運算經有限次複合而成的式子稱為關係代數表示式。這種表示式的運算結果仍然是一個關係。可以用關係代數表示式表示對資料庫的查詢和更新操作。

三、舉例說明:

設教學資料庫中有3個關係:

學生關係s(sno, sname,age,***)

學習關係sc(sno,cno,grade)

課程關係c(cno,cname,teacher)

(1) 檢索學習課程號為c2的學生學號與成績

------------------------------------

select sno,grade

from sc

where cno='c2'

------------------------------------

π sno, grade (σ cno='c2' (sc))

************************************

(2) 檢索學習課程號為c2的學生學號與姓名

------------------------------------

select sc.sno,s.sname

from sc,s

where sc.sno=s.sno

and sc.cno='c2'

------------------------------------

π sno,sname (σ cno='c2' (s sc))

此查詢涉及s和sc,先進行自然連線,然後再執行選擇投影操作。

----

π sno,sname (s) (π sno (σ cno='c2' (sc)))

自然連線的右分量為"學了c2課的學生學號的集合"。

此表示式比前一個表示式優化,執行起來要省時間、省空間。

************************************

(3) 檢索選修課程名為maths的學生學號與姓名

------------------------------------

select sc.sno,s.sname

from sc,s,c

where sc.sno=s.sno

and sc.cno=c.cno

and c.cname='maths'

------------------------------------

π sno, sanme (σ cname='maths' (s sc c))

************************************

(4) 檢索選修課程號為c2或c4的學生學號

------------------------------------

select sno

from sc

where cno='c2'

or cno='c4'

------------------------------------

π sno (σ cno='c2'∨cno='c4' (sc))

************************************

(5) 檢索至少選修課程號為c2或c4的學生學號

------------------------------------

select sa.sno

from sc as sa,sc as sb

where sa.sno=sb.sno

and sa.cno='c2'

and sb.cno='c4'

------------------------------------

π 1 (σ 1=4∧2='c2'∧5='c4' (sc×sc))

************************************

(6) 檢索不學c2課的學生姓名與年齡

------------------------------------

select sname,age

from s

minus

select s.sname,s.age

from sc,s

where sc.sno=s.sno

and sc.cno='c2'

(oracle)

------------------------------------

π sname, age (s)-π sname, age (σ cno='c2' (s sc))

************************************

(7) 檢索學習全部課程的學生姓名

------------------------------------

這個定義用sql表示比較麻煩,略過

------------------------------------

π sno, cno (sc)÷π cno (c)

先用除法取出選取所有課程的sno集(除法可以理解為一個filter)

π sname (s (π sno,cno (sc)÷π cno (c)))

再關聯s表取出sname

************************************

(8) 檢索所學課程包含s3所學課程的學生學號

------------------------------------

這個定義用sql表示比較麻煩,略過

------------------------------------

π sno,cno (sc)÷ π cno (σ sno='s3' (sc))

同樣運用了除法的特性

************************************

(9) 將新課程元組( 'c10','physics','yu') 插入到關係c中

------------------------------------

insert into c values('c10','physics','yu')

------------------------------------

(c∪ ('c10','physics','yu'))

記住該符號的用法

************************************

(10) 將學號s4選修課程號為c4的成績改為85分

------------------------------------

update sc set grade=85

where sno='s4'

and cno='c4'

------------------------------------

(sc- ('s4','c4',? )∪ ('s4','c4',85))

先用'- '實現delete功能,再用'∪'實現insert功能

注意使用?來表示檢索時忽略該欄位值

************************************

四、關係代數表示式的優化:

目的 :為了系統在執行時既省時間又能提高效率。

基本策略 :先做選擇,運用投影去除多餘屬性等等。

優化演算法 :語法樹( 儘量提前做選擇操作;在每個操作後,應做個投影操作,去掉不用的屬性值)

例如:π sno ,sname (σ grade>60 (s sc)) 進行 優化後轉換為:

π sno ,sname (π sno ,sname (s) π sno (σ grade>60 (sc)))

--即提前做選擇操作;在每個操作後,應做個投影操作,去掉不用的屬性值

又如:s(s#,sname,age,***)

sc(s#,c#,grade)

c(c#,cname,teacher)

π cname,teacher (σ ***='女' (s sc c)) 進行 優化後轉換為:

π cname, teacher (c π c# (π s#,c# (sc) π s# (σ ***='女' (s))))

資料庫關係代數,資料庫和JAVA有什麼關係

資料庫是由基本表組成的,換句話說資料庫就是各種表的集合。當然,資料庫除了基本表,還有函式等 這麼說吧,抄電子 excel 你一襲定不陌生吧,你新建一個工作簿,在這個工作薄下面預設有三張工作表 一般為sheet1 sheet2 sheet3 如果把工作簿比作資料庫,工作表就好比資料庫中的表。也就是說一...

MYSQL資料庫問題,MySQL資料庫問題?

建立資料庫 create database 資料庫名 on primary 主檔案 name 邏輯名,filename 儲存路徑及檔名,是字串需要用 size 大小 需要加單位,如mb log on 日誌檔案 name 邏輯名,filename 儲存路徑及檔名,size 大小 建立表 1 判斷表是否...

VB搜尋資料庫問題,VB搜尋資料庫問題

用控制元件吧,簡單!剛剛回答了一個資料庫的問題,也給你這段 自己改一下!private sub commanddelete click dim i as integer i msgbox 是否真的要刪除該記錄?vbquestion vbyesno,record delet if i 6 then m...