- 相關(guān)推薦
2015下半年計算機三級《數據庫》考前模擬試題(四)答案及解析
一、單選題

1.C【解析】概念數據模型主要用來(lái)描述世界的概念化結構,它使數據庫設計人員在設計的初始階段擺脫計算機系統及DBMS的具體技術(shù)問(wèn)題,集中精力分析數據以及數據之間的聯(lián)系等,與具體的數據庫管理系統無(wú)關(guān),所以沒(méi)有描述數據的完整性約束條件。
2.D【解析】系統的實(shí)現階段主要是系統編碼和測試,針對系統的功能和性能不足對系統進(jìn)行升級是運行維護階段的工作。
3.C【解析】C項是查詢(xún)處理器的功能,不是存儲管理器功能。
4.C【解析】B/S結構的數據庫應用系統的特點(diǎn)是用戶(hù)界面完全通過(guò)www瀏覽器實(shí)現,一部分事務(wù)邏輯在前端實(shí)現,主要的事務(wù)邏輯在服務(wù)器實(shí)現,所以其對客戶(hù)機配置要求不高,即使對服務(wù)器要求較高,也不需要安裝客戶(hù)端軟件。
5.D【解析】設計數據庫時(shí),要分析這個(gè)數據庫必須存儲的信息及這些信息組成部分之間的關(guān)系,ER模型就是用來(lái)描述數據庫中實(shí)體及其屬性以及各個(gè)實(shí)體問(wèn)聯(lián)系的描述方法。ER模型建模時(shí),不考慮數據庫在計算機中的存儲和處理特性。
6.B【解析】函數依賴(lài)的定義為:設R(u)是屬性集U上的關(guān)系模型X,Y是U的子集,若對于R(u)的任意一個(gè)可能的關(guān)系r,r中不可能存在兩個(gè)元組在X上屬性值相等,而在Y上的屬性值不等,則稱(chēng)X函數確定Y或Y函數依賴(lài)于X。其本質(zhì)是根據屬性間的依賴(lài)情況來(lái)判定關(guān)系是否具有模型不合適的性質(zhì)。
7.C【解析】A選項中內模式也稱(chēng)存儲模式,它是數據物理結構和存儲方式的描述,是數據在數據庫內部的表示方式,一個(gè)數據庫只有一個(gè)內模式。B選項中外模式可以有多個(gè),其是應用程序或用戶(hù)與數據庫通信的接口,不同的用戶(hù)訪(fǎng)問(wèn)同一個(gè)數據庫對應多個(gè)外模式。D選項中數據與程序之間的獨立性,使數據定義與描述分離,所有數據的存取由DBMS管理,用戶(hù)不必考慮存取細節,所以減少了應用程序的維護。
8.A【解析】Ⅰ、Ⅱ屬于實(shí)施活動(dòng),Ⅲ、Ⅳ、Ⅴ屬于運行和維護活動(dòng)。
9.C【解析】考慮到領(lǐng)導與下屬關(guān)系為一對多(即一個(gè)領(lǐng)導可以領(lǐng)導多個(gè)下屬),所以關(guān)系上用“1:*”表示“領(lǐng)導:下屬”,排除A,D。又因為一個(gè)部門(mén)中可以有不同職能的員工,排除B。所以選C。
10.B【解析】本題主要是對數字類(lèi)型的區別,體現在表示的位數和存儲字長(cháng)上面。有符號數bigint是從-263到263-1的整型數據,存儲大小為8個(gè)字節;有符號數int是從-231到231-1的整型數據,存儲大小為4個(gè)字節;有符號數smallint是從-215到215-1的整型數據,無(wú)符號數smallint從0到216-1,存儲大小為2個(gè)字節;tinyint是從0到255的整型數據,存儲大小為1字節。所以選B。
11.D【解析】觸發(fā)器是用戶(hù)定義在關(guān)系表上的一類(lèi)由時(shí)間驅動(dòng)的特殊過(guò)程。一旦定義,任何用戶(hù)對表的增、刪、改操作均由服務(wù)器自動(dòng)激活相應的觸發(fā)器,在DBMS核心層進(jìn)行集中的完整性控制,類(lèi)似于約束。前觸發(fā)型觸發(fā)器只執行觸發(fā)器指定的內容而不執行引發(fā)觸發(fā)器的SQL語(yǔ)句,為職工表中插入數據設定一個(gè)非工作時(shí)間的前觸發(fā)型觸發(fā)器后就可實(shí)現該功能。所以選D。
12.B【解析】PL/SQL主要由兩種類(lèi)型構成,即命名塊和匿名塊。匿名塊每次執行時(shí)都需要進(jìn)行編譯,不能被存儲到數據庫中,也不能在其它的PL/SQL中調用。存儲過(guò)程和函數是命名塊,它們被編譯后保存在數據庫中,可以被反復調用,運行速度快。其結構為:CREATE Procedure過(guò)程名(參數列表)AS;參數列表可以為輸入參數、輸出參數,且輸入、輸出參數均可以有多個(gè)。所以選B。
13.B【解析】不能小于model數據庫的大小。Model數據庫為新創(chuàng )建的數據庫提供模版。
14.B【解析】當用CHECK進(jìn)行約束條件限制時(shí),若其只涉及對某一列的約束則可以放在該列后面,如果是約束條件中涉及兩列或兩列以上,則為對整個(gè)數據表的約束,放在表的最后面。
15.A【解析】當用戶(hù)的權限與其所在的角色的權限發(fā)生沖突時(shí),以角色的權限為標準。
16.D【解析】因為系統數據庫master、model、msdb修改較少,且對數據庫系統影響較大,所以每次修改后應及時(shí)備份;而用戶(hù)自定義的數據庫(如學(xué)生成績(jì)管理系統中的數據庫)在使用過(guò)程中會(huì )經(jīng)常不定期的修改,而且每次修改量不大,如果每次修改完就重新備份則對系統操作冗余性較大,所以采用定期備份;tempdb是系統臨時(shí)文件的數據庫,每次啟動(dòng)后都會(huì )清空,所以沒(méi)必要備份。選D。
17.C【解析】db_datawriter角色只分配了對數據庫的寫(xiě)操作的權限,而不能進(jìn)行查看,所以選C。
18.C【解析】視圖在sql語(yǔ)句相同的情況下不能夠提高效率,A錯誤;B、D并沒(méi)有簡(jiǎn)化查詢(xún)的運算量從而將表合并,也沒(méi)有減少連接產(chǎn)生的運算量從而提高查詢(xún)效率。
19.B【解析】當事務(wù)T對某個(gè)數據加上排它鎖時(shí),T可以對該數據進(jìn)行讀和寫(xiě),其他任何事務(wù)都不能再對該數據加任何類(lèi)型的鎖,直到T釋放該鎖才行;當事務(wù)T對某個(gè)數據加上共享鎖,則T只能對該數據進(jìn)行讀操作,不能修改數據,且其它事務(wù)也可以對該數據加共享鎖但不能加排它鎖。只有等到該數據沒(méi)有被其他任何事務(wù)訪(fǎng)問(wèn)時(shí)才能加排它鎖。
20.C【解析】照片存儲到數據庫后,多個(gè)用戶(hù)同時(shí)對照片的訪(fǎng)問(wèn)受到了很大的限制,所以,同一時(shí)間的高并發(fā)訪(fǎng)問(wèn)對數據庫的要求極高。故本題選C。
21.C【解析】本題考查索引的設置。主索引是根據數據對象的主鍵建立的索引,它們決定了被索引記錄的位置,而輔助索引沒(méi)有這樣的限制,可以用于任何索引目的并且可以查找多個(gè)數據文件存放的位置。而位圖索引一般在范圍查詢(xún)時(shí)使用。
22.D【解析】因為在客戶(hù)端和服務(wù)器自帶的客戶(hù)端工具上都是長(cháng)時(shí)間運行無(wú)響應,所以與網(wǎng)絡(luò )無(wú)關(guān),A錯誤;B表在建立時(shí)必須設定主碼,若沒(méi)有設定則默認所有屬性集合為主碼,所以B錯;C索引在更新時(shí)比較復雜,其本身為虛表,在更新時(shí)會(huì )對其數據所在的原表更新。當數據被上鎖后,若其它事務(wù)對其進(jìn)行寫(xiě)操作,只能等其釋放后才能調用。所以選D。
23.C【解析】A日志寫(xiě)入順序必須和并行事務(wù)執行的時(shí)間次序一致,因為這樣才能在數據庫恢復時(shí)進(jìn)行red0和und0操作,從而保證數據的一致性而不會(huì )產(chǎn)生臟數據;B必須先寫(xiě)日志再寫(xiě)數據庫,這樣當數據庫發(fā)生故障時(shí)可以根據日志完全恢復,否則如果先寫(xiě)數據,當數據剛寫(xiě)完時(shí),數據庫故障而沒(méi)來(lái)得及寫(xiě)日志,導致數據恢復時(shí)發(fā)生錯誤。D事務(wù)恢復時(shí)同樣需要日志,如red0、und0操作。所以選C。
24.D【解析】在進(jìn)行數據恢復時(shí),首先恢復完全備份,其次恢復差異備份,最后恢復日志備份。備份日志時(shí)使用Norecovery用來(lái)備份尾日志,這樣備份日志的時(shí)候數據庫處于恢復狀態(tài),別的進(jìn)程就不能再訪(fǎng)問(wèn)數據庫,日志就不會(huì )再增加,因此在還原的時(shí)候就可以正;謴。還原備份的時(shí)候如果想同時(shí)還原之后的日志,必須加上Norecovery才可以還原,如果有多個(gè)日志備份,除了最后一個(gè)日志備份外,還原其他日志也必須加上Norecovery。所以選D。
25.A【解析】master數據庫是SQL Server系統里面最重要的數據庫,因為它包含了系統中的有關(guān)數據庫的所有信息。對master數據庫只能進(jìn)行完全數據庫備份操作,SQL Server不支持在master數據庫上進(jìn)行差異備份、事務(wù)日志備份以及文件備份。所以選A。
26.D【解析】并行數據庫系統的主要目的是通過(guò)高速通信介質(zhì)連接多個(gè)可獨立處理的單元以并行執行的方式完成對數據庫系統的互聯(lián)查詢(xún)、內部查詢(xún)及各種內部操作。分布式數據庫系統的主要目的才是實(shí)現場(chǎng)地自治和數據全局透明共享。
27.D【解析】輪轉法:對關(guān)系順序掃描,將第i個(gè)元組存儲到標號為Di mod n的磁盤(pán)上,該方式保證了元組在多個(gè)磁盤(pán)上均勻分布。散列劃分:選定一個(gè)值域為{0,1,…,n-1}的散列函數,對關(guān)系中的元組基于劃分屬性進(jìn)行散列,如果散列函數返回i,則將其存儲到第i個(gè)磁盤(pán)。范圍劃分:根據表中某個(gè)屬性取值區間劃分成不同的子區間,然后根據表中的屬性值屬于的不同區間將表分成不同的子表。多維劃分:維是人們觀(guān)察事物的角度,同樣的數據從不同的維進(jìn)行觀(guān)察可能會(huì )得到不同的結果,如從各個(gè)分店的角度、各種商品的角度(商品ID)等,而每個(gè)維度又可按粒度的不同劃分成多個(gè)層次,稱(chēng)為維度成員。本題中將總表按分店號與時(shí)間劃分成不同的子表,屬于多維劃分,所以選D。
28.B【解析】分布式數據庫的分配方式包括集中式、分割式、全復制式、混合式。集中式指所有數據片斷都安排在一個(gè)場(chǎng)地上;分割式指全局數據有且只有一份,它們被分割成若干片段,每個(gè)片段被分配在一個(gè)特定場(chǎng)地上;全復制式是在每個(gè)站點(diǎn)上都有全局數據的復制樣本,數據的冗余性最大;混合式指全局數據被分為若干個(gè)數據子集,每個(gè)子集被安排在一個(gè)或多個(gè)不同的場(chǎng)地上,但是每個(gè)場(chǎng)地未必保存所有數據。
29.C【解析】0LTP是對數據庫聯(lián)機的日常操作,通常是對一條記錄的查詢(xún)和修改,要求快速響應用戶(hù)的請求,對數據的安全性、完整性及事物吞吐量要求很高。而0LAP是對數據的查詢(xún)和分析操作,通常是對海量歷史數據的查詢(xún)和分析,要訪(fǎng)問(wèn)的數據量非常大,查詢(xún)和分析操作十分復雜。所以A、B錯。又因為OLAP為宏觀(guān)分析,0LTP為微觀(guān)操作,所以前者面向中上層和決策者使用,而后者面向企業(yè)的中下層業(yè)務(wù)人員使用。所以D錯。因此選C。
30.B【解析】由于有樣本集和測試集之分,又有已有的類(lèi)別標簽,所以屬于監督學(xué)習。分類(lèi):通過(guò)學(xué)習得到一個(gè)目標函數f,把每個(gè)屬性集x映射到一個(gè)預先定義的類(lèi)標號y。分類(lèi)屬于監督學(xué)習。聚類(lèi):根據在數據中發(fā)現的描述對象及其關(guān)系的信息,將數據對象分組,組內的對象相互之間是相似的,而不同組中的對象則不同。組內的相似性越大,組間差別越大,聚類(lèi)就越好,屬于無(wú)監督學(xué)習。關(guān)聯(lián)規則挖掘:發(fā)現隱藏在大型數據集中的有意義的聯(lián)系。多維分析是指各級管理決策人員從不同的角度、快速靈活地對數據倉庫中的數據進(jìn)行復雜查詢(xún)多維分析處理。根據題意顯然是符合分類(lèi)。所以選B。
二、應用題
1.物理
【解析】數據庫系統的三級模式結構是由外模式、模式和內模式三級構成。模式也稱(chēng)邏輯模式,是數據庫中全體數據的邏輯結構和特征描述,是所有用戶(hù)的公共數據視圖,它是數據庫系統的中間層。外模式是數據庫用戶(hù)能夠看見(jiàn)和使用的局部數據的邏輯結構和特征描述,是數據庫用戶(hù)的數據視圖。內模式是數據物理結構和存儲方式的描述,是數據在數據庫內部的表示方式。為了能夠在系統內部實(shí)現這3個(gè)抽象層次的聯(lián)系和轉換,數據庫管理系統在這三級模式之間提供了兩層映像:外模式/模式映像、模式/內模式映像。這兩層映像分別保證了數據庫系統中的數據能夠具有較高的邏輯獨立性和物理獨立性。
2.邏輯
【解析】系統設計階段分為概念設計、邏輯設計、物理設計。概念設計是整個(gè)數據庫設計的關(guān)鍵,它通過(guò)對用戶(hù)需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨立于具體DBMS的概念模型。邏輯設計是將概念結構轉換為某個(gè)DBMS所支持的數據模型,并對其進(jìn)行優(yōu)化。物理設計是為邏輯數據模型選取一個(gè)最適合應用環(huán)境的物理結構。
3.組件
【解析】組件圖提供系統的物理視圖。UML圖形中組件圖的用途是顯示系統中的軟件對其他軟件組件(例如,庫函數)的依賴(lài)關(guān)系,它可以在一個(gè)非常高的層次上顯示,從而僅顯示粗粒度的組件,也可以在組件包層次上顯示。
4.第一空:COUNT(DISTINCT選課表.學(xué)號)
第二空:GROUP BY所在系名
【解析】由于要統計選課人數所以要用到聚類(lèi)函數COUNT(DISTINCTI ALL<列名>),表示對某列的值的計數,如果指定DISTINCT短語(yǔ),則表示在計算時(shí)要取消指定列中的重復值。如果不指定DISTINCT短語(yǔ)或指定ALL短語(yǔ),則表示保留重復值。由于是對不同系中的學(xué)生的學(xué)號統計,所以用GROUP BY子句將查詢(xún)結果按某一列或多列的值分組,值相等的為一組。通過(guò)對組內不同學(xué)號的統計從而統計出各個(gè)系的選課人數。
5.自
【解析】自連接是SQL語(yǔ)句中經(jīng)常要用的連接方式,使用自連接可以將自身表的一個(gè)鏡像當作另一張表來(lái)對待,從而能夠得到一些特殊的數據。簡(jiǎn)而言之,自連接的本意就是將一張表看成多張表來(lái)做連接。本題的SQL語(yǔ)句為:
select課程表.課程名,課程表.學(xué)分,先修表.課程名,先修表.學(xué)分from emp課程表,emp先修表where課程表.課程名=’數據庫原理’and課程表.先修課程號=先修表.課程號。
6.c2,c1
【解析】聚簇索引是指索引項的順序與表中記錄的物理順序一致的索引組織。用戶(hù)可以在最經(jīng)常查詢(xún)的列上建立聚簇索引以提高查詢(xún)效率。UNIQUE表示要建立的每一個(gè)索引值對應唯一的數據記錄,先對c2表索引然后對cl表索引,可以使索引的性能最優(yōu)。
7.IDENTITY
【解析】此題考查了SQL SERVER中的identity用法。在數據庫中,常用的一個(gè)流水編號通常會(huì )使用i-dentity欄位來(lái)進(jìn)行設置,這種編號的好處是不會(huì )重復,而且是唯一的,這對table中的唯一值特性很重要,通常用來(lái)做客戶(hù)編號、訂單編號等。此處用IDENTITY作約束性定義,使C1可以成為標識列。
8.sysadmin
【解析】EXEC sp_addsrvrolemember是登錄賬戶(hù)角色,sp_addsrvrolemember是定義好的存儲過(guò)程,其作用是為登錄賬戶(hù)賦角色權限。數據庫主要的角色及權限如下表所示:
| bulkadmin | 執行BULK INSERT語(yǔ)句 |
| dbcreator | 創(chuàng )建、修改、刪除和還原數據庫 |
| diskadmin | 管理磁盤(pán)文件 |
| processadmin | 管理在SQL Server實(shí)例中運行的進(jìn)程 |
| securityadmin | 管理服務(wù)器登錄賬戶(hù) |
| serveradmin | 配置服務(wù)器范圍的設置 |
| setupadmin | 添加和刪除鏈接服務(wù)器 |
| sysadmin | 在SQL Server中進(jìn)行任何活動(dòng),該角色的權限跨越所有其它固定服務(wù)器角色 |
9.三級加鎖
【解析】三級加鎖協(xié)議也稱(chēng)為三級封鎖協(xié)議.,它保證正確地調度事務(wù)的并發(fā)操作,是事務(wù)對數據庫對象加鎖、解鎖必須遵守的一種規則。在運用x鎖和s鎖對數據對象加鎖時(shí),還需要約定一些規則,例如何時(shí)申請x鎖或S鎖、持鎖時(shí)間、何時(shí)釋放等。
10.UNDO
【解析】系統故障造成數據庫狀態(tài)不一致的原因有兩個(gè),一是未完成的事務(wù)對數據庫的更新可能已寫(xiě)入數據庫,二是已提交事務(wù)對數據庫的更新可能還留在緩沖區沒(méi)來(lái)的及寫(xiě)入數據庫。對于故障發(fā)生前已提交的事務(wù)(既有BEGIN Transaction,又有commit)做red0操作,對于故障發(fā)生時(shí)尚未完成的事務(wù)(只有BEGINTransaction,而沒(méi)有commit或rollback)做und0操作。
11.日志
【解析】數據轉儲是數據庫恢復中采用的基本技術(shù)。所謂轉儲即DBA定期地將整個(gè)數據庫復制到磁帶或另一個(gè)磁盤(pán)上保存起來(lái)的過(guò)程。動(dòng)態(tài)轉儲是指在轉儲過(guò)程期間允許對數據庫進(jìn)行存取或修改,即轉儲和用戶(hù)事務(wù)可并發(fā)執行,但在轉儲數據后,副本上的數據并不能保證正確有效,為此必須把轉儲期間各事務(wù)對數據庫的修改活動(dòng)登記下來(lái),建立日志文件。
12.增量
【解析】數據庫的轉儲機制一般有完全轉儲、差量轉儲和增量轉儲三種。完全轉儲是指對整個(gè)數據庫中的數據全部重新備份,效率低,時(shí)問(wèn)長(cháng);差量轉儲指基于上一次完全轉儲基點(diǎn)之后變化轉儲,是對上次轉儲之后對所有文件中修改或刪除的記錄的轉儲,效率高,時(shí)問(wèn)短;增量轉儲是對數據庫中凡是有記錄變化的文件的整個(gè)文件進(jìn)行復制,效率介于前兩種轉儲方式之間。
13.集成
【解析】數據倉庫是為了構建新的分析處理環(huán)境而出現的一種數據存儲和組織技術(shù),基本特征包括:數據是面向主題的、集成的、非易失的、隨時(shí)間不斷變化的數據集合,用來(lái)支持管理人員的決策。
14.面向主題
【解析】面向主題的數據組織方式,就是在較高層次上對分析對象數據的一個(gè)完整并且一致的描述,能刻畫(huà)各個(gè)分析對象所涉及的企業(yè)各項數據,以及數據之間的聯(lián)系。所謂較高層次是相對面向應用的數據組織方式而言的,即按照主題進(jìn)行數據組織的方式具有更高的數據抽象級別。與傳統數據庫面向應用進(jìn)行數據組織的特點(diǎn)相對應,數據倉庫中的數據面向主題進(jìn)行組織。例如,一個(gè)生產(chǎn)企業(yè)的數據倉庫所組織的主題可能有產(chǎn)品訂貨分析和貨物發(fā)運分析等。
三、設計與應用題
1.(1)【解題思路】
關(guān)系的描述稱(chēng)為關(guān)系模式,它可以形式化地表示為R(U,D,DOM,F)。要想使轉換生成的關(guān)系模式滿(mǎn)足3NF,則必須滿(mǎn)足關(guān)系模式中每一個(gè)非主屬性既不部分依賴(lài)于碼也不傳遞依賴(lài)于碼。根據題目中的表中的數據和業(yè)務(wù)系統的規則可知,共有四個(gè)實(shí)體存在,分別為教師、課程、教材、職稱(chēng),職稱(chēng)作為實(shí)體而不是教師的屬性是因為職稱(chēng)與工資掛鉤,考慮到其有進(jìn)一步描述的特性,所以把職稱(chēng)作為一個(gè)關(guān)系而不是教師的一個(gè)屬性,而且教師號、職稱(chēng)、工資之間存在傳遞依賴(lài),不滿(mǎn)足3NF。
【參考答案】
教師(教師號,教師名,上級領(lǐng)導教師號,職稱(chēng))
主碼:教師號;外碼:上級領(lǐng)導教師號、職稱(chēng)
職稱(chēng)(職稱(chēng),工資)
主碼:職稱(chēng);外碼:無(wú)
課程(課程號,課程名,學(xué)分,教材號,任課教師號)
主碼:課程號;外碼:教材號,任課教師號
教材(教材號,教材名,出版社)
主碼:教材號;外碼:無(wú)
(2)【解題思路】
E-R圖也稱(chēng)實(shí)體一聯(lián)系圖,提供了表示實(shí)體類(lèi)型、屬性和聯(lián)系的方法,用來(lái)描述現實(shí)世界的概念模型。為了簡(jiǎn)化E-R圖的處置,現實(shí)世界的事物能作為屬性對待的,盡量作為屬性對待。實(shí)體與屬性的劃分給出如下兩條規則:①作為“屬性”,不能再具有需要描述的性質(zhì),“屬性”必須是不可分的數據項,不能包含其它屬性。②“屬性”不能與其它實(shí)體有聯(lián)系,即E-R圖中所表示的聯(lián)系是實(shí)體之間的聯(lián)系。題目中教師與課程有講授關(guān)系,課程和教材有使用關(guān)系,教師與職稱(chēng)有聘用關(guān)系。
【參考答案】
2.【解題思路】
觸發(fā)器是用戶(hù)定義在關(guān)系表上的一類(lèi)由事件驅動(dòng)的特殊過(guò)程。一旦定義,任何用戶(hù)對表的增、刪、改操作均由服務(wù)器自動(dòng)激活相應的觸發(fā)器,在DBMS核心層進(jìn)行集中的完整性控制。觸發(fā)器類(lèi)似于約束,但比約束更加靈活,可以實(shí)施比FOREIGN KEY約束、CHECK約束更為復雜的檢查和操作,具有更精細和強大的數據控制能力。
觸發(fā)器的創(chuàng )建格式:
CREATE TRIGGER[schema_name.]trigger_name
ON{tablelview}
{FORlAFFERIINSTEAD OF}
{[INSERT][,][UPDATE][,][DELETE]}
AS{Sql_statement}
[;]
對應于本題中,觸發(fā)事件為在銷(xiāo)售表中插入前四列,條件為無(wú)條件執行,觸發(fā)體動(dòng)作為計算本次利潤并插入表中。
【參考答案】
CREATE TRIGGER calcu_product
AFTER INSERT ON銷(xiāo)售表
FOR EACH ROW
AS BEGIN
DECLARE@PurchasePrise float/*對應商品的進(jìn)價(jià)的參數*/
SELECT@PurchasePrise=進(jìn)貨價(jià)格FROM商品表WHERE商品號=new.商品號
UPDATE銷(xiāo)售表SET本次利潤=new.銷(xiāo)售數量*(new.銷(xiāo)售價(jià)格-@PurchasePrise)WHERE商
品號=new.商品號AND銷(xiāo)售時(shí)間=New.銷(xiāo)售時(shí)間
/*因為是行級觸發(fā)器,所以可以使用更新后的新值,用new*/
END
3.(1)【解題思路】
本題中查詢(xún)語(yǔ)句的功能是得到12系全體學(xué)生在2010年1月1日后的選課情況的匯總表。在每個(gè)數據表的定義時(shí)都必須嚴格定義表中的完整性約束條件,包括主鍵的設置,否則之后會(huì )出現主鍵有相同值的情況,破壞了數據的完整性。
【參考答案】
建表時(shí)沒(méi)有設置主鍵,也沒(méi)有說(shuō)明外鍵,但不會(huì )影響此查詢(xún)語(yǔ)句的執行效率。
(2)【解題思路】
“選課”表的“選課時(shí)問(wèn)”列上建立了索引,從而能夠提高執行效率。經(jīng)常出現在Where子句中的字段,特別是大表的字段,應該建立索引。索引的作用就類(lèi)似于書(shū)的目錄,即會(huì )按照章節的順序排列。因此如果在一本數百頁(yè)的書(shū)里面查找某個(gè)章節位置的時(shí)候,就可以只掃描書(shū)的目錄。掃描的范圍縮了n倍,查詢(xún)的效率自然就會(huì )提高。另外,在SQL Server內存夠用的情況下,索引會(huì )被放到內存中,在內存中查找自然又會(huì )提高效率,所以必須合理利用索引。
【參考答案】
“選課”表的“選課時(shí)問(wèn)”可以建立索引,從而提高了查詢(xún)效率,而“學(xué)生”表的“所在系號”建立索引不會(huì )提高查詢(xún)效率。索引的意義就是將記錄按目標關(guān)鍵字順序排列,這樣查找某個(gè)目標關(guān)鍵字的對應值的位置就縮小了查找范圍。“選課時(shí)間”的重復率低,所以可以作為索引,而學(xué)生“所在系號”的重復率太高,則不會(huì )提高查詢(xún)效率。
【下半年計算機三級《數據庫》考前模擬試題四答案及解析】相關(guān)文章:
2015下半年計算機三級《數據庫》考前模擬試題(一)答案及解析03-07
2015下半年計算機三級《數據庫》考前模擬試題(三)答案及解析02-27
2015下半年計算機三級《數據庫》考前模擬試題(五)答案及解析07-14
2015下半年計算機三級《數據庫》考前模擬試題(二)答案及解析03-28
2015下半年計算機三級《數據庫》模擬試題(一)答案及解析05-03
2015下半年計算機三級《數據庫》模擬試題(二)答案及解析08-12
2015下半年計算機三級《數據庫》考前模擬試題(四)03-29