欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

試題

下半年計算機三級《數(shù)據(jù)庫》考前模擬試題二答案及解析

時間:2025-03-28 17:42:20 試題 我要投稿
  • 相關推薦

2015下半年計算機三級《數(shù)據(jù)庫》考前模擬試題(二)答案及解析

  一、單選題

2015下半年計算機三級《數(shù)據(jù)庫》考前模擬試題(二)答案及解析

  1.B【解析】數(shù)據(jù)模型三個要素包括:

 、贁(shù)據(jù)結構

  數(shù)據(jù)結構是所研究的對象類型的集合。它從語法角度表述了客觀世界中數(shù)據(jù)對象本身的結構和數(shù)據(jù)對象之間的關聯(lián)關系,是對系統(tǒng)靜態(tài)特征的描述。

  ②數(shù)據(jù)操作

  數(shù)據(jù)操作是對數(shù)據(jù)庫中對象的實例允許執(zhí)行的操作的集合,主要指檢索和更新(插入、刪除、修改)兩類操作。數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號、操作規(guī)則(如優(yōu)先級)以及實現(xiàn)操作的語言。數(shù)據(jù)操作是對系統(tǒng)動態(tài)特性的描述。

 、蹟(shù)據(jù)完整性約束

  數(shù)據(jù)完整性約束是一組完整性規(guī)則的集合,規(guī)定數(shù)據(jù)庫狀態(tài)及狀態(tài)變化所應滿足的條件,以保證數(shù)據(jù)的正確性、有效性和相容性。

  2.D【解析】數(shù)據(jù)庫三級模式結構:

 、賰饶J揭卜Q存儲模式或物理模式,它是數(shù)據(jù)物理結構和存儲結構的描述,是數(shù)據(jù)在數(shù)據(jù)庫內部的表示方式。并且一個數(shù)據(jù)庫只有一個內模式。

 、谀J揭卜Q邏輯模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結構和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。它是數(shù)據(jù)庫系統(tǒng)模式結構的中間層,不涉及數(shù)據(jù)的物理存儲細節(jié)和硬件環(huán)境,與具體的應用和所使用的開發(fā)工具及高級程序設計語言無關。

 、弁饽J揭卜Q子模式或用戶模式,它是數(shù)據(jù)庫用戶(包括應用程序員和最終用戶)看見和使用的局部數(shù)據(jù)的邏輯結構和特征的描述,是數(shù)據(jù)庫用戶的視圖,是與某一應用有關的數(shù)據(jù)的邏輯表示。外模式是模式的子集,一個數(shù)據(jù)庫可以有多個外模式。

  數(shù)據(jù)庫系統(tǒng)的三級模式結構是指數(shù)據(jù)庫由外模式、模式和內模式三級構成,并通過二級映象功能將三個模式聯(lián)系起來。

  3.C【解析】數(shù)據(jù)流圖(Data Flow Diagram,簡稱DFD)是便于用戶理解系統(tǒng)數(shù)據(jù)流程的圖形表示。DFD建模方法的核心是數(shù)據(jù)流,它能精確地在邏輯上描述系統(tǒng)的功能、輸入、輸出和數(shù)據(jù)存儲等,從而擺脫了其物理內容。數(shù)據(jù)流圖是系統(tǒng)邏輯模型的重要組成部分。

  DFD特性:

 、俪橄笮裕涸贒FD中具體的組織機構、工作場所、物質流等都已經(jīng)去掉,只剩下信息和數(shù)據(jù)存儲、流動、使用以及加工的情況。所以描述的是抽象出來的數(shù)據(jù)。

 、诟爬ㄐ裕核严到y(tǒng)對各種業(yè)務的處理過程聯(lián)系起來考慮,形成—個總體,可反映出數(shù)據(jù)流之間的概括隋況。

  4.A【解析】如果關系模式R中不包含多值屬性,則R滿足第一范式,簡稱1NF,記作RClNF。易知此題中RClNF,且R的所有非主屬性不依賴于一個候選碼,候選碼(A、C)→(B、D)存在非主屬性對主碼的部分函數(shù)依賴,故不滿足2NF,所以R最高clNF。此題選A。

  5.C【解析】邏輯設計的主要工作是將現(xiàn)實世界的概念數(shù)據(jù)模型設計成數(shù)據(jù)庫的一種邏輯模式,即適應于某種特定數(shù)據(jù)庫管理系統(tǒng)所支持的邏輯數(shù)據(jù)模式。與此同時,可能還需為各種數(shù)據(jù)處理應用領域產(chǎn)生相應的邏輯子模式,這一步設計的結果就是所謂的“邏輯數(shù)據(jù)庫”。ER圖到關系模式的轉換和定義數(shù)據(jù)的約束條件都是在邏輯設計層面上的操作,設計ER圖是概念設計階段的產(chǎn)物。

  6.D【解析】數(shù)據(jù)庫應用系統(tǒng)設計的四個層次分別為:①表示層;②業(yè)務邏輯層;③數(shù)據(jù)訪問層;④數(shù)據(jù)持久層。在這四個層次中,數(shù)據(jù)持久層的設計工作屬于數(shù)據(jù)組織與存儲等方面的物理設計內容,而索引設計屬于物理設計階段。因此,索引設計是在數(shù)據(jù)持久層上的設計。

  7.B【解析】數(shù)據(jù)庫物理設計階段活動包括:①數(shù)據(jù)庫邏輯模式;②選擇或配置基本關系表的文件組織形式,為基本關系表設計數(shù)據(jù)存取方法或存取路徑;③數(shù)據(jù)分布設計;④安全模式設計;⑤確定系統(tǒng)配置;⑥物理模式評估。

  8.B【解析】查詢處理器中最主要的模塊是查詢編譯器和查詢執(zhí)行器,負責DML語句解析和執(zhí)行,因此B項中所闡述的不是存儲管理器的功能,應該是查詢處理器的功能。

  9.D【解析】在UML類圖中,常見的有以下幾種關系:①泛化(【箭頭及指向】:帶三角箭頭的實線,箭頭指向父類);②實現(xiàn)(【箭頭及指向】:帶三角箭頭的虛線,箭頭指向接口);③關聯(lián)(【箭頭及指向】:帶普通箭頭的實心線,指向被擁有者);④聚合(【箭頭及指向】:帶空心菱形的實心線,菱形指向整體);⑤組合(【箭頭及指向】:帶實心菱形的實線,菱形指向整體);⑥依賴(【箭頭及指向】:帶箭頭的虛線,指向被使用者)。D選項是屬于組合關系,因此實心菱形的箭頭應該指向“窗體”,即實心菱形應該標在窗體旁邊。

  10.A【解析】Ⅲ選項中INTERSECT返回兩個集合皆有的數(shù)據(jù),該SQL語句返回顧客A和B都購買的商品號,不符合題意;lV選項中的UNION查詢出了顧客A購買的商品,通過UNION關鍵字合并了顧客B沒有購買的商品,因此總的視圖為顧客A購買的商品和B沒有購買的商品總和,不符合要求。Ⅰ、Ⅱ實現(xiàn)的是顧客A購買商品集合與顧客B購買商品集合的差集。因此滿足要求的為l和Ⅱ,答案為A。

  11.C【解析】由題目存儲過程可知,存儲過程Pl定義了兩個帶有默認值的參數(shù)。執(zhí)行多個輸入?yún)?shù)的存儲過程時,參數(shù)的傳遞方式有兩種:按照參數(shù)位置傳遞值和按參數(shù)名稱傳遞值。如果定義了默認值,則在執(zhí)行存儲過程時可以不必指定該參數(shù)的值。但若按照參數(shù)位置傳遞值時必須從左往右賦值,即不能跳過左邊的某個默認參數(shù)而傳遞某個值。Ⅱ中的參數(shù)賦值采用按參數(shù)位置傳值,必須從左到右賦值。其他三項均符合存儲過程的調用規(guī)則。

  12.C【解析】用FOR關鍵字定義的觸發(fā)器為后觸發(fā)型觸發(fā)器,即只有在引發(fā)觸發(fā)器執(zhí)行的語句中指定的操作都已成功執(zhí)行,并且所有的約束檢查也成功完成后才執(zhí)行觸發(fā)器。其中INSERTED表用于存儲INSERT和UPDATE語句所影響行的新值的副本,DELETED表用于存儲DELETE和UPDATE語句所影響行的舊值的副本。在執(zhí)行“UPDATE T SET b=100 WHERE a=ˊa01ˊ”之后,T表為:(ˊa01ˊ,100),INSERTED表內容變?yōu)椋?ˊa01 ˊ,100),DELETED表內容變?yōu)椋?ˊa01 ˊ,90)。繼續(xù)判斷約束檢查“SELECT*FROM inserted

  WHERE b not between o and l00”,因為INSERTED表中的b等于l00,因此約束不成立,故觸發(fā)器不執(zhí)行。

  13.C 【解析】創(chuàng)建索引視圖的步驟:①使用SCHEMABINDING子句來創(chuàng)建一個視圖。這個視圖必須符合許多要求,例如,它只能引用同一數(shù)據(jù)庫中的基表,而不能是其它標準視圖。所有引用的函數(shù)必須是確定性的,行集函數(shù)、派生表和子查詢都不能在索引視圖中使用;②在視圖上創(chuàng)建一個惟一索引。這個索引的葉子級由視圖的完整結果集組成;③在聚集索引的基礎上根據(jù)需求創(chuàng)建非聚集索引。非聚集索引可以按平常的方式創(chuàng)建;④創(chuàng)建并使用索引視圖。

  14.D【解析】在SQL Server 2008中,ALTER DATABASE命令中的FILENAME對應的代碼需要帶上單引號,因此選項A和選項B錯誤。FILEGROWTH如果加上%則為百分比,如果省略%,數(shù)據(jù)庫系統(tǒng)則默認采用增加單位是MB,因此選項A和選項C錯誤。故選D。

  15.C【解析】索引視圖可以提高下列查詢類型的性能:①處理大量行的聯(lián)接和聚合;②許多杏詢經(jīng)常執(zhí)行聯(lián)接和聚合操作;③決策支持工作負荷。索引視圖通常不會提高下列查詢類型的性能:①具有大量寫操作的OLTP系統(tǒng);②具有大量更新的數(shù)據(jù)庫;③不涉及聚合或聯(lián)接的查詢;@GROUP BY鍵具有高基數(shù)度的數(shù)據(jù)聚合。高基數(shù)度表示列包含許多不同的值。當GROUP BY后跟的列值包含許多不同的值,導致視圖圖和表的行數(shù)相等,那么該列使用索引視圖并不能提高查詢效率。

  16.C 【解析】所有的數(shù)據(jù)庫用戶不是繼承數(shù)據(jù)庫中guest用戶的權限。

  17.B【解析】在“Windows身份驗證模式”下,所有Windows用戶登陸到SQL Server服務器都無需再提供用戶名和密碼,但SQL Server會從用戶登錄到Windows時提供的用戶名和密碼查找當前用戶的信息,判斷其是否是SQL Server的合法用戶,不是,則拒絕登錄。

  18.C【解析】數(shù)據(jù)庫關于鎖的優(yōu)化原則為:鎖是并行處理的重要機制,能保持數(shù)據(jù)并發(fā)的一致性,即按事務進行處理。系統(tǒng)利用鎖保證數(shù)據(jù)的完整性。雖然我們避免不了死鎖,但在設計時可以充分考慮如何避免長事務,減少排它鎖時間,減少事務與用戶的交互時間,杜絕讓用戶長時間控制事務,還要避免批量數(shù)據(jù)同時執(zhí)行,尤其是耗時長并使用相同的數(shù)據(jù)表。Ⅰ中采用排他鎖則限制了數(shù)據(jù)的共享,降低了并發(fā)度,其他選項均能提高并發(fā)度。

  19.D【解析】數(shù)據(jù)庫應用系統(tǒng)日常維護工作一般包括數(shù)據(jù)庫的備份、鎖管理、日志的維護等。若是對運行要求級別較高的數(shù)據(jù)庫采用人工監(jiān)控的辦法,則容錯性低、成本大,因而一般采用自動監(jiān)控手段提高性能。

  20.B【解析】數(shù)據(jù)庫維護的主要內容有以下幾方面:①數(shù)據(jù)庫的轉儲和恢復;②數(shù)據(jù)庫安全性、完整性控制;③數(shù)據(jù)庫性能的檢測和改善;④數(shù)據(jù)庫的重組和重構。Ⅳ選項不屬于數(shù)據(jù)庫維護工作。

  21.B【解析】增強硬件配置是一種方法,但我們平時遇到的最多的問題是如何在無法增強硬件配置的情況下將數(shù)據(jù)庫性能優(yōu)化,因此在實際應用過程中,數(shù)據(jù)庫本身的優(yōu)化占的比重很大,而且優(yōu)化效果也最明顯。

  22.B【解析】A中在調試應用程序時,如果數(shù)據(jù)入庫尚未完成,數(shù)據(jù)庫沒有數(shù)據(jù),應用程序的調試將會出現(xiàn)一定的困難;C項中數(shù)據(jù)庫重構應該盡量避免應用程序的改動;D項中經(jīng)常查詢的列應該建立索引。

  23.B【解析】Raid5需要3塊硬盤,并把數(shù)據(jù)和相對應的奇偶校驗信息存儲到組成raid5的各個磁盤上。其中任意N一1塊磁盤上都存儲完整的數(shù)據(jù),也就是說有相當于一塊磁盤容量的空間用于存儲奇偶校驗信息。因此可用空間為300+300=600G。

  24.C【解析】因為3點進行了數(shù)據(jù)庫全備份,而日志又保存在另一個磁盤中,且存放日志的磁盤未損壞。因此在故障發(fā)生時,先對結尾日志備份,然后依次使用數(shù)據(jù)庫全備份、日志備份和結尾日志備份,可以將數(shù)據(jù)庫數(shù)據(jù)恢復到10點30分的狀態(tài)。

  25.D【解析】數(shù)據(jù)庫的恢復順序如下:①恢復最近的完全數(shù)據(jù)庫備份;②恢復完全備份之后的最近的差異數(shù)據(jù)庫備份;③按日志備份的先后順序恢復自最近的完全或差異數(shù)據(jù)庫備份之后的所有日志備份。

  26.A【解析】XML數(shù)據(jù)庫需要對XML文檔進行解析,因為XML文檔的本身標記只是文檔本身的描述,需要經(jīng)過數(shù)據(jù)庫的解析才能達到具體的用途。

  27.C【解析】集中式是指所有的數(shù)據(jù)片斷都安排在一個場地上。分割式是指所有全局數(shù)據(jù)只有一份,它們被分割成若干片斷,每個片斷被分配在一個特定的場地上。全復制式是指全局數(shù)據(jù)有多個副本,每個場地上都有一個完整的數(shù)據(jù)副本。混合式是指全局數(shù)據(jù)被分為若干個數(shù)據(jù)子集,每個子集都被安排在一個或多個場地上,但是每個場地未必保存所有數(shù)據(jù)。以上四種分配方式各有千秋,但復制式在每個分場都有完整的的數(shù)據(jù),這樣大大減少了各部門對全局數(shù)據(jù)的訪問。因此采用復制式數(shù)據(jù)分配能夠提高每個場地的響應速度。

  28.C【解析】A中的0LTP應用需要進行大量的并行事務,因此若采用共享內存結構會引起大量數(shù)據(jù)沖突;B中分布式數(shù)據(jù)庫查詢中,導致數(shù)據(jù)傳輸量大的原因主要是數(shù)據(jù)間的連接和并操作;D中分布式數(shù)據(jù)庫因為不同的分片和副本,因此很多時候在一個場地完成提交不能完成全局事務,如雖完成某片數(shù)據(jù)更新,卻并沒有完成全局數(shù)據(jù)更新。

  29.C【解析】元數(shù)據(jù)是關于數(shù)據(jù)的數(shù)據(jù),或者叫做描述數(shù)據(jù)的數(shù)據(jù)。元數(shù)據(jù)描述了數(shù)據(jù)的結構、內容、鏈和索引等項內容。在關系數(shù)據(jù)中,這種描述就是對數(shù)據(jù)庫、表、列等其他對象的定義。因此可推出,1、Ⅲ和V不屬于元數(shù)據(jù)。選C。

  30.D【解析】由關聯(lián)規(guī)則Q→D計算過程可知:支持度=事務中同時包含X、Y的百分比,置信度=在事務已經(jīng)包含X的情況下包含Y的百分比。則可以計算出事務同時包含C、D的支持度為:3/5=60%,在包含D的情況下,包含C的百分比為:3/3=100%,因此D選項滿足要求,其他選項均不滿足最小支持度或者最小置信度。

  二、應用題

  1.DDL

  【解析】數(shù)據(jù)庫模式定義語言DDL(Data Description Language)是用于描述數(shù)據(jù)庫中要存儲的現(xiàn)實世界實體的語言。

  2.索引列列值

  【解析】對數(shù)據(jù)文件和它的一個特定的索引文件而言,如果數(shù)據(jù)文件中的數(shù)據(jù)記錄的排列順序與索引文件中索引項的排列順序相一致,或者說,索引文件按其索引列列值指定的順序與數(shù)據(jù)文件中的數(shù)據(jù)記錄的排列順序相一致,則該索引文件稱為聚集索引。否則,該索引文件稱為非聚集索引。

  3.時間

  【解析】時間圖適用于當狀態(tài)的轉移與時間密切相關時,同時強調時間因子在狀態(tài)轉移過程中的重要作用。

  4.TOP

  【解析】題目要求查詢成績最高的前3名學生的學號和成績,因此需要用TOP關鍵字。Top3只能查詢出前3行的數(shù)據(jù),無論這3行數(shù)據(jù)是否有重復,只能機械的選出前3行記錄。

  5.標量

  【解析】SQL Server 2008支持三種用戶自定義函數(shù):標量函數(shù)、內嵌表值函數(shù)和多語句表值函數(shù)。標量函數(shù)可以出現(xiàn)在SELECT語句目標列中,其他兩個函數(shù)必須放在SELECT語句的FROM子句中。

  6.INSTEAD OF

  【解析】要在表T上建立一個針對插入操作的前觸發(fā)器,則根據(jù)觸發(fā)器創(chuàng)建的SQL語句語法可知:IN-STEAD OF創(chuàng)建前觸發(fā)器,F(xiàn)OR或AFTER創(chuàng)建后觸發(fā)器。

  7.FOR

  【解析】SQL Server 2008游標聲明的語句格式為:

  DECLARE vendor_cursor CURSOR FOR SELECT…

  8.MDF

  【解析】SQL Server 2008中,用戶數(shù)據(jù)庫的數(shù)據(jù)文件的主要拓展名為MDF。

  9.DENY DELETE

  【解析】SQL Server 2008中設置不允許用戶獲得對表的某種操作權限的命令為:DENY對象權限名ON{表名|視圖}TO{數(shù)據(jù)庫用戶名|用戶角色名}。

  10.運行管理與維護

  【解析】優(yōu)化SQL語句執(zhí)行效率屬于數(shù)據(jù)庫應用系統(tǒng)運行管理與維護階段的任務。

  11.先來先服務

  【解析】為了避免活鎖的現(xiàn)象的發(fā)生,DBMS一般采用先來先服務(FIFS)策略處理事務的數(shù)據(jù)操作請

  求。即當多個事務請求對同一數(shù)據(jù)項Q加鎖時,DBMS按照事務請求加鎖的先后順序對這些事務排隊,先請求的事務排在隊中靠前的位置。定義在Q上的鎖一旦釋放,DBMS將鎖分配給隊列中的第一個事務。利用這個策略,各個事務都可以按照時間順序訪問Q,避免了活鎖現(xiàn)象。

  12.日志

  【解析】數(shù)據(jù)庫出現(xiàn)事務故障和系統(tǒng)故障時,需要使用數(shù)據(jù)庫的日志文件進行恢復。

  13.分片

  【解析】分布式數(shù)據(jù)庫的分片透明性是最高級別的透明性,位于全局概念與分片模式之間。

  14.M

  【解析】MOLAP稱為基于多維庫的0LAP,這種OLAP的核心是多維數(shù)據(jù)庫技術。MOLAP工具以多維數(shù)據(jù)庫的形式將元數(shù)據(jù)、基礎事實數(shù)據(jù)和導出數(shù)據(jù)存儲在以多維數(shù)組為基本存儲結構的多維數(shù)據(jù)庫中。

  15.小

  【解析】一般將綜合級別稱為粒度,粒度越大,表示綜合程度越高,粒度越小,表示細節(jié)程度越高。

  三、設計與應用題

  1.【解題思路】

  ER模型和關系模式相互轉換的一般規(guī)則如下:

  (1)將每一個實體類型轉換成一個關系模式,實體的屬性為關系模式的屬性。

