當前位置:首頁 » 操作系統 » 資料庫關系代數例題

資料庫關系代數例題

發布時間: 2023-09-01 11:27:48

資料庫關系代數求最大值

填坑。

邏輯:

先篩選出所有3班的學生(後面說學生表都指的是這個篩選後的結果,不做贅述)。將這張表與自己內連接,篩選條件是左邊學生的成績小於右邊學生的成績,這樣得到的新的表中左邊就是」『存在另一個學生的成績比他好』的學生「,再用3班所有的學生表減去這個新得到的表,就是」『不存在另一個學生的成績更好』的學生「,也就是」成績最好的學生了「。

關系代數:

用來演示的資料庫:

很明顯,得到的結果跟預想中的一致,是Derta醬。也就說明我們的表達式沒有問題了。

Ⅱ SQL、關系代數練習

一、

--1.建立學生表Student,其中以學號為主碼,以系號為外碼,姓名不可以為空值,性別取值為「男」或「女」

CREATETABLEStudent

(

Sno INT,

Name VARCHAR(20) NOTNULL,

Gender CHAR(2),

Class VARCHAR(20),

Major VARCHAR(20),

Dno CHAR(2)

CONSTRAINTpk_Student_SnoPRIMARYKEY(Sno),

CONSTRAINTfk_Student_DnoFOREIGNKEY(Dno)REFERENCESDept(Dno),

CONSTRAINTchk_Student_GenderCHECK(GenderIN('男','女'))

)

--2.檢索與「王強」在同一個班級的學生的學號、姓名、性別

SELECTSno,Name,Gender

FROMStudent

WHEREClass=(='王強')

--3.檢索管理學院沒有選修「電子商務」課程的學生的學號、姓名、班級、專業

SELECTS1.Sno,Name,Class,Major

FROMStudentS1

JOINDeptD

ONS1.Dno=D.Dno

WHEREDname='管理學院'

ANDSnoNOTIN

( SELECTS2.SnoFROMStudyS2

JOINCourseC

ONS2.Cno=C.Cno

WHERESubject='電子商務')

--4.檢索選修了「C語言」且C語言考試成績高於這門課平均成績的學生的學號、姓名

SELECTS1.Sno,Name

FROMStudentS1

JOINStudyS2

ONS1.Sno=S2.Sno

JOINCourseC1

ONS2.Cno=C1.Cno

WHERESubject='C語言'

ANDScore>( SELECTAVG(Score)

FROMStudyS3

WHERES3.Cno=S2.Cno)

--5.在院系表(Dept)中插入一條記錄,系號為06,系名為「物理系」,電話為8470660

INSERTINTODempVALUES('06','物理系','84706600')

--6.將「資料庫原理」課程的學時改為64,學分改為4

UPDATECourse

SETTime=64,

Credit=4

WHERESubject='資料庫原理'

--7.建立由班級、學號、姓名、課程號、課程名、學分、成績七個數據項組成的視圖

CREATEVIEWVW_SC

AS

SELECTClass,Sno,Name,Cno,Subject,Credit,Score

FROMStudentS1

JOINStudyS2

ONS1.Sno=S2.Sno

JOINCourseC

ONS2.Cno=C.Cno

二、

2.

Ⅲ 資料庫的關系代數問題

[例]設教學資料庫中有3個關系:
學生關系S(SNO,SNAME,AGE,SEX)
學習關系SC(SNO,CNO,GRADE)
課程關系C(CNO,CNAME,TEACHER)

下面用關系代數表達式表達每個查詢語句。

(1) 檢索學習課程號為C2的學生學號與成績。
πSNO,GRADE(σ CNO='C2'(SC))

(2) 檢索學習課程號為C2的學生學號與姓名
πSNO,SNAME(σ CNO='C2'(SSC))
由於這個查詢涉及到兩個關系S和SC,因此先對這兩個關系進行自然連接,同一位學生的有關的信息,然後再執行選擇投影操作。

此查詢亦可等價地寫成:
πSNO,SNAME(S)(πSNO(σ CNO='C2'(SC)))
這個表達式中自然連接的右分量為"學了C2課的學生學號的集合"。這個表達式比前一個表達式優化,執行起來要省時間,省空間。

(3)檢索選修課程名為MATHS的學生學號與姓名。
πSNO,SANME(σ CNAME='MATHS'(SSCC))

(4)檢索選修課程號為C2或C4的學生學號。
πSNO(σ CNO='C2'∨CNO='C4'(SC))

(5) 檢索至少選修課程號為C2或C4的學生學號。
π1(σ1=4∧2='C2'∧5='C4'(SC×SC))
這里(SC×SC)表示關系SC自身相乘的乘積操作,其中數字1,2,4,5都為它的結果關系中的屬性序號。
希望能解決您的問題。

熱點內容
c語言稀疏矩陣轉置矩陣 發布:2025-02-01 03:47:57 瀏覽:530
坦克世界掛機腳本有哪些 發布:2025-02-01 03:07:41 瀏覽:133
串口編程at 發布:2025-02-01 03:06:05 瀏覽:908
合資汽車配置有什麼 發布:2025-02-01 02:56:07 瀏覽:78
wifi共享精靈源碼 發布:2025-02-01 02:40:15 瀏覽:973
java軟體怎麼安裝 發布:2025-02-01 02:40:09 瀏覽:549
河北稅務局電子密碼是什麼 發布:2025-02-01 02:40:07 瀏覽:835
檢查伺服器設置是什麼意思 發布:2025-02-01 02:31:26 瀏覽:185
神偷四第四章密碼是多少 發布:2025-02-01 02:07:29 瀏覽:13
qq登錄在哪個文件夾 發布:2025-02-01 01:57:59 瀏覽:627