資料庫試題

頭禿預備隊隊員發表於2020-12-10

正大考試

2020-2021-1
2019級電腦科學與技術專業 資料庫原理與應用期末考試模擬試卷

考試要求

  1. 下載考試客戶端,登入考試系統,輸入學號、姓名,一定確保正確。
  2. 一定先做客觀題,提交後,再做主觀題。
  3. 主觀題答題要求:編寫專案,完成下列功能,並在考試系統中按要求提交答案程式碼及截圖檔案,截圖為一定存為JPG格式。

一、 客觀題見考試系統(1*10)

二、 應用題(90分)
說明:根據教師授課情況建立資料庫。教師表記錄所有教師的基本資訊,課程表記錄每門課程的基本情況,每位教師可以教授多門課程,每個課程可以有多名授課教師。根據題目要求寫出對應的SQL命令,並截圖。
1.新建使用者,使用者名稱為你的姓名(例如:zhangsan),密碼為123。(4分)
2.建立資料庫jxgl,使新建使用者此資料庫上擁有建表、建檢視、建觸發器、建儲存過程等所有許可權。(4分)
3.利用新建使用者連線資料庫(如:zhangsan_conn),並在新使用者模式下,按照要求及說明建立下列所示的表。(4*3分)。
t_teacher(教師表)
欄位 型別 說明
name varchar(12) 姓名(非空)
tea_no varchar(4) 教師編號,主鍵
sex varchar(3) 性別:男/女
t_birth date 出生日期

t_course(課程表)
欄位 型別 說明
course_no varchar(6) 課程編號(主鍵)
course_name varchar(50) 課程名稱(唯一)
course_class int(2) 1:必修;2:選修

t_teacher_course(任課表)
欄位 型別 說明
tea_no varchar(4) 教師編號(外來鍵)
course_no varchar(6) 課程編號
class_hour int(2) 課時數(預設32學時)

新增測試資料:

教師表測試資料:
begin
insert into t_teacher values(‘李立’,‘t001’,‘男’,'5-9月-88 ');
insert into t_teacher values(‘張山’,‘t002’,‘男’,‘5-3月-81’);
insert into t_teacher values(‘章明明’,‘t003’,‘女’,‘12-5月-65’);
insert into t_teacher values(‘王靜一’,‘t004’,‘女’,‘25-9月-85’);
insert into t_teacher values(‘劉青’,‘t005’,‘男’,‘15-3月-75’);
insert into t_teacher values(‘趙新’,‘t006’,‘男’,‘25-12月-78’);
insert into t_teacher values(‘吳敏’,‘t007’,‘女’,‘13-4月-64’);
end;
課程表測試資料:
begin
insert into t_course values(‘c00001’,‘數學’,1);
insert into t_course values(‘c00002’,‘語文’,1);
insert into t_course values(‘c00003’,‘自然與科學’,1);
insert into t_course values(‘c00004’,‘科學與文化’,1);
insert into t_course values(‘c00005’,‘英語’,1);
insert into t_course values(‘c00006’,‘國際象棋’,2);
insert into t_course values(‘c00007’,‘書法’,2);
end;

教師授課表測試資料:
begin
insert into t_teacher_course values(‘t001’,‘c00001’,64);
insert into t_teacher_course values(‘t001’,‘c00002’,64);
insert into t_teacher_course values(‘t001’,‘c00003’,32);
insert into t_teacher_course values(‘t002’,‘c00001’,64);
insert into t_teacher_course values(‘t002’,‘c00004’,48);
insert into t_teacher_course values(‘t003’,‘c00002’,64);
insert into t_teacher_course values(‘t003’,‘c00003’,32);
insert into t_teacher_course values(‘t004’,‘c00005’,32);
insert into t_teacher_course values(‘t005’,‘c00006’,32);
insert into t_teacher_course values(‘t007’,‘c00007’,48);
end;

4.修改任課表(t_teacher_course),為其設定主鍵約束,併為“任課表”的課程編號設定外來鍵約束。(5分)

5.為“教師表”增加一個聯絡電話屬性列,要求唯一。(5分)

  1. 查詢課程名涉及“科學”的所有必修課程資訊;(5分)

7.查詢每位教師的編號及授課總學時,結果按授課學時降序排序;(5分)

  1. 查詢年齡在50歲以上的教師姓名、編號及出生日期。(5分)

  2. 將“語文”課程的課時數在原有的基礎上提升10%。(5分)

  3. 查詢每門課程的課程號及該門課程的授課教師人數、授課平均課時數。(5分)

11.建立一個關於“教師授課情況”的檢視,包括所有教師的姓名、編號、所授課程的課時和名稱,要求檢視中體現“參與授課和未授課”的所有教師情況,執行結果截圖顯示檢視內容。(5分)

  1. 查詢授課門數在3門(含3門)及以上的教師姓名及授課門數。(5分)

  2. 查詢學生名以及對應的選修課程名以及授課教師名。(10分)

  3. 建立一個儲存過程,根據教師編號,輸出該教師的授課總課時。執行該儲存過程(以“t005”為例,給出執行結果截圖)(10分)

  4. 建立一個觸發器,當刪除課程表中的記錄時,將授課資訊表中對應的該門課程的相關記錄一併刪除。並對觸發器進行驗證(10分)

相關文章