105年法務部調查局調查人員四等資料庫應用概要

四、假設某一大學之學生修課成績資料庫如下,共有三個表,分別為學生資料表S (學號,學生姓名,就讀學系,年級)、課程資料表 C (課程代號,課程名稱,學分數,任課老師代號)、修課成績表 T (學號,課程代號,成績)

()請問從以下的表格中,應該建立那些主鍵 (Primary Key) 與外部鍵(Foreign Key),以確保資料的正確性與一致性?(5分)

()請寫出 SQL 語句,從上述資料庫中,找出那些課程名稱是有兩個 (含以上) 不同的老師開設的。(10分)

()請寫出 SQL 語句,從上述資料庫中,找出修課成績低於60分同學的學號、學生姓名與所修讀的課程名稱。(10分)

undefined

答:

S資料表:

學號

學生姓名

就讀學系

年級

S1

Mary

電機

S2

Betty

數學

S3

John

物理

S4

Peter

電機

S5

Jack

化學

T資料表:

學號

課程代號

成績

S1

C1

80

S1

C2

85

S1

C4

90

S1

C5

85

S2

C1

50

S2

C4

80

S2

C5

92

S3

C1

80

S3

C4

86

S4

C6

58

C資料表:

課程代號

課程名稱

學分數

任課老師代號

C1

微積分

3

T1

C2

英文

2

T5

C3

微積分

3

T9

C4

電腦概論

2

T3

C5

應用文

2

T6

C6

電腦概論

2

T7

()請問從以下的表格中,應該建立那些主鍵與外部鍵,以確保資料的正確性與一致性?

1.S資料表:主鍵:學號;外部鍵:無。

2.T資料表:

(1)主鍵:{學號,課程代號}

(2)外部鍵:

a.學號,參考到 S 資料表的職員編號。

b.課程代號,參考到 C 資料表的課程代號。

3.C資料表:主鍵:課程代號;外部鍵:無。

()SQL語句

找出那些課程名稱是有兩個 (含以上) 不同的老師開設的。

Select 課程名稱

From C

Group By 課程名稱

Having Count(任課老師代號) >= 2

執行結果:

課程名稱

微積分

電腦概論

()SQL語句

找出修課成績低於60分同學的學號、學生姓名與所修讀的課程名稱。

Select S.學號, S.學生姓名, C.課程名稱

From S, T, C

Where S.學號 = T.學號 And C.課程代號 = T.課程代號 And T.成績<60

執行結果:

學號

學生姓名

課程名稱

S2

Betty

微積分

S4

Peter

電腦概論

 

arrow
arrow
    文章標籤
    資料庫應用概要
    全站熱搜

    jacksaleok 發表在 痞客邦 留言(0) 人氣()