2015年計算機三級《數據庫技術》練習題及答案
D.可以先在每個分區上分別建立一個不用指定大小的備份設備,然后將數據庫同時備份到這4個備份設備上
參考答案:C
參考解析:對于80GB的數據庫需分4個硬盤分區來存儲,可先在每個分區上分別建立一個備份設備,指定每個設備的大小為20GB,并建立一個包含這4個備份設備的備份媒體集,最后再用此備份媒體集備份數據庫。
2[單選題] 下列關于SQL Server 2008身份驗證模式的說法,錯誤的是( )。
A.在“Windows身份驗證模式”下,不允許sa登錄到SQL Server服務器
B.在“Windows身份驗證模式”下,所有Windows用戶都自動具有登錄到SQL Server服務器的權限
C.不管是哪種身份驗證模式,Windows中的Administrator無需授權就可登錄到SQL Server服務器
D.安裝好SQL Server之后,可以根據需要隨時更改身份驗證模式
參考答案:B
參考解析:在“Windows身份驗證模式”下,所有Windows用戶登陸到SQL Server服務器都無需再提供用戶名和密碼,但SQL Server會從用戶登錄到Windows時提供的用戶名和密碼查找當前用戶的信息,判斷其是否是SQL Server的合法用戶,不是,則拒絕登錄。
3[單選題] 設有工作表(工作編號,最低工資,最高工資),其中工作編號、最低工資和最高工資均為整型,工作編號為主碼。現要求最高工資必須大于等于最低工資,但不能超過最低工資的2倍。在SQL Server 2008環境中有下列創建該表的語句:
1.CREATE TABLE工作表(
工作編號int primary key,
最低工資int,
最高工資int check(最高工資between最低工資and最低工資*2)
)
Ⅱ.CREATE TABLE工作表(
工作編號int,
最低工資int,
最高工資int,
primary key(工作編號),
check(最高工資between最低工資and最低工資*2)
)
Ⅲ.CREATE TABLE工作表(
工作編號int primary key(工作編號),
最低工資int,
最高工資int,
check(最高工資between最低工資and最低工資*2)
)
Ⅳ.CREATE TABLE工作表(
工作編號int primary key(工作編號),
最低工資int,
最高工資int check(最高工資between最低工資and最低工資*2)
)
上述語句中正確的是( )。
A.僅Ⅰ和ⅡB.僅Ⅱ和ⅢC.僅Ⅲ和ⅣD.全部
參考答案:B
參考解析:當用CHECK進行約束條件限制時,若其只涉及對某一列的約束則可以放在該列后面,如果是約束條件中涉及兩列或兩列以上,則為對整個數據表的約束,放在表的最后面。
4[單選題] 下列關于分布式數據庫和并行數據庫的說法,正確的是( )。
A.為了滿足高并發業務的需要,共享內存結構的并行數據庫比較適用于如銀行出納、民航售票等OLTP應用
B.在分布式數據庫的查詢中,導致數據傳輸量大的主要原因是數據間的連接操作和選擇操作
C.如果數據分布不合理,并行數據庫僅僅依靠多處理器、共享硬件資源等手段是無法實現真正意義上的并行處理的,也無法使其性能最優化
D.與集中式數據庫系統的事務相比,分布式數據庫系統中只需要一個場地完成提交即可完成一個全局事務,這正是分布式數據庫的優越之處
參考答案:C
參考解析:A中的0LTP應用需要進行大量的并行事務,因此若采用共享內存結構會引起大量數據沖突;B中分布式數據庫查詢中,導致數據傳輸量大的原因主要是數據間的連接和并操作;D中分布式數據庫因為不同的分片和副本,因此很多時候在一個場地完成提交不能完成全局事務,如雖完成某片數據更新,卻并沒有完成全局數據更新。
5[單選題] 日志文件對實現數據庫系統故障的恢復有非常重要的作用。下列關于數據庫系統日志文件的說法,正確的是( )。
A.數據庫系統不要求日志的寫入順序必須與并行事務執行的時間次序一致
B.為了保證數據庫是可恢復的,必須嚴格保證先寫數據庫后寫日志
C.日志文件中檢查點記錄的主要作用是提高系統出現故障后的恢復效率
D.系統故障恢復必須使用日志文件以保證數據庫系統重啟時能正常恢復,事務故障恢復不一定需要使用日志文件
參考答案:C
參考解析:A日志寫入順序必須和并行事務執行的時間次序一致,因為這樣才能在數據庫恢復時進行red0和und0操作,從而保證數據的一致性而不會產生臟數據;B必須先寫日志再寫數據庫,這樣當數據庫發生故障時可以根據日志完全恢復,否則如果先寫數據,當數據剛寫完時,數據庫故障而沒來得及寫日志,導致數據恢復時發生錯誤。D事務恢復時同樣需要日志,如red0、und0操作。所以選C。
6[填空題] 當用戶在一個關系表的某一列上建立一個非聚集索引(該表沒有聚集索引)時,數據庫管理系統會自動為該索引維護一個索引結構。該索引結構中的記錄是由【2】和它相對應的指針構成的。
參考解析:對數據文件和它的一個特定的索引文件而言,如果數據文件中的數據記錄的排列順序與索引文件中索引項的排列順序相一致,或者說,索引文件按其索引列列值指定的順序與數據文件中的數據記錄的排列順序相一致,則該索引文件稱為聚集索引。否則,該索引文件稱為非聚集索引。
7[填空題] SQL Server中有五種約束類型,分別是主鍵約束、【3】、唯一性約束、缺省約束和檢查約束。
參考解析:SQL Server中有五種約束類型,分別是主鍵(PRIMARY KEY)約束、外鍵(FOREIGN KEY)約束、唯一(UNIQUE)約束、缺省(DEFAULT)約束和檢查(CHECK)約束。
8[填空題] 在SQL Server 2008中,每個數據頁可存儲8060字節的數據。設表T有10000行數據,每行占用4031字+節,則存儲該表數據大約需要【6】 MB存儲空間,其空問利用率大約是【7】%。(存儲空間和空間利用率均保留到整數,小數點后按四舍五入處理)
參考解析:
第一空:80
第二空:50
【解析】在SQL Server中,數據存儲的基本單位是頁。為數據庫中的數據文件(.mdf或.ndf)分配的磁盤空間可以從邏輯上劃分成頁(從0到n連續編號),磁盤I/O操作在頁級執行。也就是說,SQL Server讀取或寫入所有數據頁。在SQL Server中,頁的大小為8 KB,這意味著SQL Server數據庫中每MB有128頁,每頁的開頭是96字節的標頭,用于存儲有關頁的系統信息,此信息包括頁碼、頁類型、頁的可用空間以及擁有該頁的對象的分配單元ID。行不能跨頁,但是行的部分可以移出行所在的頁,因此行實際可能非常大。頁的單個行中的最大數據量和開銷是8,060字節,由于題目中2行數據加起來的存儲空間大于數據頁,所以每頁只能存儲一行,因為1M有128頁,也就可以存儲l28行,10000/128得80MB空間。至于空間利用率(實際存儲數據量/所占的存儲空間),考慮到每行4031字節為8060的一半,所以近似得到50%。
9[填空題] 【15】可以把兩個或多個SELECT語句的查詢結果組合成一個結果集,使用時要求所有SELECT語句的列數應相同,對應列的數據類型相容。
參考解析:UNION
UNION操作符用于合并兩個或多個SELECT語句的結果集。請注意,UNION內部的SELECT語句必須擁有相同數量的列,而且對應列的語義應該相同。列也必須擁有兼容的數據類型。同時,每條SE-LECT語句中的列的順序必須相同。
10[簡答題]設有某商業單位需要建立商務數據庫用以處理銷售記賬,它記錄的數據包括:顧客姓名,所在單位及電話號碼;商品名稱,型號,產地及單價;某顧客購買某商品的數量及日期。假定無同名顧客,無同型號商品,由話公用靦客可存不同日期買同一商品。
(1)請畫出該單位的商務ER圖模型并優化。
(2)將ER模型換成關系模型并規范化到3NF。
參考解析:
【解題思路】:
(1)ER圖的畫法
建立相應的ER圖的過程如下:
第一,確定實體類型。本題有兩個實體類型,即顧客實體和商品實體。
第二,確定聯系類型。該題中只有顧客一商品模型。
第三,把實體類型和聯系類型組合成ER圖。
第四,確定實體類型和聯系類型的屬性。
顧客實體集屬性:姓名、單位、電話號碼
商品實體集屬性:型號、名稱、產地、單價由顧客和商品兩個實體和一個顧客一商品購買關系,并且根據實體的屬性可以畫出相應ER圖。
(2)ER模型轉換為關系模式的規則
①把ER模型中的每一個實體集轉換為同名的關系,實體集的屬性就是關系的屬性,實體集的碼就是關系的碼。
②把ER模型中的每一個聯系轉換成一個關系,與該聯系相連的各實體集的碼以及聯系的屬性轉換為關系的屬性。關系的碼根據下列情況確定:
若聯系為1:1,則每個是實體集碼均是該關系的候選碼。
若聯系為1:n,則關系的碼為n端實體集的碼。
若聯系為m:n,則關系的碼為各實體集碼的組合。
③合并具有相同碼的關系。
根據規則,把一個ER模型轉換為關系模式,一般經歷下面兩個步驟:
1)標識ER模型中的聯系。
2)依次轉換與每個聯系相關聯的實體集及聯系。
本題中從ER模型轉換成關系模型,由兩個實體和一個關系分別可以轉換成三個關系模式。
【參考答案】
(1)ER模型如下所示:
(2)將ER模型轉換為關系模型,并規范到3NF:
顧客(姓名,單位,電話號碼),主鍵:姓名
商品(型號,名稱,單價,產地),主鍵:型號
購買(姓名,型號,數量,日期),主鍵:姓名+型號第10題 筆記記錄我的筆記(0) | 精選筆記(1)選擇筆記標簽:試題內容(1)答案解析(0)