f21對干一元聯(lián)系,按各種情處理,如下表格所示。

二元關系 ER圖 轉換成的關系 聯(lián)系的處理 主鍵 外鍵
1:1 1->1 (2個關系)
模式A
模式B
(有兩種)
處理方式(1):
把模式B的主鍵,
聯(lián)系的屬性加入模式A
處理方式(2):
把模式A的主鍵,
聯(lián)系的屬性加入模式B
(略) (依據(jù)聯(lián)系的處理方式)
方式(1):
模式B的主鍵為模式A外鍵
方式(2):
表A的主鍵為表B的外鍵
1:N 1->n (2個關系)
模式A
模式B
把模式A的主鍵,聯(lián)
系的屬性加入模式B
(略) 模式A的主鍵為模式B的外鍵
M:N m->n (3個關系)
模式A
模式B
模式A-B
聯(lián)系類型轉換
成關系模式A-B;
模式A-B的屬性:
(a)聯(lián)系的屬性
(b)兩端實體類型的主鍵
兩端實體類型的
主鍵一起構成模
式A-B主鍵
兩端實體類型的主
鍵分別為模式A-B的外鍵

  此題為關系模式轉換為實體類型,因此采用實體→關系的逆向思維解題。從模式R1和R2可知,R1和R2為一對一關系,根據(jù)這兩個模式的拆分可以確定三個實體,此處將這三個實體分別命名為A、B和C。其中A、B和C分別一一對應,且a和c分別是B和C的外鍵。從模式R1和R4可知,R1和R4為多對一關系,由此確定實體D。從模式R3和R4可知,R3和R4為多對一關系,由此可以確定出實體E。

  【參考答案】

  a、c為A的候選碼,可任選其一做主碼?赏ㄟ^以下ER圖來表示:

  2.【解題思路】

  用戶定義的多語句表值函數(shù)的命令格式為:

  CREATE FUNCTION[schema_name.]function name

  ([{@parameter_name[AS][type_schema_name.]parameter_data_type

  [=default]}

  [….n]

  ]

  )

  RETURNS@return_variable TABLE

  [WITH[[,]…n]]

  [AS]

  BEGIN

  function_body

  RETURN

  END

  [;]

 。海=

  ({

  J}

  [][,…n]

  )

  題目要求返回指定類別下的每種商品在2012年的銷售總利潤,并且將結果按照銷售總利潤的降序輸出。采用復合SQL語句的格式,先查出指定類別的所有商品號:SELECT商品號FROM商品表WHERE類別=@lb,其中@lb為函數(shù)的傳人參數(shù),然后在銷售表中用GROUP BY對商品號進行分組,并采用SUM計算每個分組的總和。

  【參考答案】

  第一空:RETURNS

  第一空:table

  第三空:SELECT a.商品號,SUM(銷售數(shù)量*(銷售單價一進貨單價))AS總利潤FROM銷售表a JOIN商品表b ON a.商品號=b.商品號WHERE a.商品號IN(SELECT商品號FROM商品表WHERE類別=@lb)GROUP BY a.商品號0RDER BY總利潤DESC

  第四空:RETURN@ProfitTable

  3.【解題思路】

  數(shù)據(jù)庫性能優(yōu)化的基本原則就是通過盡可能少的磁盤訪問獲得所需要的數(shù)據(jù)。SQL SERVER性能優(yōu)化一般從數(shù)據(jù)庫設計、應用程序編碼、硬件優(yōu)化、數(shù)據(jù)庫索引、SQL語句、事務處理幾個方面人手考慮問題。

  (1)分析階段:在系統(tǒng)分析階段往往有太多需要關注的地方,系統(tǒng)各種功能性、可用性、可靠性、安全性需求吸引了我們大部分的注意力,但必須注意的是,性能往往是很重要的非功能性需求,必須根據(jù)系統(tǒng)的特點確定其實時性需求、響應時間的需求、硬件的配置等。最好能有各種需求量化的指標。

  (2)設計階段:例如數(shù)據(jù)庫邏輯設計規(guī)范化;合理的冗余;主鍵的設計;外鍵的設計;字段的設計;數(shù)據(jù)庫物理存儲和環(huán)境的設計;數(shù)據(jù)庫的物理存儲、操作系統(tǒng)環(huán)境及網(wǎng)絡環(huán)境的設計,皆使得我們的系統(tǒng)在將來能適應較多用戶的并發(fā)操作和較大的數(shù)據(jù)處理量。這里需要注意文件組的作用,適用文件組可以有效的把I/O操作分散到不同的物理硬盤,提高并發(fā)能力。

  (3)系統(tǒng)設計:整個系統(tǒng)的設計,特別是系統(tǒng)結構的設計對性能具有很大的影響。對于一般的OLTP系統(tǒng),可以選擇C/S結構、三層的C/S結構等,不同的系統(tǒng)結構其性能的關鍵也有所不同。系統(tǒng)設計階段應歸納某些業(yè)務邏輯在數(shù)據(jù)庫編程階段實現(xiàn),數(shù)據(jù)庫編程包括數(shù)據(jù)庫存儲過程、觸發(fā)器和函數(shù)。用數(shù)據(jù)庫編程實現(xiàn)業(yè)務邏輯的好處是減少網(wǎng)絡流量并能更充分利用數(shù)據(jù)庫的預編譯和緩存功能;索引設計階段可以根據(jù)功能和性能的需求進行初步的索引設計,這里需要根據(jù)預計的數(shù)據(jù)量和查詢來設計索引,可能與將來實際使用時有所區(qū)別。

  (4)編碼階段:編碼階段首先需要所有程序員具備優(yōu)化意識,也就是在實現(xiàn)功能的同時具備考慮優(yōu)化性能的思想。數(shù)據(jù)庫是能進行集合運算的工具,所謂集合運算實際是批量運算,即是盡量減少在客戶端進行大數(shù)據(jù)量的循環(huán)操作,而用SQL語句或者存儲過程代替。這個階段主要是注意在SQL語句等方面的優(yōu)化,如:盡量少做重復的工作,用SELECT后跟需要的字段代替SELECT*語句,注意事務和鎖,注意I臨時表和表變量的用法,慎用游標和觸發(fā)器,盡量使用索引等。

  (5)硬件優(yōu)化:RAID(獨立磁盤冗余陣列)是由多個磁盤驅動器(一個陣列)組成的磁盤系統(tǒng)。通過將磁盤陣列當作一個磁盤來對待,基于硬件的RAID允許用戶管理多個磁盤。使用基于硬件的RAID與基于操作系統(tǒng)的RAID相比較可知,基于硬件的RAID能夠提供更佳的性能,如果使用基于操作系統(tǒng)的RAID,那么它將占據(jù)其他系統(tǒng)需求的CPU周期,通過使用基于硬件的RAID,用戶在不關閉系統(tǒng)的情況下能夠替換發(fā)生故障的驅動器。利用數(shù)據(jù)庫分區(qū)技術,可均勻地把數(shù)據(jù)分布在系統(tǒng)的磁盤中,平衡I/0訪問,避免I/0瓶頸等。

  (6)事務處理調優(yōu):數(shù)據(jù)庫的日常運行過程中,可能面臨多個用戶同時對數(shù)據(jù)庫的并發(fā)操作而帶來的數(shù)據(jù)不一致的問題,如:丟失更新、臟讀和不可重復讀等。并發(fā)控制的主要方法是封鎖,鎖的含義即是在一段時間內禁止用戶做某些操作以避免產(chǎn)生數(shù)據(jù)不一致。對于事務性能的調優(yōu),要考慮到事務使用的鎖的個數(shù)(在所有其他條件相同的情況下,使用的鎖個數(shù)越少,性能越好)、鎖的類型(讀鎖對性能更有利)以及事務持有鎖的時間長短(持有時間越短,性能越好)等情形。

  【參考答案】

  根據(jù)SQL Server 2008數(shù)據(jù)庫的特性以及題目中的條件,綜合給出以下的調優(yōu)方案。

  (1)表結構優(yōu)化:重新優(yōu)化數(shù)據(jù)庫設計結構,規(guī)范數(shù)據(jù)庫邏輯設計;設計主鍵和外鍵;設計合適大小的字段。

  (2)硬件優(yōu)化:購買一塊同樣大小的硬盤,將硬盤做成RAID5,用以提高數(shù)據(jù)庫讀寫速度;增加服務器CPU個數(shù);擴大服務器的內存。

  (3)索引優(yōu)化:采用對經(jīng)常作為條件查詢的列設計索引,在查詢中經(jīng)常用到的列上建立非聚簇索引,在頻繁進行范圍查詢、排序、分組的列上建立聚簇索引,對于有頻繁進行刪除、插入操作的表不要建立過多的索引。

  (4)采用視圖:合理使用視圖和分區(qū)視圖,在需要更新和刪除操作不多、查詢操作頻繁的表上建立索引視圖。

  (5)SQL語句優(yōu)化:選擇運算應盡可能先做,并在對同一個表進行多個選擇運算時,選擇影響較大的語句放在前面,較弱的選擇條件寫在后面,這樣就可以先根據(jù)較嚴格的條件得出數(shù)據(jù)較少的信息,再在這些信息中根據(jù)后面較弱的條件得到滿足條件的信息。應避免使用相關子查詢,把子查詢轉換成聯(lián)結來實現(xiàn)。字段提取按照“需多少,提多少’’的原則,避免“SELECT*”,“SELECT*”需要數(shù)據(jù)庫返回相應表的所有列信息,這對于一個列較多的表無疑是一項費時的操作,采用存儲過程,使用存儲過程提高數(shù)據(jù)處理速度。

【下半年計算機三級《數(shù)據(jù)庫》考前模擬試題二答案及解析】相關文章:

2015下半年計算機三級《數(shù)據(jù)庫》考前模擬試題(一)答案及解析10-10

2015下半年計算機三級《數(shù)據(jù)庫》考前模擬試題(四)答案及解析08-08

2015下半年計算機三級《數(shù)據(jù)庫》考前模擬試題(三)答案及解析09-25

2015下半年計算機三級《數(shù)據(jù)庫》考前模擬試題(五)答案及解析07-14

2015下半年計算機三級《數(shù)據(jù)庫》模擬試題(二)答案及解析08-12

2015下半年計算機三級《數(shù)據(jù)庫》考前模擬試題(二)11-07

2015下半年計算機三級《數(shù)據(jù)庫》模擬試題(一)答案及解析09-12

2015全國計算機三級考試《數(shù)據(jù)庫技術》模擬試題(二)答案及解析10-12

計算機等考三級數(shù)據(jù)庫考前模擬試題10-28