數據庫 試題及答案.doc
一、選擇題
1.在數據庫系統(tǒng)中,把可以相互區(qū)別的客觀事物稱為( D )
A.屬性 B. 字段
C.文件 D.實體
2.數據庫的存儲設備和存取方法變化不影響整體邏輯結構的特點,稱為數據庫的( D )
A.實體獨立性 B.物理數據獨立性
C.客觀獨立性 D.邏輯數據獨立性
3.學生社團可以接納多名學生參加,但每個學生只能參加一個社團,從社團到學生之間的聯系類型是( B )
A. 多對多 B. 一對多
C. 多對一 D. 一對一
4.如果關系模式R上有函數依賴AB→C和A→C,則R中存在( B )
A. 完全依賴 B.部分依賴
C. 傳遞依賴 D.多值依賴
5.關系模型的參照完整性約束是指( C )
A.限制引用一個關系中的不同元組數據
B.限制引用不同關系中的元組數據
C.限制一個關系引用與之聯系關系中不存在的元組數據
D.限制兩個關系間的互相引用
6.在嵌入式SQL中,為了把集合操作轉換成單記錄處理方式,引進了以下哪個概念( B )
A.宿主語言 B.游標
C.DDL語言 D.DML語言
7、單個用戶使用的數據視圖的描述稱為(A )。
A. 外模式 B. 概念模式
C. 內模式 D. 存儲模式
8.在SQL中,下列涉空值的操作,不正確的(D:AGE=NULL)
9.數據庫系統(tǒng)的獨立性是指(B)
A. 不會因為數據的變化而影響應用程序
B. 不會因為系統(tǒng)數據存儲結構與數據邏輯結構的變化而影響應用程序
C. 不會因為數據存儲策略的變化而影響數據存儲結構
D. 不會因為某些數據邏輯結構的變化而影響應用程序
10.設有T1和T2兩個事務,若并發(fā)操作如下,則下面評價中正確的是(C )。
T1 T2
① 讀A=100,B=5
② 讀 A=100
A=A*2 回寫
③ 求A+B=105,驗證錯
A. 該操作不存在問題 B. 該操作丟失修改
C. 該操作不能重復讀 D. 該操作讀“臟數據”
11.下列SQL語句中,修改表結構的是(ALTER)
12.概念模型獨立于(DBMS)
13.一個數據庫系統(tǒng)必須能夠表示實體和關系,聯系可以與(1個或者1個以上)實體有關。
14.若數據庫中只包含成功事務提交的結果,則此數據庫就稱為處于(一致)狀態(tài)。
15. 索引屬于( 內模式 )。
16.恢復機制的關鍵問題是建立冗余數據,最常用的技術是(D:數據轉儲+登錄日志文件)
17.在基本的關系中,下列說法正確的是(C)
A 行列順序有關 B 屬性名允許重名 C 任意兩個元組不允許重復 D 列式非同質的
18.兩個關系在沒有公共屬性時,其自然連接操作表現為(A:結果為空關系)
19.在關系數據庫中,從關系規(guī)范化的意義看,如果關系R中的非主屬性對碼有部分函數依賴,那么R至多是(B:2NF)
20. 設有關系W(工號,姓名,工種,定額),將其規(guī)范化到第三范式正確的解答是( C )。A.W1(工號,姓名),W2(工種,定額) B.W1(工號,工種,定額),W2(工號,姓名) C.W1(工號,姓名,工種),W2(工號,定額) D.以上都不對
21. 若系統(tǒng)在運行過程中,由于某種硬件故障,使存儲在外存上的數據部分丟失或全部丟失,這種情況稱為(A )。
A. 介質故障 B. 系統(tǒng)故障 C. 事務故障 D. 運行故障
22. 數據流程圖(DFD)是用于描述結構化方法中( C )階段的工具。
A. 可行性分析 B. 程序設計 C. 需求分析 D. 詳細設計
23. 進行自然聯接運算的兩個關系必須具有( B )。
A.相同屬性個數 B.公共屬性 C.相同關系名 D.相同關鍵字
24. 數據庫的特點之一是數據的共享,嚴格地講,這里的數據共享是指( D )。
A. 同一應用的多個程序共享一個數據集合 B. 多個用戶、同一語言共享 C. 多個用戶共享同一個數據文件D. 多種應用、多種語言、多個用戶相互覆蓋地使用數據集合
25. 關系模型中,表示實體間N:M聯系是通過增加一個( A )。
A.關系實現 B.屬性實現 C.關系或一個屬性實現 D.關系和一個屬性實現
26. SQL語言是( B )的語言,易學習。
A.過程化 B.非過程化 C.格式化 D.導航化
27. 建立數據字典的時機是( A )。
A.需求分析階段 B.數據庫物理設計階段 C.數據庫實施 D.概念結構設計階段
28. 現有關系表:學生(宿舍編號,宿舍地址,學號,姓名,性別,專業(yè),出生日期),它的主鍵是( B )。
A.宿舍編號 B. 學號 C.宿舍地址,姓名) D.宿舍編號,學號)
29. 數據庫系統(tǒng)的體系機構是( C )。
A. 二級模式結構和一級1映射 B.三級模式結構和一級映射 C.三級模式結構和二級映射 D. 三級模式結構和三級映射
30. 為提高效率,關系數據庫系統(tǒng)必須進行( B )處理。
A.定義視圖 B.查詢優(yōu)化 C.數據恢復 D.數據規(guī)范化到最高范式
31.下列聚合函數中不忽略空值(NULL)的是( C )。
A. SUM(列名) B. MAX(列名) C. COUNT(*) E. AVG(列名)
32.如果事務T獲得了數據項Q上的它鎖,則T對Q( B )。
A. 只能讀不能寫 B. 既可讀又能寫 C. 只能寫不能讀 D. 不能讀不能寫
33. 設有關系R,按條件f對關系R進行選擇,正確的是( D )。
A. RR B. R?fR C. Пf(R) D. σf(R)
34.在數據庫系統(tǒng)中死鎖屬于(C:事務故障)
35.有一個關系,學生(學號,姓名,系別)規(guī)定學號的值域是8個數字組成的字符串,這一規(guī)則屬于(D:用戶自定義完整性約束)
36.關系模式設計理論最要解決的問題是(C:減少數據操作的復雜性)
37. 關于視圖,下列說法正確的是( D )。
A. 對視圖的使用與表一樣,也可以進行插、查、刪、改操作B. 視圖只能從表中導出 C. 視圖與表一樣,也存儲著數據 D. 對視圖的操作,最終都要轉化成對基本表的操作
38. 如果事務T的封鎖序列為: LOCK S(A)—LOCK S(B)—LOCK X(C) —UNLOCK(B) —UNLOCK(A) —UNLOCK(C),則T( B?。! ?
A.會發(fā)生死鎖 B.遵守兩段鎖協議 C.可串行化 D.不會發(fā)生死鎖
39. 管理數據庫系統(tǒng)是數據庫系統(tǒng)的核心,它負責有效地組織、存儲、獲取和管理數據,屬于一種( A ),是位于用戶與操作系統(tǒng)之間的一層數據管理軟件。
A.系統(tǒng)軟件 B.工具軟件 C.應用軟件 D.數學軟件
40. 數據庫邏輯設計時,下列原則中不正確的是( D )。
A.數據流程圖和數據字典 B. E-R圖 C.規(guī)范化理論 D.SQL語言
41. 應用數據庫的主要目的是( C )。
A.解決數據保密問題 B.解決數據完整性問題C.解決數據共享問題 D.解決數據量大的問題
42.假如采用關系數據庫系統(tǒng)實現應用,在數據庫設計的(邏輯設計)階段,需要將E-R模型轉化為關系模型。
43.為了提高效率,關系數據系統(tǒng)必須進行(查詢優(yōu)化)處理。
44.如果采用關系數據庫來實現應用,在數據庫設計的(C)階段將關系模式進行規(guī)化處理。
A 需求分析 B概念設計 C邏輯設計 D 物理設計
45.DBMS通常提供授權功能來控制不同用戶訪問數據的權限,這主要是為了實現數據庫的( D )。
A.可靠性 B.一致性 C.完整性 D.安全性
二、填空題
1、SQL中有兩種安全機制:一是視圖機制,二是(授權子系統(tǒng))。
2、數據庫管理系統(tǒng)的三層模式中的內模式是數據庫(物理結構)和(存儲方式)的描述,是數據在數據庫內部的表示方式。
3、數據庫保護包括:安全性保護、完整性保護、(并發(fā)控制)和恢復。
4、根據關系演算中變量的不同,可將關系演算進一步分為(元組關系演算)和域關系演算。
5、數據庫設計分為6個階段:需求分析階段、(物理結構設計階段)、邏輯設計階段、(關系模型設計階段)、(數據庫實施階段)、運行階段和維護階段。
6、設有以下關系:合同(合同號,用戶號,用戶名,擁護地址),若合同號是惟一的,則這個關系的范式等級是(2NF)。
7、關系數據庫的實體完整性規(guī)則規(guī)定基本關系的(主碼)不能取空值。
8、DBMS并發(fā)控制的單位為(事務)。
9、關系代數的基本運算是并、差、(笛卡爾積)、(選擇)和(投影)。
10、視圖是定義在()字之上的,對視圖的一切操作最終要轉換為對(基本表)的操作。
11、在DBMS的授權子系統(tǒng)中,授權和回收權限的語句分別是(GRANT)和Revolce語句。
12、數據字典是對系統(tǒng)中數據的詳細描述,通常包括數據項,(數據結構),數據流,(數據存儲)和數據處理五部分。
13、數據庫運行過程中可能產生的故障有(事務故障)、(系統(tǒng)故障)、介質故障等故障。
14、DBMS提供數據操縱語言對數據庫的操縱功能分成兩種:檢索和更新。其中更新操作包括(修改)(插入)(刪除)。
16、數據在兩個或更多文件中重復出現稱為(數據冗余),在數據更新時可能導致(數據異常、數據不一致性)等錯誤。
17、數據庫恢復是將數據庫從(錯誤)狀態(tài)恢復到某一已知的正確狀態(tài)。
18、若關系模式R中的屬性全部是主屬性,則R的最高范式必定是(3NF)。
19、目前,設計數據庫系統(tǒng)主要采用的是以(新奧爾良方法)和(基于E-R模型的數據庫設計方法)為中心的規(guī)范設計方法。
20、查詢優(yōu)化的策略之一是對關系文件進行適當的預處理。預處理的方法是對文件進行排序或建立(索引文件)。
21、SQL以同一種語法格式,提供______交互式_______和嵌入式兩種使用方式。
22、在SQL Select語句中要去掉查詢結果中的重復記錄應使用(DISTINCT)關鍵字。
23、事務必須具有四個性質是:原子性、一致性,(隔離性)和永久性。
24、關系模型由關系數據結構,關系操作集合和(完整性約束)三部分組成。
25、設計概念結構通常有四類方法:自頂向下,自底向上、(逐步擴張)(混合策略)。
26、將一個關系模式分解成多個關系模式時,為了保持原模式所滿足的特性,要求分解處理具有_____1NF_____和_____2NF_____。
三、簡述題(選三)
1、 數據庫的外模式、模式和內模式,兩級(層)映象的作用是什么?
(1)外模式:是用戶與數據庫系統(tǒng)的接口,是用戶用到的那部分數據的描述。
(2)內模式:是數據庫在物理存儲方面的描述,定義所有的內部記錄類型、索引和文件的組成方式,以及數據控制方面的細節(jié)。
(3)模式/內模式映象:這個映象存在于概念級和內部級之間,用于定義概念模式和內模式間的對應性,即概念記錄和內部記錄間的對應性。此映象一般在內模式中描述。
(4)外模式/模式映象:這人映象存在于外部級和概念級之間,用于定義外模式和概念模式間的對應性,即外部記錄和內部記錄間的對應性。此映象都是在外模式中描述。
2、 封鎖協議
答:封鎖是實現并發(fā)控制的主要技術。封鎖分排它鎖(X鎖)和共享鎖(S鎖)兩種類型。對X鎖或S鎖何時申請鎖、何時釋放鎖均有約定的規(guī)則。三級封鎖協議可分別達到系統(tǒng)一致性的不同級別,兩段鎖協議是保證并發(fā)調度可串行性的封鎖協議。
3、 試述索引選擇的原則
答:索引是與表或視圖關聯的磁盤上結構,可以加快從表或視圖中檢索行的速度。索引包含由表或視圖中的一列或多列生成的鍵。
1. 了解數據庫本身的特征。
2. 了解最常用的查詢的特征。
3. 了解查詢中使用的列的特征。
4. 確定哪些索引選項可在創(chuàng)建或維護索引時提高性能。
5. 確定索引的最佳存儲位置。非聚集索引可以與基礎表存儲在同一個文件組中,也可以存儲在不同的文件組中。
4、 試述數據庫設計的過程
答:這里只概要列出數據庫設計過程的六個階段: ( l )需求分析; ( 2 )概念結構設計; ( 3 )邏輯結構設計; ( 4 )數據庫物理設計; ( 5 )數據庫實施; ( 6 )數據庫運行和維護。這是一個完整的實際數據庫及其應用系統(tǒng)的設計過程。不僅包括設計數據庫本身,還包括數據庫的實施、運行和維護。設計一個完善的數據庫應用系統(tǒng)往往是上述六個階段的不斷反復。
5、 假設R和S分別是三元和二元關系,試把表達式П1,5(σ2=4∧3=4(RS))轉換成等價的元組表達式。
解:
元組表達式:{t|( u)(v)(R(u)∧S(v)∧(u[2]=v[1]∨u[3]=v[1])∧t[1]=u[1]∧t[2]=v[2])}
6、 實現嵌入式SQL需解決那些問題?
(1)如何將嵌有SQL的宿主語言程序編譯成可執(zhí)行碼(這是首要問題)。
(2)宿主語言和DBMS之間如何傳遞數據和信息。
(3)如何將查詢結果賦值給宿主語言程序中的變量(通過游標語句)。
(4)宿主語言與SQL之間數據類型的轉換問題(按系統(tǒng)約定轉換)。
7、 什么是數據庫設計?
答:數據庫設計(Database Design)是指對于一個給定的應用環(huán)境,構造最優(yōu)的數據庫模式,建立數據庫及其應用系統(tǒng),使之能夠有效地存儲數據,滿足各種用戶的應用需求(信息要求和處理要求)。在數據庫領域內,常常把使用數據庫的各類系統(tǒng)統(tǒng)稱為數據庫應用系統(tǒng)。
8、 什么是概念結構設計?
答:概念結構是信息世界的結構,即概念模型,其主要特點是: ( l )能真實、充分地反映現實世界,包括事物和事物之間的聯系,能滿足用戶對數據的處理要求,是對現實世界的一個真實模型; ( 2 )易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參與是數據庫設計成功的關鍵; ( 3 )易于更改,當應用環(huán)境和應用要求改變時,容易對概念模型修改和擴充; ( 4 )易于向關系、網狀、層次等各種數據模型轉換。概念結構的設計策略通常有四種: l )自頂向下,即首先定義全局概念結構的框架,然后逐步細化; 2 )自底向上,即首先定義各局部應用的概念結構,然后將它們集成起來,得到全局概念結構; 3 )逐步擴張,首先定義最重要的核心概念結構,然后向外擴充,以滾雪球的方式逐步生成其他概念結構,直至總體概念結構; 4 )混合策略,即將自頂向下和自底向上相結合,用自頂向下策略設計一個全局概念結構的框架,以它為骨架集成由自底向上策略中設計的各局部概念結構。
9、 數據模型的優(yōu)化包含哪些方法?
1.確定數據依賴。按需求分析階段所得到的語義分別寫出每個關系模式內部各屬性之間的數據依賴以及不同關系模式屬性之間數據依賴。
2.對于各個關系模式之間的數據依賴進行極小化處理,消除冗余的聯系。
3.按照數據依賴的理論對關系模式逐一進行分析,考查是否存在部分函數依賴、傳遞函數依賴、多值依賴等,確定各關系模式分別屬于第幾范式。
4.按照需求分析階段得到的各種應用對數據處理的要求,分析對于這樣的應用環(huán)境這些模式是否合適,確定是否要對它們進行合并或分解。
5. 按照需求分析階段得到的各種應用對數據處理的要求,對關系模式進行必要的分解或合
并,以提高數據操作的效率和存儲空間的利用率。
10、試述關系數據庫的特點?
(1)以面向系統(tǒng)的觀點組織數據,使數據具有最小的冗余度,支持復雜的數據結構;
(2)具有高度的數據和程序的獨立性,應用程序與數據的邏輯結構及數據的物理存儲方式無關;
(3)由于數據具有共享性,使數據庫中的數據能為多個用戶服務;
(4)關系數據庫允許多個用戶同時訪問,同時提供了各種控制功能,保證數據的安全性、完整性和并發(fā)性控制。安全性控制可防止未經允許的用戶存取數據;完整性控制可保證數據的正確性、有效性和相容性;并發(fā)性控制可放置多用戶并發(fā)訪問數據時由于相互干擾而產生的數據不一致。
四、設計題
1、 設計一個學生——課程的數據庫,包含下列表關系:
學生關系(學號,姓名,性別,年齡,所在系)
課程關系(課程號,課程名,,學分)
選修關系(學號,課程號,成績)
試用E-R圖描述這個數據庫,要求在圖中表示聯系的類型(1:1,1:N,M:N);并且指出每個表關系的鍵碼。注:一個學生可以選修多門課,一門課可由多個學生選修,學生選課后有成績。
2、 用SQL語句定義上述表關系結構。
3、假定一個部門的數據庫包含下述信息。
職工的信息:職工號、姓名、地址和所在部門。
部門的信息:部門所在職工、經理和銷售的產品。
產品的信息:產品名、制造商、價格、型號及產品內部編號。
制造商的信息:制造商名稱、廠址、生產的產品名和價格。
試畫出這個數據庫的E-R圖,并注明屬性和聯系類型。
解:E-R圖如下
銷售ong
1
m
制造商
生產
職工
部門
產品
從屬ong
n
m
n
n
職工號
姓 名
地 址
部門名
經 理
產品名
產品內部編號
型 號
價 格
名 稱
地 址
4、將3題所得到的E-R圖轉換成關系模型,并給出各關系模式中的關鍵字。
職工(職工號、姓名、住址)。
部門(部門名、經理,職工號)。
產品(產品名、產品內部編號)。
制造商(制造商名稱、地址)。
生產(產品內部編號,制造商名稱,價格、型號)
5、學生管理的情況:一個系有若干名學生,一個學生只屬于一個系,一個系只有一名系主任,一個學生可以選修多門課程,一門課程可由多名學生選修,每個學生學了每門課程有一個成績,請設計一個數據庫模式(E-R圖,邏輯結構)。
解:E-R圖如下:
6、已知某企業(yè)各部門有許多職員,一個職員僅屬于一個部門;每個職員可在多項工程中做工或負責管理,每項工程可有多個職員參加.
其中,職工有:職工號,職工名;
部門有:部門號,部門名;
工程有:工程號,工程名;
每個職工參加某個工程有參加日期.
請完成如下設計或處理:
(1)據上述語義設計E—R模型,要求標注聯系類型,可省略屬性.(5分)
解:
(2)將E—R模型轉換成關系數據模型,并指出每一個關系的主鍵和外鍵(如果存在).(5分)
解:
五綜合題
1、設有如下三個基本表,表結構如下:
BORROWER(借書證號,姓名,系名,班級)
LOANS(借書證號,圖書登記號,借書日期)
BOOKS(索書號,書名,作者,圖書登記號,出版社,價格)
試用SQL語言進行查詢:
(1) 檢索借了5本書以上的學生的借書證號、姓名、系名和借書數量。
(2) 檢索借書和歐陽同學所借圖書中任意一本相同的學生的姓名、系名、書名和借書日期。
(3) 建立信息系學生借書的視圖SB,該視圖的屬性列由借書證號、姓名、班級、圖書登記號、書名、出版社和借書日期組成。
解:
1)select 借書證號,姓名,系名,count(*)
from borrow,loans
where borrow.借書證號=loans.借書證號
group by 借書證號
having count(*)>5
2)select 姓名、系名、書名和借書日期
from borrow,loans
where borrow.借書證號=loans.借書證號
and 圖書登記號 in
{select 圖書登記號
feom borrow,loans
where borrow.借書證號=loans.借書證號
and 姓名=歐陽}
3)creat view sb(借書證號、姓名、班級、圖書登記號、書名、出版社和借書日期)
as
select 借書證號、姓名、班級、圖書登記號、書名、出版社和借書日期
from borrow,loans
where borrow.借書證號=loans.借書證號 and loans.圖書登記號=books。圖書登記號
2、現有關系模式:教務(學號,課程號,成績,教師姓名,教師年齡,教師辦公室),其中,學號與課程號組成主鍵。請將其進行無損聯接分解,規(guī)范化至3NF。假設一門課程總是由一個教師講授,但一個教師可以教多門課程,教師可能重名。
3、上題所得到的結果關系模式,用SQL語言執(zhí)行下列操作。
①定義所得關系(表)結構。
②查詢年齡在30-35歲之間的教師所教課程的成績單。
③插入一條記錄:9607001號學員C12號課程成績?yōu)?0分。
④將教師張三的辦公室從“7-401”搬到“7-418”。
⑤停開(即刪除)選課人數不足5人的課程
4、假設有三個關系模式如下:
學生表:S(SNO,SNAME,SEX)
各屬性含義依次為學號、姓名和性別;
課程表:C(CNO,CNAME,CREDIT)
各屬性含義依次為課程號、課程名、學分;
學生選課表:SC(SNO,CNO,MARK)
各屬性含義依次為學號、課程號和成績。
基于以上關系模式回答36—39題。
1.試用SQL語句統(tǒng)計男生和女生的人數。
select sex,count(*) from s group by sex
2.試用SQL語句寫出下列查詢:
檢索出所有男生的姓名、所選課程號和成績。
select sname,c#,grade from s,sc where s.s#=sc.s# and sex=男
3.試用SQL語句實現下列查詢:
檢索出各門課程的學生平均成績(要求列出課程名稱和平均成績)。
SELECT C.CNAME,AVG(score) as 平均成績 FROM C,SC where C.CNO=SC.CNO GROUP BY SC.CNO
4.用關系代數表達式實現下列查詢:
檢索出沒有選修課程號為C3的所有學生姓名。
select sname from s where sno in (select sno from sc where cno not in (select cno from c where cno=c3))