A. 資料庫原理試題(簡答)
1、DBS由哪幾個部分組成?
答:DBS由四部分組成:資料庫、硬體、軟體、資料庫管理員。
2.資料庫的並發操作會帶來哪些問題?
答:資料庫的並發操作會帶來三類問題:丟失更新問題;不一致分析問題和「臟數據」的讀出。
3.簡述採用E-R圖方法的資料庫概念設計的過程。
答:E-R模型的圖示法:(1)實體集表示法; (2)屬性表法; (3)聯系表示法。
層次模型的基本結構是樹形結構,具有以下特點:
(1)每棵樹有且僅有一個無雙親結點,稱為根;
(2)樹中除根外所有結點有且僅有一個雙親。
從圖論上看,網狀模型是一個不加任何條件限制的無向圖。
關系模型採用二維表來表示,簡稱表,由表框架及表的元組組成。一個二維表就是一個關系。
在二維表中凡能唯一標識元組的最小屬性稱為鍵或碼。從所有侯選健中選取一個作為用戶使用的鍵稱主鍵。表A中的某屬性是某表B的鍵,則稱該屬性集為A的外鍵或外碼。
關系中的數據約束:
(1)實體完整性約束:約束關系的主鍵中屬性值不能為空值;
(2)參照完全性約束:是關系之間的基本約束;
(3)用戶定義的完整性約束:它反映了具體應用中數據的語義要求。
4.簡述客戶/伺服器式DBS的一般結構。此時資料庫應用的功能如何劃分?
答:DBS :資料庫系統(Database System),DBS是實現有組織地、動態地存儲大量關聯數據,方便多用戶訪問的計算機軟體、硬體和數據資源組成的系統,即採用了資料庫技術的計算機系統。
B. 資料庫原理試題《綜合題》
1.1 πSNO(SC)- πSNO(σCNO=』C3』(S×SC)1.2 πSNO(S∞(πSNO,CNO(SC)÷πCNO(C))) 2.1 select count(SNO) from SC where CNO='握螞C4'2.2 select SN,AGE from S where SN like '__'乎源2.3 select SNO from SC A,SC B where A.SNO=B.SNO and CNO='S2'段頃埋
C. 資料庫期末復習題 求答案
AABB題目描述不清AAAAB
6.commit rollback
只會這么多了
D. 資料庫原理及應用試題
1.B 2.C 3.B 4.C 5.D 6.C 7.C 8.D 9.C 10.A
11.A 12.A 13.A --不太確定 14.B 15.C 16.A 17.B 18.A 19.D 20.C
1.試述事務的概念及事務的四個特性。
答:
事務是用戶定義的一個資料庫操作序列,這些操作要麼全做要麼全不做,是一個不可分割的工作單位。
事務具有四個特性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)和持續性(Durability)。這個四個特性也簡稱為ACID特性。
原子性:事務是資料庫的邏輯工作單位,事務中包括的諸操作要麼都做,要麼都不做。
一致性:事務執行的結果必須是使資料庫從一個一致性狀態變到另一個一致性狀態。
隔離性:一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的數據對其他並發事務是隔離的,並發執行的各個事務之間不能互相干擾。
持續性:持續性也稱永久性(Permanence),指一個事務一旦提交,它對資料庫中數據的改變就應該是永久性的。接下來的其他操作或故障不應該對其執行結果有任何影響。
2.為什麼事務非正常結束時會影響資料庫數據的正確性,請列舉一例說明之。
答:
事務執行的結果必須是使資料庫從一個一致性狀態變到另一個一致性狀態。如果資料庫系統運行中發生故障,有些事務尚未完成就被迫中斷,這些未完成事務對資料庫所做的修改有一部分已寫入物理資料庫,這時資料庫就處於一種不正確的狀態,或者說是不一致的狀態。
例如某工廠的庫存管理系統中,要把數量為Q的某種零件從倉庫1移到倉庫2存放。
則可以定義一個事務T,T包括兩個操作;Q1=Q1-Q,Q2=Q2+Q。如果T非正常終止時只做了第一個操作,則資料庫就處於不一致性狀態,庫存量無緣無故少了Q。
3.資料庫中為什麼要有恢復子系統?它的功能是什麼?
答:
因為計算機系統中硬體的故障、軟體的錯誤、操作員的失誤以及惡意的破壞是不可避免的,這些故障輕則造成運行事務非正常中斷,影響資料庫中數據的正確性,重則破壞資料庫,使資料庫中全部或部分數據丟失,因此必須要有恢復子系統。
恢復子系統的功能是:把資料庫從錯誤狀態恢復到某一已知的正確狀態(亦稱為一致狀態或完整狀態)。
4.資料庫運行中可能產生的故障有哪幾類?哪些故障影響事務的正常執行?哪些故障破壞資料庫數據?
答:資料庫系統中可能發生各種各樣的故障,大致可以分以下幾類:
(1)事務內部的故障;
(2)系統故障;
(3)介質故障;
(4)計算機病毒。
事務故障、系統故障和介質故障影響事務的正常執行;介質故障和計算機病毒破壞數據
庫數據。
5.據庫恢復的基本技術有哪些?
答:
數據轉儲和登錄日誌文件是資料庫恢復的基本技術。
當系統運行過程中發生故障,利用轉儲的資料庫後備副本和日誌文件就可以將資料庫恢復到故障前的某個一致性狀態。
6. 資料庫轉儲的意義是什麼? 試比較各種數據轉儲方法。
答:
數據轉儲是資料庫恢復中採用的基本技術。所謂轉儲即DBA定期地將資料庫復制到磁帶或另一個磁碟上保存起來的過程。當資料庫遭到破壞後可以將後備副本重新裝入,將資料庫恢復到轉儲時的狀態。
靜態轉儲:在系統中無運行事務時進行的轉儲操作。靜態轉儲簡單,但必須等待正運行的用戶事務結束才能進行。同樣,新的事務必須等待轉儲結束才能執行。顯然,這會降低資料庫的可用性。
動態轉儲:指轉儲期間允許對資料庫進行存取或修改。動態轉儲可克服靜態轉儲的缺點,它不用等待正在運行的用戶事務結束,也不會影響新事務的運行。但是,轉儲結束時後援副本上的數據並不能保證正確有效。因為轉儲期間運行的事務可能修改了某些數據,使得後援副本上的數據不是資料庫的一致版本。
為此,必須把轉儲期間各事務對資料庫的修改活動登記下來,建立日誌文件(log file)。這樣,後援副本加上日誌文件就能得到資料庫某一時刻的正確狀態。
轉儲還可以分為海量轉儲和增量轉儲兩種方式。
海量轉儲是指每次轉儲全部資料庫。增量轉儲則指每次只轉儲上一次轉儲後更新過的數據。從恢復角度看,使用海量轉儲得到的後備副本進行恢復一般說來更簡單些。但如果資料庫很大,事務處理又十分頻繁,則增量轉儲方式更實用更有效。
7. 什麼是日誌文件?為什麼要設立日誌文件?
答:
(1)日誌文件是用來記錄事務對資料庫的更新操作的文件。
(2)設立日誌文件的目的是: 進行事務故障恢復;進行系統故障恢復;協助後備副本進行介質故障恢復。
8. 登記日誌文件時為什麼必須先寫日誌文件,後寫資料庫?
答:
把對數據的修改寫到資料庫中和把表示這個修改的日誌記錄寫到日誌文件中是兩個不同的操作。有可能在這兩個操作之間發生故障,即這兩個寫操作只完成了一個。
如果先寫了資料庫修改,而在運行記錄中沒有登記這個修改,則以後就無法恢復這個修改了。如果先寫日誌,但沒有修改資料庫,在恢復時只不過是多執行一次UNDO操作,並不會影響資料庫的正確性。所以一定要先寫日誌文件,即首先把日誌記錄寫到日誌文件中,然後寫資料庫的修改。
9. 針對不同的故障,試給出恢復的策略和方法。(即如何進行事務故障的恢復?系統故障的恢復?介質故障恢復?)
答:
事務故障的恢復:
事務故障的恢復是由DBMS自動完成的,對用戶是透明的。
DBMS執行恢復步驟是:
(1)反向掃描文件日誌(即從最後向前掃描日誌文件),查找該事務的更新操作。
(2)對該事務的更新操作執行逆操作。即將日誌記錄中「更新前的值」寫入資料庫。
(3)繼續反向掃描日誌文件,做同樣處理。
(4)如此處理下去,直至讀到此事務的開始標記,該事務故障的恢復就完成了。
答:
系統故障的恢復:
系統故障可能會造成資料庫處於不一致狀態:
一是未完成事務對資料庫的更新可能已寫入資料庫;
二是已提交事務對資料庫的更新可能還留在緩沖區,沒來得及寫入資料庫。
因此恢復操作就是要撤銷(UNDO)故障發生時未完成的事務,重做(REDO)已完成的事務。
系統的恢復步驟是:
(1)正向掃描日誌文件,找出在故障發生前已經提交的事務隊列(REDO隊列)和未完成的事務隊列(UNDO隊列)。
(2)對撤銷隊列中的各個事務進行UNDO處理。
進行UNDO處理的方法是,反向掃描日誌文件,對每個UNDO事務的更新操作執行逆操作,即將日誌記錄中「更新前的值」(Before Image)寫入資料庫。
(3)對重做隊列中的各個事務進行REDO處理。
進行REDO處理的方法是:正向掃描日誌文件,對每個REDO事務重新執行日誌文件登記的操作。即將日誌記錄中「更新後的值」(After Image)寫入資料庫。
*解析:
在第(1)步中如何找出REDO隊列和UNDO隊列?請大家思考一下。
下面給出一個演算法:
1) 建立兩個事務隊列:
· UNDO-LIST: 需要執行undo操作的事務集合;
· REDO-LIST: 需要執行redo操作的事務集合;
兩個事務隊列初始均為空。
2) 從日誌文件頭開始,正向掃描日誌文件
· 如有新開始(遇到Begin Transaction)的事務Ti,把Ti暫時放入UNDO-LIST隊列;
· 如有提交的事務(遇到End Transaction)Tj,把Tj從UNDO-LIST隊列移到REDO-LIST隊列;
直到日誌文件結束
答:
介質故障的恢復:
介質故障是最嚴重的一種故障。
恢復方法是重裝資料庫,然後重做已完成的事務。具體過程是:
(1)DBA裝入最新的資料庫後備副本(離故障發生時刻最近的轉儲副本),使資料庫恢復到轉儲時的一致性狀態。
(2)DBA裝入轉儲結束時刻的日誌文件副本
(3)DBA啟動系統恢復命令,由DBMS完成恢復功能,即重做已完成的事務。
*解析
1)我們假定採用的是靜態轉儲,因此第(1)步裝入資料庫後備副本便可以了。
2)如果採用的是靜動態轉儲,第(1)步裝入資料庫後備副本還不夠,還需同時裝入轉儲開始時刻的日誌文件副本,經過處理後才能得到正確的資料庫後備副本。
3)第(2)步重做已完成的事務的演算法是:
a. 正向掃描日誌文件,找出故障發生前已提交的事務的標識,將其記入重做隊列
b. 再一次正向掃描日誌文件,對重做隊列中的所有事務進行重做處理。即將日誌記錄中「更新後的值」寫入資料庫。
10. 具有檢查點的恢復技術有什麼優點?
答:
利用日誌技術進行資料庫恢復時,恢復子系統必須搜索日誌,確定哪些事務需要REDO,哪些事務需要UNDO。一般來說,需要檢查所有日誌記錄。這樣做有兩個問題:
一是搜索整個日誌將耗費大量的時間。
二是很多需要REDO處理的事務實際上已經將它們的更新操作結果寫到資料庫中了,恢復子系統又重新執行了這些操作,浪費了大量時間。
檢查點技術就是為了解決這些問題。
11. 試述使用檢查點方法進行恢復的步驟。
答:
① 從重新開始文件中找到最後一個檢查點記錄在日誌文件中的地址,由該地址在日誌文件中找到最後一個檢查點記錄。
② 由該檢查點記錄得到檢查點建立時刻所有正在執行的事務清單ACTIVE-LIST。
這里建立兩個事務隊列:
· UNDO-LIST: 需要執行undo操作的事務集合;
· REDO-LIST: 需要執行redo操作的事務集合;
把ACTIVE-LIST暫時放入UNDO-LIST隊列,REDO隊列暫為空。
③ 從檢查點開始正向掃描日誌文件
· 如有新開始的事務Ti,把Ti暫時放入UNDO-LIST隊列;
· 如有提交的事務Tj,把Tj從UNDO-LIST隊列移到REDO-LIST隊列,直到日誌文件結束;
④ 對UNDO-LIST中的每個事務執行UNDO操作, 對REDO-LIST中的每個事務執行REDO操作。
12. 什麼是資料庫鏡像?它有什麼用途?
答:
資料庫鏡像即根據DBA的要求,自動把整個資料庫或者其中的部分關鍵數據復制到另一個磁碟上。每當主資料庫更新時,DBMS自動把更新後的數據復制過去,即DBMS自動保證鏡像數據與主數據的一致性。
資料庫鏡像的用途有:
一是用於資料庫恢復。當出現介質故障時,可由鏡像磁碟繼續提供使用,同時DBMS自動利用鏡像磁碟數據進行資料庫的恢復,不需要關閉系統和重裝資料庫副本。
二是提高資料庫的可用性。在沒有出現故障時,當一個用戶對某個數據加排它鎖進行修改時,其他用戶可以讀鏡像資料庫上的數據,而不必等待該用戶釋放鎖。
E. 資料庫原理及應用試題
太復雜了。建議還是問老師吧
F. 資料庫期末考試題 求答案 急!
--1
create database 學生選課系統
on primary
(name = 學生選課系統_data,
filename='d:\aa\學生選課系統.mdf',
size=8,
maxsize=100,
filegrowth=20%)
log on
(name =學生選課系統_log,
filename = 'e:\ee\學生選課系統.ldf')
--2
create table 學生
(學號 char(10) primary key,
姓名 char(20),
性別 char(2) check (性別 in('男','女')),
年齡 int default 20,
所在系 char(20))
--3
select 學號,年齡
from 學生
where 所在系='物理系'
--4
select 學號,成績
where 課程號='2'
order by 成績 asc,學號 desc
--5
select 學生.學號 學號,姓名,選修的課程名,成績
from 學生,課程,選課
where 學生.學號=選課.學號 and 課程.課程號=選課.課程號
--6
insert into 學生(學號,姓名,所在系)
values('96002','張三','英語系')
--7
update 學生 set 年齡=年齡+3
--8
delete from 學生
where 所在系='化學系'
--9
create view 英語系學生
as
select 學號,性別,年齡
from 學生
where 所在系='英語系'
--10
create unique index IX_課程號 on 課程(課程號)
--11
create trigger trig1 on 學生
for delete
as
declare @SID char(10)
select @SID=學號 from deleted
begin
delete from 選課 where 學號=@SID
end
G. 資料庫原理試題
1.A 物理結構獨立性
2.C 系統故障
3.C 數據流圖
4.D 保證數據的安全性和完整性
5.C 物理設計
6.A 概念模式改變,外模式和應用程序不變
7.D 全部
8.A 全部
自己做的,希望高手指點
H. 我給高分,求重郵試題
這是答案;
答題紙
一、單項選擇題(每小題2分,共20分)
題號 1 2 3 4 5 6 7 8 9 10
答案
二、填空題(每空2分,共20分)。
1. 2.
3. 4.
5. 6.
7. 8.
9. 10.
三、簡答題(共5小題,每小題4分,共20分)。
四、設計題(共5小題,每小題關系代數式2分,SQL語句或余棗2分,共20分)。
五、綜合題(共2題,每題10分,共20分)。
2007-9-1 22:44 liaojk123
2005-06-1db-A卷參考答案與評分細則
一、單項選擇題(每小題2分,共20分)
題號 1 2 3 4 5 6 7 8 9 10
答案 B B A C A C C C C D
二、填空題(每空2分,共20分)。
1. 資料庫系統 2. 外模式/模式映像
3. __選擇__ 4. _數據操縱_____
5. __DISTINCT_ 6. _GRANT___
7. _刪除異常__ 8. __3__
9. _物理___ 10. __實體__
三、簡答題(共5小題,每小題4分,共20分)。
1. 數據結構、數據操作、完整性約束。(錯一個扣1分,全錯不得分)
2. 需求分析、概念結構設計、邏輯結構設計、物理結構設計、資料庫實事、資料庫運行和維護。(錯一個扣0.5分,全錯不得分)
3. 事務是用戶定義的一個資料庫操作序列,這些操作要麼全做要麼全不做,是一個不可分割的工作單位。(2分)事務具有原子性、一致性、隔離性和持續性等特性。(每點0.5分)
4. 丟失修改、不可重復讀、讀「臟」數據。(錯一個扣1分,全錯不得分)
5. (1)正像掃描日誌文件,找出在故障發生前已經提交的毀明事務,將其事務標識記入REDO隊列。同時找出故障發生時尚未完成的事務,將其事務標識記入UNDO隊列。(2)對UNDO隊列中的各個事務進行撤銷處理。(3)對REDO隊列中的各個事務進行重做處理。(錯一個扣1.5分,全錯不得分)
四、設計題(共5小題,每小題關系代數式2分,SQL語句2分,共20分)。注意:答案不唯一!
1.檢索所有選修了課程號為「C112」的課程的學生的學號和分數;
select 學號,分數 from 學習 where 課程號=』C112』;
∏學號,分數( 課程號=』C112』(學習))
2. 檢索「英語」專業學生所學課程的信息,包括學號、姓名、課程衫拆名和分數;
select 學習.學號,姓名,課程名,分數
from 學生,課程,學習
where 學習.學號=學生.學號 and 學習.課程號=課程.課程號 and 專業=』英語』;
∏學號,姓名,課程名,分數(∏學號,姓名( 專業=』英語』(學生))∞學習∞∏課程號,課程名(課程))
3. 檢索「資料庫原理」課程成績高於90分的所有學生的學號、姓名、專業和分數;
Select 學生.學號,姓名,專業,分數 from 學生,學習
Where 學生.學號=學習.學號 and 分數>90 and 課程號=
(select 課程號 from 課程 where 課程名=『資料庫原理』);
∏學號,姓名,專業,分數(∏學號,姓名,專業(學生)∞( 分數>90( 學習))∞∏課程號,課程名( 課程名=』資料庫原理』(課程)))
4.檢索不學課程號為「C135」課程的學生信息,包括學號,姓名和專業;
Select 學號,姓名,專業 from 學生
Where 學號 not in
(select 學號 from 學習 where 課程號=『C135』);
(∏學號(學生)-∏學號( 課程號=『C135』( 學習)))∞(∏學號,姓名,專業(學生)
5.檢索至少學過課程號為「C135」和「C219」的課程的學生的信息,包括學號、姓名和專業。
Select 學號,姓名,專業 from 學生 where 學號 in
(select X1.學號 from 學習 X1,學習 X2 where X1.學號=X2.學號 and X1.課程號=『C135』and X2。課程號=『C219』);
(∏學號,課程號(學習)÷∏課程號( 課程號=『C135』∨課程號=『C219』 (課程))) ∞∏學號,姓名,專業(學生)
五、綜合題(共2題,每題10分,共20分)。
1.現有如下關系模式:借閱(圖書編號,書名,作者名,出版社,讀者編號,讀者姓名,借閱日期,歸還日期),基本函數依賴集F={圖書編號→(書名,作者名,出版社),讀者編號→讀者姓名,(圖書編號,讀者編號,借閱日期)→歸還日期}
(1)讀者編號是候選碼嗎?(2分)
(2)寫出該關系模式的主碼。(2分)
(3)該關系模式中是否存在非主屬性對碼的部分函數依賴?如果存在,請寫出一個。(2分)
(4)該關系模式滿足第幾範式?並說明理由。(4分)
答:(1)不是。
(2)(圖書編號,讀者編號,借閱日期)
(3)存在。書名函數依賴於圖書編號,圖書編號是碼的真子集,所以書名部分函數依賴於碼。
(4)1NF。因為存在非主屬性對碼的部分函數依賴。
2. 某工廠生產多種產品,每種產品由不同的零件組裝而成,有的零件可用在不同的產品上。產品有產品號和產品名兩個屬性,零件有零件號和零件名兩個屬性。根據語義設計ER模型,並將ER模型轉換成關系模式,要求關系模式主碼加下劃線表示。(ER模型4分,關系模型6分)
產品(產品號,產品名)
零件(零件號,零件名)
組裝(產品號,零件號)
2007-9-1 22:45 liaojk123
重 慶 郵 電 學 院 2005 ~ 2006 學 年 第 一 學 期
題號 一 二 三 四 五 六 總分
分數
評卷人
計算機學院 《資料庫原理》 期末考試題 120分鍾
一、單項選擇題(本大題共10小題,每小題2分,共20分)
1.模式的邏輯子集通常稱為( )
A.存儲模式 B.內模式
C.外模式 D.模式
2.DB、DBMS和DBS三者之間的關系是( )
A..DB包括DBMS和DBS B.DBS包括DB和DBMS
C.DBMS包括DB和DBS D.不能相互包括
3.已知兩個關系如下:
R A B C
1 b1 c1
2 b2 c2
3 b1 c1
S D E A
d1 e1 1
d2 e2 1
d3 e1 2
假設R的主鍵是A,S的主鍵是D,在關系S的定義中包含外鍵子句:
「FOREIGN KEY (A) REFERENCES R(A) ON DELETE RESTRICT」,
下列SQL語句不能成功執行的是( )
A.DELETE FROM R WHERE A=2
B.DELETE FROM R WHERE A=3
C.DELETE FROM S WHERE A=1
D.DELETE FROM S WHERE A=2
4.在SQL中,與「NOT IN」等價的操作符是( )
A.<>ALL B.<>SOME
C.=SOME D.=ALL
5..如何構造出一個合適的數據邏輯結構是( )主要解決的問題。�
A.關系資料庫優化 B.數據字典 �
C.關系資料庫規范化理論 D.關系資料庫查詢
6.將ER模型轉換成關系模型,屬於資料庫的( )
A.需求分析 B.概念設計
C.邏輯設計 D.物理設計
7.如果事務T已在數據R上加了X鎖,則其他事務在數據R上( )
A.只可加X鎖 B.只可加S鎖
C.可加S鎖或X鎖 D.不能加任何鎖
8.「is-part-of」聯系是指數據間的( )
A.包含關系 B.分類關系 C.繼承關系 D.並關系
9.在分布式資料庫中,數據的垂直分片是對全局關系的( )
A.選擇操作 B.投影操作
C.自然聯接操作 D.半聯接操作
10.在資料庫設計中,表示用戶業務流程的常用方法是( )
A.DFD B.ER圖 C.程序流程圖 D.數據結構圖
二、填空題(每空2分,共20分)
1.資料庫的邏輯數據獨立性是由___外模式/模式____映象提供的。
2.在資料庫設計中,規劃存儲結構和存取方法屬於____物理_______設計。
3.在計算機網路環境中,各個場地採用相同類型的數據模型和DBMS,稱之為___同構同質______型分布式資料庫系統。
4.SQL語言提供資料庫定義、___數據操縱_____、數據控制等功能。
5.關系代數中專門的關系運算包括:選擇、投影、連接和__除法______。
6.當資料庫被破壞後,如果事先保存了____日誌文件____和資料庫的副本,就有可能恢復資料庫。
7.關系中主碼的取值必須唯一且非空,這條規則是__實體____完整性規則。
8.設有學生表S(學號,姓名,班級)和學生選課表SC(學號,課程號,成績),為維護數據一致性,表S與SC之間應滿足__參照____完整性約束。�
9.在函數依賴中,平凡的FD可根據推規則中的___自反律 ___律推出。
10.設關系模式R(A,B,C,D),函數依賴集F={AB→C,D→B},則R的候選碼為____ ABD _____
三、簡答題(本大題共4小題,每小題5分,共20分)
1.什麼是事務?事務具有那些特性?
1.資料庫系統中的常見故障有哪些?
3.什麼是死鎖?
4.簡述資料庫並發操作通常會帶來哪些問題。
四、設計題(本大題共5小題,每小題4分,共20分)
現有關系資料庫如下:�
學生(學號,姓名,性別,專業,獎學金)�
課程(課程號,名稱,學分)�
學習(學號,課程號,分數)�
分別用關系代數表達式和SQL語句實現下列1—5小題:�
1.檢索所有選修了課程號為「C112」的課程的學生的學號和分數;
2.檢索「英語」專業學生所學課程的信息,包括學號、姓名、課程名和分數。
3.檢索「資料庫原理」課程成績高於90分的所有學生的學號、姓名、專業和分數;
4.檢索不學課程號為「C135」課程的學生信息,包括學號,姓名和專業;
5.檢索至少學過課程號為「C135」和「C219」的學生信息,包括學號、姓名和專業;
五、綜合題(本大題共2題,每題10分,共20分)
1.假設為自學考試成績管理設計了一個關系R(S#,SN,C#,CN,G,U),其屬性的含義依次為考生號、姓名、課程號、課程名、分數和主考學校名稱。
規定每個學生學習一門課程只有一個分數;一個主考學校主管多門課程的考試,且一門課程只能屬於一個主考學校管理;每名考生有唯一的考號,每門課程有唯一的課程號。
(1)寫出關系模式R基本的函數依賴集。(2分)
(2)寫出關系模式R的候選碼。(2分)
(3)關系模式R最高達到第幾範式?為什麼?(3分)
(4)將R規范化為3NF。(3分)
2. 某工廠生產多種產品,每種產品由不同的零件組裝而成,有的零件可用在不同的產品上。產品有產品號和產品名兩個屬性,零件有零件號和零件名兩個屬性。根據語義設計ER模型,並將ER模型轉換成關系模式。(ER模型5分,關系模型5分)
2007-9-1 22:46 liaojk123
重 慶 郵 電 學 院 2004 ~ 2005 學 年 第 二 學 期
通信與信息工程學院 《資料庫原理》 參考答案與評分標准
一、單項選擇題(每小題2分,共20分)
A B B B B B A D B C
二、簡述題(每小題5分,共35分)
1. 在數據面向的對象方面:文件系統的管理者是文件系統;資料庫系統的管理者是資料庫管理系統。(1分)在數據共享程度方面:文件系統共享性差,冗餘度大;資料庫系統共享性高,冗餘小。(1分)在數據獨立性方面:文件系統數據獨立性差;資料庫系統具有高度的物理獨立性和一定的邏輯獨立性。(1分)在數據結構化方面:文件系統記錄內有結構,整體無結構;資料庫系統整體結構化。(1分)在數據控制能力方面:文件系統由應用程序自己控制;資料庫系統由資料庫管理系統控制。(1分)
[說明:指出三點不同都可,上述答案供參考]
2. 資料庫系統有外模式、模式和內模式三級模式結構[2分],在這三級模式之間提供了兩級映象,即外模式/模式映象和模式/內模式映象[2分]。正是這兩層映象保證了資料庫系統中的數據能夠具有較高的邏輯獨立性和物理獨立性[1分]。
3. 查詢選修了1號課程或3號課程的學生的學號[5分]。
[說明:將或寫成和的扣3分]
4. 若關系中的某一個屬性組的值能夠唯一地標識一個元組,則成該屬性組為候選碼[2分];若一個關系中有多個候選碼,則選定其中一個為主碼[1分];設F是關系R中的一個屬性組,但不是R的碼,如果F與關系S中的主碼相對應,則稱F為R的外碼[2分]。
5. 需求分析、概念設計、邏輯設計、物理設計、資料庫實施、資料庫運行與維護。[5分,答案不全適當扣分]
6. 並發操作可能會帶來的數據不一致性問題包括丟失修改、不可重復度和讀臟數據[3分]。產生這些問題的主要原因是並發操作破壞了事務的隔離性[2分]。
7.R屬於第一範式[2分],分解為如下兩個模式[3分]:
R1(A,D), A為主碼;R2(A,B,C), (A,B)為主碼,A為外碼
三、用SQL語句描述下列資料庫操作 (每小題3分,共30分)
1. SELECT * FROM S;
2. SELECT DISTINCT S# FROM SC WHERE G<60;
3. SELECT S#, G FROM SC WHERE C#=3 ORDER BY G DESC;
4. SELECT COUNT(*) FROM S;
5. SELECT SN FROM S WHERE SD IN (『IS』, 『CS』);或
SELECT SN FROM S WHERE SD=『IS』 OR SD=『CS』;
6. SELECT S#, COUNT(*) FROM SC GROUP BY S#;
7. SELECT S# FROM SC WHERE C#=2 AND G>=90;
8. DELETE FROM SC WHERE S# IN(或=)
(SELECT S# FROM S WHERE SN=』 王敏』)
9. UPDATE S SET SA=SA+1;
10. CREATE VIEW XXX AS SELECT S#, SN, SA FROM S WHERE SD=』CS』;
I. 幾道資料庫原理題
單選
1 b
2 a
3 a
4 b
5 c
6 c
7 c
多選題
8 ab
9 acd
10 ad
11 abcd
12 ab
13 abd
多選
判斷題
14 錯
15 對
16 錯
17 對
18 錯
19 錯
20 錯