整理自博主本科《數據庫系統原理》專業課完成的課后作業,以便各位學習數據庫系統概論的小伙伴們參考、學習。
*文中若存在書寫不合理的地方,歡迎各位斧正。
專業課本:
目錄
一、選擇題
二、填空題
三、簡答題
四、關系代數
1.課本p70頁,第6題,第(1)--(4)題,第(5)題選做,用關系代數完成。
2.設有關系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE)。試用關系代數表達式表示下列查詢語句:注意:一門課的老師只有一個,但是一個老師可能教多門課。
(1)檢索“程軍”老師所授課程的課程號(C#)和課程名(CNAME)。
(2)檢索年齡大于21的男學生的學號(S#)和姓名(SNAME)。
(3)檢索“李強”同學不學課程的課程號(C#)。
(4)檢索選修課程名為“C語言”的學生學號(S#)和姓名(SNAME)。
(5)檢索選修課程包含“程軍”老師所授課程之一的學生學號(S#)。
(6)檢索選修課程號為k1和k5的學生學號(S#)。
(7)檢索選修全部課程的學生姓名(SNAME)。
(8)檢索選修課程包含學號為2的學生所修課程的學生學號(S#)。
(9)檢索至少選修“程軍”老師所授全部課程的學生姓名(SNAME)。
(10)檢索全部學生都選修的課程的課程號(C#)和課程名(CNAME)。
一、選擇題
1、關系數據庫管理系統應能實現的專門關系運算包括???????????????????。
A.排序、索引、統計 ???
B.選擇、投影、連接 ??
C.關聯、更新、排序 ???
D.顯示、打印、制表 ???
答案:B
2、關系模型中,一個關鍵字是????????????????????????????。
A.可由多個任意屬性組成 ???
B.至多由一個屬性組成 ?
C.可由一個或多個其值能惟一標識該關系模式中任何元組的屬性組成 ??
D.以上都不是 ??????????
答案:C
3、自然連接是構成新關系的有效方法。一般情況下,當對關系R和S使用自然連接時,要求R和S含有一個或多個共有的????????????。
A.元組 ???
B.行 ???
C.記錄 ???
D.屬性 ????????????????????
答案:D
5.關系模式的任何屬性??????????????????。
A.不可再分 ?????????????????
B.可再分 ???
C.命名在該關系模式中可以不惟一 ???
D.以上都不是 ???
答案:A
6.在關系代數運算中,五種基本運算為??????????????????。
A.并、差、選擇、投影、自然連接 ??
B.并、差、交、選擇、投影 ???
C.并、差、選擇、投影、乘積????
D.并、差、交、選擇、乘積 ???????????????
答案:C
二、填空題
1、關系代數運算中,傳統的集合運算有?????① ?????、??????② ???????、?????③ ?????和????④ ???????。 ???
答案:①笛卡爾積 ???②并 ???③交 ?④差
2、關系數據庫中基于數學上兩類運算是??關系代數??和??關系演算??。
3、已知系(系編號,系名稱,系主任,電話,地點)和學生(學號,姓名,性別,入學日期,專業,系編號)兩個關系,系關系的主關鍵字是?① ,系關系的外關鍵字?② ?,學生關系的主關鍵字是??③ ,外關鍵字?④ ????
答案:①系編號 ???②無 ???③學號 ???④系編號
三、簡答題
課本P70,第3,4,5題。
答案參考 ?《數據庫系統概論習題解析與實驗指導》。
(待補充)
四、關系代數
1.課本p70頁,第6題,第(1)--(4)題,第(5)題選做,用關系代數完成。
(1)?
(2)?
(3)?
(4)
(5)?
2.設有關系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE)。試用關系代數表達式表示下列查詢語句:注意:一門課的老師只有一個,但是一個老師可能教多門課。
*此處博主只給出解題思路,請翻閱的同學們自行將思路轉換為關系代數的格式。
(1)檢索“程軍”老師所授課程的課程號(C#)和課程名(CNAME)。
在C表中進行選擇和投影。
(2)檢索年齡大于21的男學生的學號(S#)和姓名(SNAME)。
在S表中進行選擇和投影。
(3)檢索“李強”同學不學課程的課程號(C#)。
先求出李強同學選修的課程,再用所有課程的課程號減去李強同學選修的課程的課程號。
(4)檢索選修課程名為“C語言”的學生學號(S#)和姓名(SNAME)。
用s和sc連接,再選擇和投影。
(5)檢索選修課程包含“程軍”老師所授課程之一的學生學號(S#)。
用c和sc連接,再選擇和投影。
(6)檢索選修課程號為k1和k5的學生學號(S#)。
在sc表中選擇學號和課號 ?除以 ?包含這兩門課的表格。
(7)檢索選修全部課程的學生姓名(SNAME)。
連接s和sc,投影出學號,姓名和課程號,除以,在c表上投影所有課程的課程號。以上步驟得到兩列,學號和姓名,最后再投影出姓名即可。
(8)檢索選修課程包含學號為2的學生所修課程的學生學號(S#)。
在sc中投影出學號,除以,在sc中選擇投影出對應的課程。
(9)檢索至少選修“程軍”老師所授全部課程的學生姓名(SNAME)。
連接s和sc,投影出學號,姓名和課程號,除以,在c表上選擇和投影出程軍老師教的所有課程的課程號。以上步驟得到兩列,學號和姓名,最后再投影出姓名即可。
(10)檢索全部學生都選修的課程的課程號(C#)和課程名(CNAME)。
連接c和sc,投影出課程號,課程名和學號,除以在s中投影出所有學生的學號。