- 相關推薦
2015全國計算機三級考試《數據庫技術》模擬試題(十)答案及解析
一、單選題
1.A【解析】數據庫應用系統邏輯設計階段工作內容分為三部分:數據庫邏輯結構設計、數據庫事務概要設計、應用程序概要設計。其中Ⅳ系統總體框架設計應該屬于數據庫概念設計。
2.B【解析】B項中數據庫概念設計的目標:定義和描述應用領域涉及的數據范圍;獲取應用領域或問題域的信息模型;描述清楚數據的屬性特征;描述清楚數據之間的關系;定義和描述數據的約束;說明數據的安全性要求;支持用戶的各種數據處理需求;保證信息模型方便地轉換成數據的邏輯結構(數據庫模式),同時也便于用戶理解。A項在數據庫概念設計階段,將具有相同屬性特征的同類對象抽象為實體集,然后用一個有意義的名詞或名詞短語為每一個實體集命名。C項數據庫物理設計階段的目標是設計一個存儲空間占用少、數據訪問率高和維護代價低的數據庫物理模式。D項物理模式評估中對數據庫物理設計結果從時間、空間和維護等方面進行評估,從多種可行方案中選擇合理的數據庫物理結構。綜上所述,B項錯誤。
3.B【解析】事務是并發控制的基本單位。所謂的事務,它是一個操作序列,這些操作要么都執行,要么都不執行,它是一個不可分割的工作單位。在數據庫應用系統設計中,事務的特性之一就是一致性,即在和用戶的交互過程中,保證數據的一致性。其他三項都是事務長時間和用戶交互帶來的壞處。當事務長時間和某個用戶進行交互時,導致其他用戶需要等待該事務結束以獲取資源,因此會在一定程度上降低了不同事務的并發度,同時因為長時問的交互導致資源被用戶占用的時間過長,將會增大死鎖的可能性,系統在執行檢查點操作時,所有的事務處理都被暫時中止,長時間的事務影響檢查點的效果。
4.A【解析】隨著數據庫的運行,數據庫中的數據會不斷改變,為了確保數據庫的正常運行,需要數據庫管理員對數據庫空間使用情況進行分析和預測。其中的重點是監控空間增長比較快的表,對這些表的監控就能達到對數據庫空間的增長的良好預測。當數據庫所在的空間已經不能滿足需求時,可以考慮將一些不再使用的數據轉移到其他存儲設備上。不同的數據庫管理系統有著不同的邏輯實現結構,因此數據庫空間管理辦法隨數據庫管理系統不同而不同。
5.C【解析】數據庫物理設計主要步驟包括:數據庫邏輯模式調整;文件組織與存取設計;數據分布設計;安全模式設計;確定系統配置;物理模式評估。其中將關系模式和相關視圖轉換為特定數據庫管理系統的可支持的表和視圖不屬于物理設計的范疇。
6.B【解析】SQL中的集合操作符IN、EXCEPT、INTERSECT和UNION的用法分別為:①IN,確定給定的值是否與子查詢或列表中的值相匹配,選擇與列表中的任意一個值匹配的行;②EXCEPT,指在第一個集合中存在,但是不存在于第二個集合中的數據;③INTERsECT,是指在兩個集合中都存在的數據;④UNION.操作符用于合并兩個或多個SELECT語句的結果集,對于UNION操作符,請注意,UNION內部的SELECT語句必須擁有相同數量的列。列也必須擁有相似的數據類型。同時,每條SELECT語句中的列的順序必須相同。要返回A和B相同的商品,則選項I中先查出B購買的商品號,并且使用IN操作符,查出A購買的商品號且該商品號同時也在B購買的商品號結果集中,即滿足了A和B都購買的商品號,符合要求。選項Ⅱ中的EXCEPT操作符使得查詢出的結果為A購買的商品減去B購買的商品,不符合要求。選項Ⅲ的IN.TERSECT操作符表示兩個結果集都存在的商品號,即既屬于A又屬于B的商品號,符合要求。選項Ⅳ中的UNION操作符表示兩個結果集的合并,即包括A購買的商品也包括B購買的商品,不符合要求。
7.B【解析】從功能上講,數據庫應用系統設計包括下列四個層次:①表示層,位于最外層,離用戶最近,用于顯示數據和接受用戶輸入的數據;②業務邏輯層,表示層和數據訪問層之間通信的橋梁,主要負數據的傳遞和處理,例如數據有效性的檢驗、業務邏輯描述相關功能。業務邏輯層概要設計包括:結構、行為、數據接口、故障處理、安全設計、系統維護與保障等方面的內容。③數據訪問層,主要實現對數據的保存和讀取操作;④數據持久層。由上述可知,業務邏輯層的主要任務是梳理DBAS的各項業務活動,將其表示為各種系統構件(如類、模塊、組件等),因此構件設計屬于業務邏輯層。
8.A【解析】數據庫選用中該注意考慮應用系統的可用性、可靠性和連續性要求、數據庫環境,如操作系統要求等。在存在大數據的情況下,還應該考慮到數據庫對大數據的處理能力。雖然關系數據庫均采用比較統一的SQL語句對數據庫中的數據進行維護,但是不同的數據庫產品提供不同的應用程序接口,因此在更換數據庫產品后,一般原有的應用程序和數據庫的接口會失效,需要重新修改應用程序。
9.D【解析】分布式數據要達到的目標是:本地自治、非集中式管理、高可用性、位置獨立性、數據分片獨立性、數據復制獨立性、分布式查詢處理、分布式事務管理、硬件獨立性、操作系統獨立性、網絡獨立性、數據庫管理系統獨立性。并行數據庫的目標是高性能和高可用性,通過多個處理節點并行執行數據庫任務,提高整個數據庫系統的性能和可用性。
10.C【解析】UML類圖中一對多的關系用1:*表示,ER圖的一對多的關系用1:m表示。ER圖中的關系寫在UML類圖相對應的一邊,即原來的關系(3,6)和(10,50)分別對應原來的UML中的學生與課程的關系和課程與學生的關系。
11.A【解析】聚類將一個數據集中的數據進行分組,使得每一組內的數據盡可能相似,而不同組問的數據盡可能的不同。它與分類的一個不同點在于,它強調同一個組中的對象有較高的相似度,不同組中的對象之間差別很大。分類和聚類的區別在于,分類事先知道有哪些類別可以分。聚類事先不知道將要分成哪些類,需有聚類算法來自動確定。綜上可知,算法A屬于聚類算法。
12.C【解析】范圍劃分明顯有利于范圍查詢和點查詢,s包含數據比較少,適合對s采用復制的方法。
13.B【解析】包含INTO子句的SELECT語句的語法格式為:SELECT查詢列表序列INTO<新表名>FROM數據源。
14.A【解析】數據庫系統實施活動包括創建數據庫、裝載數據、應用程序的編碼和調試以及數據庫的試運行。其中Ⅰ項屬于定義數據庫結構,Ⅱ項屬于應用程序的編碼和調試,Ⅵ項屬于數據庫的試運行。
15.C【解析】數據庫性能優化和數據庫的外部環境有很大關系,例如在網絡帶寬過窄的情況下導致數據庫速度訪問緩慢時,則單獨對數據庫本身優化無法取得很好的效果;物化視圖是預先計算并保存表連接或聚集等耗時較多的操作結果,這樣,在執行查詢時大大提高了讀取速度。物化視圖有很多方面和索引很相似:使用物化視圖的目的是為了提高查詢性能;物化視圖對應用透明,增加和刪除物化視圖不會影響應用程序中SQL語句的正確性和有效性,物化視圖需要占用存儲空間,當基表發生變化時,物化視圖可以手動刷新也可以定時自動刷新;存儲過程是相當于加載到數據庫上的模塊,因此再次運行時不用重新編譯,但其與數據庫管理系統綁定,因此如果在更改數據庫管理系統時,需要重新綁定存儲過程。在數據庫性能優化期間有可能改動原有的符合范式。
16.B【解析】數據分配方式有四種:①集中式,所有數據片段都安排在同一個場地上;②分割式,所有數據只有一份,它被分割成若干邏輯片段,每個邏輯片段被指派在一個特定的場地上;③全復制式:數據在每個場地重復存儲。也就是每個場地上都有一個完整的數據副本;④混合式:全局數據被分為若干個數據子集,每個子集都被安排在一個或多個不同的場地上,但是每個場地未必保存所有數據。這是一種介乎于分割式和全復制式之間的分配方式。
17.C【解析】0DS(Operational Data Store)是數據倉庫體系結構中的一個可選部分,ODS具備數據倉庫的部分特征和OLTP系統的部分特征,它是“面向主題的、集成的、當前或接近當前的、不斷變化的”數據。第一類ODS數據更新頻率是秒級,第二類ODS的數據更新頻率是小時級,第三類ODS的數據更新頻率是天級,上述三類是根據數據更新的速度劃分的,ODSIV:第四類ODS是根據數據來源方向和類型劃分的。
18.A【解析】數據庫的完整性是指數據庫中數據的正確性、一致性和相容性。觸發器是SQL server提供給程序員和數據分析員來保證數據完整性的一種方法,它是與表事件相關的特殊的存儲過程,觸發器經常用于加強數據的完整性約束和業務規則等。事務是以可控的方式對數據資源進行訪問的一組操作,事務的隔離性使得事務之間的交互程度有著嚴格的定義,保護了數據的完整性。Ⅲ中數字簽名是用于數據防篡改,Ⅳ定義主碼是用于實體的完整性。
19.A【解析】在UML模型中,協作圖主要用于描述對象在空間中如何交互,即除了動態交互,它也直接描述了對象如何鏈接在一起的情形。狀態圖主要用于描述一個對象在其生存期間的動態行為,表現為一個對象所經歷的狀態序列,引起狀態轉移的事件,以及因狀態轉移而伴隨的動作。一般可以用狀態機對一個對象的生命周期建模,狀態圖用于顯示狀態機,重點在與描述狀態圖的控制流。順序圖主要用于描述指定的一組對象是如何交互的,它著眼于消息隊列,也就是在消息間如何發送和接收信息。部署圖描述的是系統運行時的結構,展示了硬件的配置及其軟件如何部署到網絡結構中。一個系統模型只有一個部署圖,部署圖通常用來幫助理解分布式系統。
20.D【解析】數據庫管理員的職責有:①數據庫的轉儲和恢復;②數據庫安全性、完整性控制;③數據庫性能的檢測和改善;④數據庫的重組和重構。
21.C【解析】前三句賦予用戶U1對T表INSERT,UPDATE,DELETE的權限,第四句拒絕UPDATE權限。所以用戶的操作權限是INSERT,SELECT,DELETE。
22.D【解析】觸發器是一種特殊的存儲過程,其特殊性在于它不需要用戶來調用,而是當用戶對表中的數據進行UPDATE、INSERT和DELETE操作時自動觸發執行。觸發器通常用于保證業務規則和數據完整性,其主要優點是用戶可以用編程的方法來實現復雜的處理邏輯和業務規則,增強了數據完整性約束的功能。
23.C【解析】聚集文件是一種具有多種記錄類型的文件,它存儲了來自多個關系表的數據,每個關系表對應文件中的一種記錄類型。聚集文件將不同關系表中有關聯的記錄存儲在同一磁盤塊內,從而減少數據庫多表查詢操作時的磁盤訪問次數,提高系統I/O速度和查找處理速度。該題中用戶頻繁對兩個表進行關聯查詢,符合聚集文件的特性,因此采用聚集文件能有效提高查詢效率。
24.C【解析】每個游標都有一個當前行指針,當游標打開后,當前行指針自動指向結果集的第一行數據,INSENSITIVE關鍵字用以創建由該游標使用的數據的臨時復本。對游標的所有請求都從tempdb中的該臨時表中得到應答。因此,在對該游標進行提取操作時,返回的數據中不反映對基表所做的修改,并且該游標不允許修改。使用SQL-92語法時,如果省略INSENSITIVE,任何用戶對基表提交的刪除和更新都反映在后面的提取中。當“@@FETCH_STATUS=0”時,表示的含義是FETCH語句成功;“@@FETCH_STATUS=-1”時,FETCH語句失敗或行不在結果集中;“@@FETCH_STATUS=-2”時,提取的行不存在;關閉游標之后,可以通過OPEN語句再次打開該游標。
25.B【解析】從數據庫中查出沒有選課的學生姓名和所在系,則在學生表中查出選課表中沒有的學生即可。在這里采用LEFT JOIN來連接查詢。并且要求選課表中的學生學號為NULL。
26.C 【解析】完整備份是將數據庫的全部內容均備份下來;差異備份是備份數據庫相對最近的完全備份之后對數據庫的修改部分;日志備份是備份自前一次備份之后的日志內容。第一次數據庫備份要求是完整備份,日志備份不能還原數據庫物理損壞的情況。每個事務日志備份的序列都必須在執行完整備份或差異備份之后啟動,所以C錯。
27.C【解析】數據庫鏡像是一種簡單的策略,具有下列優點:①增強數據保護功能。數據庫鏡像提供完整或接近完整的數據冗余,具體取決于運行模式是高安全性模式還是高性能模式;②提高數據庫的可用性。發生災難時,在具有自動故障轉移功能的高安全性模式下,自動故障轉移可快速使數據庫的備用副本在線(而不會丟失數據)。在其他運行模式下,數據庫管理員可以選擇強制服務(可能丟失數據),以替代數據庫的備用副本;③提高生產數據庫在升級期間的可用性。因為數據庫鏡像技術需要額外存放數據的空間,所以會增加應用成本。
28.D【解析】內聯表值函數的返回值是一個表,該表的內容是一個查詢語句的結果;內聯表值函數的使用與視圖非常相似,需要放在查詢語句的FROM子句中,作用很像是帶參數的視圖;內聯表值函數通過SELECT語句填充函數返回的表值。
29.A【解析】對于經常在其上需要執行查詢操作并且數據量很大的表,可以考慮建立索引;對于經常出現在where子句、order by子句和group by子句中的屬性就可以考慮使用索引;對于前后都是%的列查詢不會訪問索引,因此不適合建立索引。
30.A【解析】公共云指的是云以即用即付的方式提供給公眾。私有云是指不對公眾開放的企業或組織內部數據中心的資源。
二、應用題
1.第一空:元元模型層
第二空:用戶模型層
【解析】UML語義的四層建模概念框架分別是:元元模型層、元模型層、模型層和用戶模型層。
2.聚集
【解析】在UML中,聚集是一種特殊形式的關聯,它表示類之間是整體與部分的關系。
3.數據吞吐量
【解析】數據庫吞吐量指的是系統在單位時間可以完成的數據庫事務數量。
4.正確
【解析】兩段鎖協議是指所有事務必須分兩個階段對數據項加鎖和解鎖:①在對任何數據進行讀、寫操作之前,要申請并獲得對該數據的封鎖;②每個事務中,所有的封鎖請求先于所有的解鎖請求。加鎖協議中兩階段加鎖協議主要是為了防止事務間的相互干擾,進而保證事務調度的正確性。
5.輪轉法
【解析】并行數據庫中一維數據的劃分方法如下:
(1)輪轉法:最適合于掃描整個關系;
(2)散列劃分法:比轉轉法更適合點查詢,也適合順序掃描關系;
(3)范圍劃分法:明顯利于范圍查詢和點查詢。
6.DELETED表
【解析】在SQL Server 2008中,對于更新操作的觸發器,系統將產生兩張邏輯工作表,即DELETED表和INSERTED表。DELETED表用于存儲更新前數據,INSERTED用于更新后的數據。
7.Bigtable
【解析】Google的云數據庫是一個分布式的結構化數據存儲系統,稱為Bigtable。
8.292
【解析】RAID5是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。它把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,并且奇偶校驗信息和相對應的數據分別存儲于不同的磁盤上,其中任意N-1塊磁盤都存儲完整的數據,也就是說有相當于一塊磁盤容量的空間用于存儲奇偶校驗信息。即當RAID5的一個磁盤發生損壞后,不會影響數據的完整性,從而保證了數據安全。當損壞的磁盤被替換后,RAID還會自動利用剩下的奇偶校驗信息去重建此磁盤上的數據,來保持RAID5的高可靠性。做RAID5陣列所有磁盤容量必須一樣大,當容量不同時,會以最小的容量為準,最好硬盤轉速一樣,否則會影響性能,而且可用空間=磁盤數n-1,其中有一塊專門用作校驗,在存儲數據的時候,校驗盤里面不會被存人數據。因此RAID5的磁盤容量為硬盤總數-1.,即3塊146G的硬盤的有效磁盤空問為2×146=292GB。
9.數據準備
【解析】知識發現指的是從數據集中識別出有效的、新穎的、潛在有用的以及最終可理解的模式的非平凡過程。知識發現將信息變為知識,從數據礦山中找到蘊藏的知識金塊,將為知識創新和知識經濟的發展作出貢獻,也是所謂“數據挖掘”的一種更廣義的說法。知識發現過程由以下三個階段組成:數據準備、數據挖掘、結果的解釋評估。
10.主
【解析】每個數據庫有一個主數據文件和若干個從文件。文件是數據庫的物理體現。文件組可以包括分布在多個邏輯分區的文件,從而實現負載平衡,它允許對文件進行分組,以便于管理和數據的分配及放置。主文件組包含主要數據文件和任何沒有明確指派給其他文件組的其他文件。
11.位置
【解析】分布式數據庫系統按不同層次提供的分布透明性有:①分片透明性;②位置透明性;③局部映像透明性。位置透明性是指數據分片的分配位置對用戶是透明的,用戶編寫程序時只需要考慮數據分片情況,不需要了解各分片在各個場地的分配隋況。
12.數據塊
【解析】日志文件是用來記錄事務對數據庫的更新操作的文件。不同數據庫系統采用的日文件格式并不完全一樣。概括起來H志文件主要有兩種格式:以記錄為單位的日志文件和以數據塊為單位的日志文件。
13.UNION
【解析]SQL中的集合操作符IN、EXCEPT、INTERSECT和UNION的用法分別為:①IN,確定給定的值是否與子查詢或列表中的值相匹配,使其得以選擇與列表中的任意一個值匹配的行;②EXCEPT,指在第一個集合中存在、但是不存在于第二個集合中的數據;③INTERSECT,是指在兩個集合中都存在的數據;④U_NION,操作符用于合并兩個或多個SELECT語句的結果集,對于UNION操作符,請注意,UNION內部的SE_LECT語句必須擁有相同數量的列,列也必須擁有相似的數據類型。SQL的UNION子句語法是合并兩個或多個查詢語句的結果集,并且自動刪除合并后結果集中的重復記錄。
14.DROP FUNCTION
【解析】刪除用戶定義的函數的T-SQL語法的格式為:
DROP FUNCTION{[schema_name.]function_
name}[,…n]。
三、設計與應用題
1.【解題思路】
(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:
顧客(姓名,單位,電話號碼),主鍵:姓名
商品(型號,名稱,單價,產地),主鍵:型號
購買(姓名,型號,數量,日期),主鍵:姓名+型號
2.【解題思路】
(1)采用兩表聯合查詢。以兩表“借書證號”為相等條件,在結果集中用GROUP BY按照“借書證號”來分類,并且用HAVING關鍵字統計出符合條件的記錄數。
(2)采用IN關鍵字進行兩表聯合查詢,在BORROWER和LOANS聯合的結果集中查找滿足第三個表指定的條件。
【參考答案】
(1)SELECT LOANS.借書證號,姓名,系名,COUNT(*)As借書數量
FROM BORROWER,LOANS
WHERE BORROWER.借書證號=LOANS.借書證號
GROUP BY LOANS.借書證號
HAVING COUNT(*)>=5;
(2)SELECT姓名,系名,書名,借書日期
FROM BORROWER,LOANS,BOOKS
WHERE
BORROWER.借書證號=LOANS.借書證號AND LOANS.圖書登記號=BOOKS.圖書登記號
AND索書號IN
(
SELECT索書號FROM BORROWER,LOANS,BOOKS
WHERE BORROW.借書證號=LOANS.借書證號
AND LOANS.圖書館登記號=BOOKS.圖書登記號
AND姓名=”王麗”
)
3.【解題思路】
創建觸發器的SQL語句為:CREATE TRIGGER,其語法格式為:
CREATE TRIGGER[schema_name.]trigger_name
ON{tableIview}
{FOR l AlZl'ER I INSTEAD OF}
{[INSERT][,][DELETE][,][UPDATE]}
AS{sql_statement}
[;]
其中AFFER指定觸發器為后觸發型觸發器,INSERT,UPDATE和DELETE為指定引發觸發器執行的操作。根據原題要求,insert觸發器會在inserted表中添加一條剛插入的記錄,update觸發器會在更新數據后將更新前的數據保存在deleted表中,更新后的數據保存在inserted表中。在教師表中插入或者更新的時候,都會在inserted表中增加一條記錄,所以只需在觸發器查詢inserted表中查詢有沒有“教授”或者“副教授”的記錄,如果有,則觸發修改相應部門的高級職稱人數即可。
【參考答案】
CREATE TRIGGER tri_ZC
ON教師表
AL TER INSERT,UPDATE
AS
BEGIN
DECLATE@ZC varchar(10),@dept varchar(30)
SELECT@dept=所在部門號,@2c=職稱FROM inserted
IF@ZC=’教授’0r’副教授7
Update部門表
SET高級職稱人數=高級職稱人數+1
Where部門號=@dept
End
【全國計算機三級考試《數據庫技術》模擬試題十答案及解析】相關文章:
2015全國計算機三級考試《數據庫技術》模擬試題(二)答案及解析10-12
2015全國計算機三級考試《數據庫技術》模擬試題(八)答案及解析03-21
2015全國計算機三級考試《數據庫技術》模擬試題(一)答案及解析09-11
2015全國計算機三級考試《數據庫技術》模擬試題(三)答案及解析08-08
2015全國計算機三級考試《數據庫技術》模擬試題(七)答案及解析10-19
2015全國計算機三級考試《數據庫技術》模擬試題(九)答案及解析08-18
2015全國計算機三級考試《數據庫技術》模擬試題(二)10-10
2015全國計算機三級考試《數據庫技術》模擬試題(七)05-12
計算機三級考試《數據庫技術》試題及答案11-27
計算機三級網絡技術考試模擬試題及答案07-14