資料庫期末作業
『壹』 《資料庫系統概論》第四版 期末考試題
一、單項選擇題(本大題共10小題,共30分)
1.資料庫中,數據的物理獨立性是指( )。
A.資料庫與資料庫管理系統的相互獨立
B.用戶程序與DBMS的相互獨立
C.用戶的應用程序與存儲在磁碟上資料庫中的數據是相互獨立的
D.應用程序與資料庫中的數據的邏輯結構相互獨立
2. 從E-R模型關系向關系轉換時,一個M:N聯系轉換為關系模式時,該關系模式的關鍵字是
A.M端實體的關鍵字 B.N端實體的關鍵字 ( )
C.M端實體關鍵字與N端實體關鍵字組合 D.重新選取其他屬性
3.保護資料庫,防止未經授權的或不合法的使用造成的資料泄漏、更改破壞。這是指數據的( )
A.安全性 B.完整性 C.並發控制 D.恢復
4. 關系模式中的各級模式之間的關系為( )。
A.3NF 2NF 1NF B.3NF 1NF 2NF
C.1NF 2NF 3NF D.2NF 1NF 3NF
5. 五種基本關系代數運算是 ( )
A.∪,-,×,π和σ B.∪,-,∞,π和σ
C.∪,∩,×,π和σ D.∪,∩,∞,π和σ
6. 在資料庫設計中,將ER圖轉換成關系數據模型的過程屬於 ( )
A.需求分析階段 B.邏輯設計階段 C.概念設計階段 D.物理設計階段
7. SQL中,下列涉及空值的操作,不正確的是 ( )
A. AGE IS NULL B. AGE IS NOT NULL C. AGE = NULL D. NOT (AGE IS NULL)
8.關系資料庫規范化是為解決關系資料庫中( )問題而引入的。
A.插入、刪除和數據冗餘 B.提高查詢速度
C.減少數據操作的復雜性 D.保證數據的安全性和完整性
9.下圖所示的E-R圖轉換成關系模型,可以轉換為( )關系模式。
A.1個 B.2個 C.3個 D.4個
n m
10. 如下面的資料庫的表中,若職工表的主關鍵字是職工號,部門表的主關鍵字是部門號,SQL操作( )不能執行。
職工表 部門表
A.從職工表中刪除行(『025』,『王芳』,『03』,720)
B.將行(『005』,『喬興』,『04』,750)插入到職工表中
C.將職工號為『001』工資改為700
D.將職工號為『038』部門號改為『03』
二、填空題(本大題共5小題,每空1分,共10分)
1.對於非規范化的模式,結過使屬性域變為簡單域轉變為1NF,將1NF經過消除非主屬性對碼的_______________轉變為2NF,將2NF經過消除非主屬性對碼的_______________轉變為3NF。
2.在關系A(S,SN,D)和B(D,CN,NM)中,A的主鍵是S,B的主鍵是D,則D在S中稱為___________。
3.數據模型由_________________、_________________和_________________三部分組成的。
4.資料庫體系結構按照_______________、_______________和_______________三層結構進行組織。
5.E-R圖向關系模型轉化要解決的問題是如何將實體和實體之間的聯系轉換成關系模式,如何確定這些關系模式的_________________。
三、計算題(本大題共5小題,每小題2分,共10分)
設有如下圖所示的關系R,S和T,計算:
⑴ R1=R∪S R S T
⑵ R2=R-S
⑶ R3=R T
⑷ R4=R T
(5) R5=
四、設計題(本大題共5小題,每小題4分,共20分)
設教學資料庫中有三個基本表:
學生表S(SNO,SNAME,SEX,AGE,DEPT)
課程表C(CNO,CNAME,TEACHER)
學生選課表SC(SNO,CNO,GRADE)
其中:SNO為學號,SNAME為姓名,SEX為性別,AGE為年齡,DEPT為系別,CNO為課程CNAME為課程名,TEACHER 任課老師,GRADE為成績。
試寫出下列操作的SQL語句:
1檢索學生姓名及其所選修課程號和成績。
2 檢索選修課程「C2」的學生中的最高成績。
3檢索所有比「王華」年齡大的學生姓名、年齡和性別。
4 檢索選修四門以上課程的學生總成績(不統計不及格的課程),並要求按總成績的降序排列出來。
5 把Wu老師的女同學選課成績增加5%
五、綜合題(本大題共2小題,每小題15分,共30分)
1.假設某商業集團資料庫中有一關系模式R如下:R (商店編號,商品編號,數量,部門編號,負責人)
如果規定:
(1) 每個商店的每種商品只在一個部門銷售;
(2) 每個商店的每個部門只有一個負責人;
(3) 每個商店的每種商品只有一個庫存數量。
試回答下列問題:
(1) 根據上述規定,寫出關系模式R的基本函數依賴;
(2) 找出關系模式R的候選碼;
(3) 試問關系模式R最高已經達到第幾範式?為什麼?
(4) 如果R不屬於3NF,請將R分解成3NF模式集。
2.假定一個部門的資料庫包括以下的信息:
職工的信息:職工號、姓名、住址和所在部門。
部門的信息:部門所有職工、經理和銷售的產品。
產品的信息:產品名、製造商、價格、型號及產品內部編號。
製造商的信息:製造商名稱、地址、生產的產品名和價格。
完成如下設計:
(1)設計該計算機管理系統的E-R圖;
(2)寫出關系模式集,並用下劃線和波浪線標識出每個模式的主碼和外碼。
(3)在上述資料庫中,寫出主碼和外碼的總數這兩個數字。
『貳』 資料庫大作業求學霸解答!!!QAQ
答案如下:
1)創建教師表、課程表和教師授課表
create table Teacher
( Tno char(5) primary key,
Tname char(8),
Tsex char(2),
Tbirth int,
Tdept varchar(30)
);
create table Course
( Cno char(3) primary key,
Cname varchar(30),
Cpno char(3),
Ccredit int
);
create table 教師授課表
( Tno char(5),
Cno char(3),
time datetime
) ;
2)在教師表、課程表和教師授課表上建立主外鍵約束
alter table 教師授課表
add (foreign key(Tno) references Teacher(Tno),
foreign key(Cno) references Course(Cno));
3)建立約束:教師表中教師年齡介於25至60之間
alter table Teacher
add check(Tbirth>=25 and Tbirth<=60);
4)向學生表插入一條記錄20050204,'趙勤','女',20,'國貿系'。
insert into Student
values('20050204','趙勤','女',20,'國貿系');
5)在「課程表」的「課程號」列上創建唯一聚集索引。
create unique clustered index idx_cno on Course(Cno);
6)以「課程號」分組,統計各門課程的平均分數大於80分的行。
select Cno,avg(Grade) from SC
group by Cno
having avg(Grade)>80;
7)修改學號為「20050306」的學生信息為:20050206,魏海平,男,企管系。
update Student
set Sno='20050206',Sname='魏海平',Ssex='男',Sdept='企管系'
where Sno='20050306';
8)將學號為「20050304」的學生信息從表中刪除。
delete from Student
where Sno='20050304';
9)查詢所有任課教師的課程,沒有課程的教師對應的課程為空。
select Tname,Cname from Teacher
left outer join 教師授課表 on Teacher.Tno=教師授課表.Tno
left outer join Course on 教師授課表.Cno=Course.Cno;
10)按課程分組查詢計算機學院課程的最低分、最高分和平均分。
select Cno,min(Grade),max(Grade),avg(Grade)
from SC,Student
where SC.Sno=Student.Sno
group by Cno
having Sdept='計算機學院';
『叄』 資料庫期末考試題 編寫SQL語句 1.創建一張學生表,包含以下信息,學號,姓名,年齡,性別,家庭住址,聯系
create table 學生表
(
學號 char(10) primary key,
姓名 char(10),
年齡 int,
性別 char(2) check (sex IN ('男','女')),
家庭住址 char(40),
聯系 char(20)
)