




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
附錄各章習(xí)題參考答案
第1章習(xí)題參考答案
1.SQLServer2016的常用版本有哪些?應(yīng)用范圍分別是什么?
答:SQLServer2016提供了如下版本供不同應(yīng)用進(jìn)行選擇:
(1)企業(yè)版Enterprise(64位和32位):作為高級版本,SQLServer2016Enterprise版
提
供了全面的高端數(shù)據(jù)中心功能,性能極為快捷、虛擬化不受限制,還具有端到端的商
業(yè)智能,可為關(guān)鍵任務(wù)工作負(fù)荷提供較高服務(wù)級別,支持最終用戶訪問深層數(shù)據(jù)。
(2)商業(yè)智能版BusinessIntelligence(64位和32位):SQLServer2016Business
Intelligence版提供了綜合性平臺,可支持組織構(gòu)建和部署安全、可擴(kuò)展且易于管理的
BI解決方案。它提供了基于瀏覽器的數(shù)據(jù)瀏覽與可見性等卓越功能、功能強(qiáng)大的數(shù)據(jù)
集成功能,以及增強(qiáng)的集成管理。
(3)標(biāo)準(zhǔn)版Standard(64位和32位):SQLServer2016Standard版提供了基本數(shù)據(jù)管
理和商業(yè)智能數(shù)據(jù)庫,使部門和小型組織能夠順利運行其應(yīng)用程序并支持將常用開發(fā)
工具用于內(nèi)部部署和云部署,有助于以最少的IT資源獲得高效的數(shù)據(jù)庫管理。
(4)Web版(64位和32位):對于為從小規(guī)模至大規(guī)模Web資產(chǎn)提供可伸縮性、經(jīng)
濟(jì)性和可管理性的Web宿主和WebVAP來說,SQLServer2016Web版本是一項總擁
有成本較低的選擇。
(5)開發(fā)版Developer(64位和32位):SQLServer2016Developer版支持開發(fā)人員基
于SQLServer構(gòu)建任意類型的應(yīng)用程序。它包括Enterprise版的所有功能,但有許可
限制,只能用作開發(fā)和測試系統(tǒng),而不能用作生產(chǎn)服務(wù)器。SQLServerDeveloper是構(gòu)
建和測試應(yīng)用程序的開發(fā)人員的理想之選。
(6)簡易版Express版(64位和32位):SQLServer2016Express是入門級的免費數(shù)據(jù)
庫,是學(xué)習(xí)和構(gòu)建桌面及小型服務(wù)器數(shù)據(jù)驅(qū)動應(yīng)用程序的理想選擇。它是獨立軟件供
應(yīng)商、開發(fā)人員和熱衷于構(gòu)建客戶端應(yīng)用程序的人員的最佳選擇。如果以后需要使用
更高級的數(shù)據(jù)庫功能,則可以將SQLServerExpress無縫升級到其他更高端的SQL
Server版本。SQLServer2016中新增了SQLServerExpressLocalDB,這是Express的
一種輕型版本,該版本具備所有可編程性功能,但在用戶模式下運行,并且具有快速
的零配置安裝和必備組件要求較少等特點。
2.SQLServer2016的優(yōu)勢是什么?
答:(1)處理關(guān)鍵任務(wù)的性能提升。SQLServer2016新增內(nèi)存聯(lián)機(jī)事務(wù)處理(Online
TransactionProcessing,OLTP)功能,使其在不修改應(yīng)用程序的情況下提升性能。除此
之外,可更新的列存儲索以及AlwaysOn功能的增強(qiáng)也讓SQLServer2016的較以往的
版本處理能力大大增強(qiáng)。
(2)獲得深度信息速度加快。借助于新的基于Office的商業(yè)智能(BusinessIntelligence,
BI)工具(如PowerQuery和PowerM叩),使用戶能夠隨時隨地訪問數(shù)據(jù)。除此之外,
企業(yè)選項(如ParallelDataWarehousewithPolybase)讓集團(tuán)組織借助商業(yè)智能工具,對
于大數(shù)據(jù)進(jìn)行分析探索,得到對于自己數(shù)據(jù)的全新的深入見解。
(3)混合平臺操作。不論處理環(huán)境是純本地的、虛擬化的還是完全在云中的,SQL
Server2016都提供了對應(yīng)的選項。新增功能(如MicrosoftSQLServerBackupto
WindowsAzureTool)允許備份到WindowsAzureBlob存儲,并且可以對本地或云中保
存的數(shù)據(jù)備份進(jìn)行壓縮或加密。
3.SQLServer2016是由哪幾個服務(wù)組成的?
答:MicrosoftSQLServer2016系統(tǒng)由4部分組成,這4個部分被稱為4個服務(wù),分別
是數(shù)據(jù)庫引擎、AnalysisServices>ReportingServices#IntegrationServices
第2章習(xí)題參考答案
1.簡答題
(1)SQLServer2016的系統(tǒng)安裝一共提供了幾種不同的安裝模式?
答:安裝模式一共分五種:全新安裝、并列安裝、省級安裝、手動安裝、自動安裝。
(2)SQLServer2016的系統(tǒng)安裝的硬件選擇的最低要求有哪些?
答:SQLServer2016的系統(tǒng)安裝的硬件選擇的最低要求如下表所示:
硬件需求
64位安裝
處理器速度:1.4GHz或更高
AMDOpteron>Athlon64、支持IntelEM64T的IntelPentiumIV、支持IntelEM64T
的Xeon
注意
雖然聯(lián)機(jī)叢書描述了32位安裝的需求,但是實際安裝時會發(fā)生錯誤,指出不支
持32位安裝
內(nèi)存lGB(Express版為512MB);推薦4GB
數(shù)據(jù)庫引擎和數(shù)據(jù)文件、復(fù)制、全文搜索以及數(shù)據(jù)質(zhì)量服務(wù):811MB
AnalysisServices和數(shù)據(jù)文件:345MB
ReportingServices和報表管理器:304MB
IntegrationServices:591MB
存儲器
主數(shù)據(jù)服務(wù):243MB
客戶端組件(除了SQLServer聯(lián)機(jī)叢書組件和IntegrationServices工具以外):
1823MB
用于瓷看和管理幫助內(nèi)容的SQLServei?聯(lián)機(jī)叢書組件:375KB
(3)SQLServer2016安裝過程中有哪幾個重要的配置選項?
答:主要有這樣四個配置選項:1.排序規(guī)則、2.區(qū)分大小寫、3.排序順序、4.服務(wù)
賬戶。
(3)SQLServer2016最重要的性能設(shè)置包括哪些方面?
答:包括三方面:1.內(nèi)存、2.網(wǎng)絡(luò)數(shù)據(jù)包大小、3.即時文件初始化。
第3章習(xí)題參考答案
1.簡答題
(l)SQLServer2016的系統(tǒng)數(shù)據(jù)庫有哪幾種?功能分別是什么?
答:系統(tǒng)數(shù)據(jù)庫由master、model、msdb、tempdb和隱藏的Resource數(shù)據(jù)庫組成。
master數(shù)據(jù)庫:master數(shù)據(jù)庫是SQLServer2016中最重要的數(shù)據(jù)庫,用于記錄SQL
Sever2014中所有服務(wù)器級別的對象。包括了服務(wù)器登錄賬戶、鏈接服務(wù)器定義以及端點。
Master數(shù)據(jù)庫同時還記錄服務(wù)器上其他所有數(shù)據(jù)庫的信息。
model數(shù)據(jù)庫:model數(shù)據(jù)庫是一個模板數(shù)據(jù)庫。該數(shù)據(jù)庫存儲了可以作為模板的數(shù)
據(jù)庫對象和數(shù)據(jù)。
msdb數(shù)據(jù)庫:msdb數(shù)據(jù)庫是與SQLSever2014代理服務(wù)有關(guān)的數(shù)據(jù)庫。該系統(tǒng)數(shù)據(jù)
庫記錄有關(guān)警報、操作員、調(diào)度信息等,這些信息可以用于自動化系統(tǒng)的操作。
Tempdb數(shù)據(jù)庫:tempdb數(shù)據(jù)庫是一個臨時數(shù)據(jù)庫,可用于存儲查詢過程中所使用的
中間數(shù)據(jù)和結(jié)果。
Resource系統(tǒng)數(shù)據(jù)庫:Resource系統(tǒng)數(shù)據(jù)庫是一個被隱藏的、只讀的、物理的系統(tǒng)數(shù)
據(jù)庫,包含了SQLServer2016實例使用的所有系統(tǒng)對象。
(2)數(shù)據(jù)庫的存儲結(jié)構(gòu)分為哪兩類?
答:數(shù)據(jù)庫的存儲結(jié)構(gòu)分為邏輯存儲結(jié)構(gòu)和物理存儲結(jié)構(gòu)兩種。數(shù)據(jù)庫的物理存儲結(jié)
構(gòu)是指保存數(shù)據(jù)庫中各種邏輯對象的物理文件是如何在磁盤上存儲的,數(shù)據(jù)庫在磁盤上是
以文件位單位存儲的,SQLSever2014將數(shù)據(jù)庫映射為一組操作系統(tǒng)文件。
數(shù)據(jù)庫的邏輯存儲結(jié)構(gòu)是指組成數(shù)據(jù)庫的所有邏輯對象。SQLSever2014的邏輯對象
包括數(shù)據(jù)表、視圖、存儲過程、函數(shù)、觸發(fā)器、規(guī)則,另外還有用戶、角色、架構(gòu)等。
(3)數(shù)據(jù)庫由哪幾種類型的文件組成?其擴(kuò)展名分別是什么?
答:SQLSever2014中數(shù)據(jù)庫在磁盤上存儲時主要分為兩大類物理文件:數(shù)據(jù)庫文件
和事務(wù)日志文件。一個數(shù)據(jù)庫至少包含一個數(shù)據(jù)文件和一個日志文件。數(shù)據(jù)文件又分為主
數(shù)據(jù)文件和輔助數(shù)據(jù)文件。
主數(shù)據(jù)文件:主數(shù)據(jù)文件包含數(shù)據(jù)庫的啟動信息,其用來存儲部分或者全部數(shù)據(jù)。用
戶數(shù)據(jù)和對象可以存儲在此文件中,也可以存儲在輔助數(shù)據(jù)文件中。每個數(shù)據(jù)庫必須有且
僅能有一個主文件,默認(rèn)擴(kuò)展名為.mdf。
輔助數(shù)據(jù)文件:一個數(shù)據(jù)庫可以沒有輔助數(shù)據(jù)文件,也可能有多個輔助數(shù)據(jù)文件,輔
助數(shù)據(jù)文件是可選的,其由用戶定義并存儲未包括在主文件內(nèi)的用戶數(shù)據(jù)。當(dāng)數(shù)據(jù)庫超過
了單個Windows文件的最大大小時,可以使用輔助數(shù)據(jù)文件,從而使數(shù)據(jù)庫能繼續(xù)增長。
而當(dāng)數(shù)據(jù)庫較小時,則只創(chuàng)建主數(shù)據(jù)文件就可以,不需要再創(chuàng)建輔助數(shù)據(jù)文件。輔助數(shù)據(jù)
文件的默認(rèn)擴(kuò)展名為.ndf。
事務(wù)日志文件:事務(wù)日志文件是由一系列日志記錄組成,用來記錄數(shù)據(jù)庫更新情況的
文件。事務(wù)日志文件用于保存恢復(fù)數(shù)據(jù)庫所需的事務(wù)日志信息。每個數(shù)據(jù)庫必須至少有一
個事務(wù)日志文件,也可能有多個事務(wù)日志文件。事務(wù)日志文件的建議擴(kuò)展名為Jdf。
(4)數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)與數(shù)據(jù)庫管理系統(tǒng)的區(qū)別是什么?
答:數(shù)據(jù)庫是以一定的組織形式存放在計算機(jī)中的相關(guān)數(shù)據(jù)的集合。
數(shù)據(jù)庫系統(tǒng)是指在計算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的一個完整的應(yīng)用系統(tǒng)。包括數(shù)據(jù)庫、
數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用程序以及用戶等。在大型數(shù)據(jù)庫系統(tǒng)中,還專門設(shè)有數(shù)據(jù)庫管理員。
數(shù)據(jù)庫管理系統(tǒng)是指幫助用戶建立、使用和管理數(shù)據(jù)庫的計算機(jī)軟件。其功能包括數(shù)
據(jù)定義、數(shù)據(jù)操作、數(shù)據(jù)庫及數(shù)據(jù)庫維護(hù)等。
(5)SQLServer2016常用的系統(tǒng)數(shù)據(jù)類型有哪些?
答:整型、浮點型、字符型、日期時間型、位數(shù)據(jù)類型、貨幣數(shù)據(jù)類型、二進(jìn)制數(shù)據(jù)
類型。
2.上機(jī)操作題
⑴使用SQLServer2016管理控制臺的圖形界面以及T?SQL語句分別創(chuàng)建“學(xué)生管
理庫”數(shù)據(jù)庫和刪除數(shù)據(jù)庫。要求“學(xué)生管理庫”數(shù)據(jù)庫的主數(shù)據(jù)文件的初始大小為5MB,
最大為50MB,增長方式為10%;日志文件的初始大小為1MB,最大為5MB,增長方式
為IMBo
T-SQL語句如下:
(named學(xué)生管理庫,,
filename二'e:\學(xué)生管理庫.mdf',
size=5MB,
maxsize=50MB,
filegrowth=10%)
Logon
(name='學(xué)生管理庫',
filename='e:\學(xué)生管理庫_log.ldr,
size=lMB,
maxsize=5MB,
filegrowth=lMB)
Go
(2)分別創(chuàng)建“學(xué)生”、“選課”、“課程”數(shù)據(jù)表。
(3)向“學(xué)生”、“選課”、“課程”數(shù)據(jù)表中分別輸入若干條記錄。
(4)刪除“學(xué)生”、“選課”、“課程”數(shù)據(jù)表。
第4章習(xí)題參考答案
1.計算“2012-5T6”與當(dāng)前日期相差的年份數(shù)。
答:selectdatediff(y,?2012-5-16,,getdateO)
2.聲明一個長度為20的字符型變量,并賦值為"SQLServer數(shù)據(jù)庫”,
然后輸出。
答:
declare@cchar(20)
set@c='SQLServer數(shù)據(jù)庫'
print@c
3.定義一個局部變量@score,并為其賦值,判斷其是否及格。
答:
declare?scorefloat
set@score=85
if@score>=60
print'及格'
else
print'不及格'
4.使用Transact-SQL語句編程求100以內(nèi)能被3整除的整數(shù)的個數(shù)。
答:
declare@nint,?countint
select@n=1,@count=0
while@n<=100
begin
if@n%3==0
set@count=@count+l
set@n=@n+l
end
printMOO以內(nèi)能被3整除的整數(shù)的個數(shù)二'+convert(char,?count)
go
第5章習(xí)題參考答案
1.回到工作場景,完成工作場景中提出的查詢要求。
略
2.簡述SELECT語句的基本語法。
SELECT語句的完整語法格式如下:
SELECT〈列名選項〉
FROM<表名>|<視圖名稱》
[WHERE〈查詢條件>|〈聯(lián)接條件習(xí)
[GROUPBY〈分組表達(dá)式習(xí)HAVING〈分組統(tǒng)計表達(dá)式習(xí)]
[ORDERBY〈排序表達(dá)式>[ASC|DESC]]
3.簡述SELECT語句中的FROM、WHERE.GROUPBY以及ORDERBY子句的作用。
?SELECT子句:用來指定查詢返回的列,各列在SELECT子句中的順序決定了它們
在結(jié)果表中的順序;
?FROM子句:用來指定數(shù)據(jù)來源的表或視圖;
?WHERE子句:用來限定返回行的搜索條件;
?GROUPBY子句:用來指定查詢結(jié)果的分組條件;
?ORDERBY子句:用來指定結(jié)果的排序方式。
4.簡述WHERE子句可以使用的搜索條件及其意義。
常用的查詢條件如下表:
查詢條件運算符說明
比較=、>、V、>=、<=、!=、<>、!>、NOT+上述運算符比較大小
用于邏輯運算符判斷,也可用于
邏輯運算AND、OR、NOT
多重條件的判斷
判斷值是否與指定的字符通配
字符匹配LIKE.NOTLIKE
格式相符
確定范圍BETWEEN...AND...、NOTBETWEEN...AND...判斷值是否在范圍內(nèi)
確定集合IN、NOTIN判斷值是否為列表中的值
空值ISNULL、ISNOTNULL判斷值是否為空
5.舉例說明什么是內(nèi)連接、外連接和交叉連接?
交叉連接也稱非限制連接,又叫廣義笛卡爾積。兩個表的廣義笛卡爾積是兩表中記錄
的交叉乘積,結(jié)果集的列為兩個表屬性列的和,其連接的結(jié)果會產(chǎn)生一些沒有意義的記錄,
而且進(jìn)行該操作非常耗時。因此該運算的實際意義不大。
交叉連接會產(chǎn)生很多冗余的記錄,那么如何篩選出有用的連接呢?通過內(nèi)連接來實
現(xiàn),內(nèi)連接也稱為簡單連接,它會把兩個或多個表進(jìn)行連接,只查出匹配的記錄,不匹配
的記錄將無法查詢出來。這種連接查詢是平常用的最多的查詢。內(nèi)連接中常用的就是等值
連接和非等值連接。等值連接的連接條件是在WHERE子句中給出的,只有滿足連接條件
的行才會出現(xiàn)在查詢結(jié)果中。這種形式也稱為連接謂詞表示形式,是SQL語言早期的連接
形式。當(dāng)連接條件中的關(guān)系運算符使用除以外的其他關(guān)系運算符時,這樣的內(nèi)連接
稱為非等值連接。
外連接是指連接關(guān)鍵字JOIN的后面表中指定列連接在前一表中指定列的左邊或者右
邊,如果兩表中指定列沒有匹配行,則返回空值。
外連接的結(jié)果不但包含滿足連接條件的行,還包含相應(yīng)表中的所有行。外連接有三種
形式,其中的OUTER關(guān)鍵字可以省略:
(1)左外連接(LEFTOUTERJOIN或LEFTJOIN):包含左邊表的全部行(不管右類似于
這樣的自身連接在實際應(yīng)用中還有很多,例如,求與“趙權(quán)”同職稱的老師等。邊的表中
是否存在與它們匹配的行),以及右邊表中全部滿足條件的行。
(2)右外連接(RIGHTOUTERJOIN或RIGHTJOIN):包含右邊表的全部行(不管左邊
的表中是否存在與它們匹配的行),以及左邊表中全部滿足條件的行。
6.INSERT語句的VALUES子句中必須指明哪些信息,必須滿足哪些要求?
INSERT語句格式為:
INSERTINTO表名K列名1,…)]VALUES(列值1,…)
(1)在插入數(shù)據(jù)時,表明后面的列名不能為空,并且VALUES后面的列值須和列名一
一對應(yīng);
(2)在使用語句整體插入數(shù)據(jù)時,須根據(jù)數(shù)據(jù)庫里的所有字段按順序填寫對應(yīng)字段。
7.使用教學(xué)管理數(shù)據(jù)庫,進(jìn)行如下操作:
(1)查詢所有課程的課程名和課程號;
SELECT課程名,課程號
FROM課程
(2)查詢所有考試不及格的學(xué)生的學(xué)號、姓名和分?jǐn)?shù);
SELECT學(xué)號,姓名,分?jǐn)?shù)
FROM學(xué)生,選課
WHERE選課.成績<60AND學(xué)生.學(xué)號二選課.學(xué)號
(3)查詢年齡在18-20歲之間的學(xué)生姓名、年齡、所屬院系和政治面貌;
SELECT學(xué)號,年齡,系別,政治面貌
FROM學(xué)生
WHERE年齡BETWEEN18AND20
(4)查詢所有姓李的學(xué)生的學(xué)號、姓名和性別;
SELECT學(xué)號,年齡,系別,政治面貌
FROM學(xué)生
WHERE姓名LIKE,李%,
(5)查詢名字中第2個字為“華”字的女學(xué)生的姓名、年齡和所屬院系;
SELECT姓名,年齡,系別
FROM學(xué)生
WHERE年齡姓名LIKE1華%,
(6)查詢所有選了3門課以上的學(xué)生的學(xué)號、姓名、所選課程名稱及分?jǐn)?shù);
SELECT學(xué)生.學(xué)號,課程號,姓名,分?jǐn)?shù)
FROM學(xué)生,課程,選課
WHERE學(xué)生.學(xué)號二選課.學(xué)號AND課程.課程號二選課.課程號
GROUPBY學(xué)生.學(xué)號
HAVINGCOUNT(*)>=3
(7)查詢每個同學(xué)各門課程的平均分?jǐn)?shù)和最高分?jǐn)?shù),按照降序排列輸出學(xué)生姓名、平
均分?jǐn)?shù)和最高分?jǐn)?shù);
SELECT姓名,AVG(分?jǐn)?shù)),MAX(分?jǐn)?shù))
FROM學(xué)生,選課
WHERE學(xué)生.學(xué)號二選課.學(xué)號
ORDERBYAVG(分?jǐn)?shù))DESC
(8)查詢所有學(xué)生都選修了的課程號和課程名。
SELECT課程號,課程名
FROM課程
WHERENOTEXISTS(SELECT*
FROM學(xué)生
WHERENOTEXISTS(SELECT*
FROM選課
WHERE學(xué)號=學(xué)生.學(xué)號
AND課程號=課程.課程號)
第6章習(xí)題參考答案
1.使用T?SQL語句管理表的數(shù)據(jù),插入語句,修改語句,刪除語句分別是什么?
答:插入語句是:
INSERT[INTO]<table_name>(column_name1,column_name2...,column_namen)
VALUES(values1,values2,…,valuesn)
修改語句是:
UPDATEtable_name
SETcolumn_l=expression_l,column_2=expression_2,…,column_n=expression_n
[WHEREsearch_conditions]
刪除語句是:
DELETEFROMtable_name[WHEREsearch_conditions]
2.向表中插入數(shù)據(jù)一共有幾種方法?
答:(1)插入簡單記錄值行
(2)插入多行記錄值
(3)利用SELECT插入查詢結(jié)果集
(4)利用BULKINSERT語句進(jìn)行大批量插入數(shù)據(jù)
3.刪除表中的數(shù)據(jù)可以使用哪幾種語句?有什么區(qū)別?
答:刪除表中的數(shù)據(jù)可以使用DELETE語句、TRUNCATETABLE語句以及DROP
TABLE語句。使用TRUNCATETABLE語句比DELETE語句要快,因為它是逐頁冊IJ
除表中的內(nèi)容,而DELETE則是逐行刪除內(nèi)容。TRUNCATETABLE是不記錄日志的
操作,它將釋放表的數(shù)據(jù)和索引所占據(jù)的所有空間以及所有為全部索引分配的頁,刪
除的數(shù)據(jù)是不可恢復(fù)的。而DELETE語句則不同,它在刪除每一行記錄時都要把刪除
操作記錄在日志中。刪除操作記錄在日志中,可以通過事務(wù)回滾來恢復(fù)刪除的數(shù)據(jù)。
用TRUNCATETABLE和DELETE語句都可以刪除所有的記錄,但是表結(jié)構(gòu)還在,
而DROPTABLE不但刪除表中的數(shù)據(jù),而且還刪除表的結(jié)構(gòu)并釋放空間。
第7章習(xí)題參考答案
1.唯一約束和主鍵約束的區(qū)別是什么?
答:RPRIMAYKEY約束與UNIQUE約束的區(qū)別如下:
(1)一個表中只能有一個RPRIMAYKEY約束,但可以有多個UNIQUE約束。
(2)UNIQUE約束所在的列允許空值,只能出現(xiàn)一個空值,但是RPRIMAYKEY約
束所在的列不允許空值。
(3)在默認(rèn)情況下,RPRIMAYKEY約束強(qiáng)制在指定的列上創(chuàng)建一個唯一性的聚集
索引:UNIQUE約束強(qiáng)制在指定的列上創(chuàng)建一個唯一性的非聚集索引。
2.規(guī)則對象與CHECK約束有什么區(qū)別?
答:CHECK約束比規(guī)則更簡明,一個列只能應(yīng)用一個規(guī)則,但是卻可以應(yīng)用多個
CHECK約束。CHECK約束可作為CREATETABLE語句的一部分進(jìn)行指定,而規(guī)
則以單獨的對象創(chuàng)建,然后綁定到列上。
3.什么是數(shù)據(jù)庫的完整性?完整性有哪些類型?
答:數(shù)據(jù)完整性(DataIntegrity)指的是存儲在數(shù)據(jù)庫中的所有數(shù)據(jù)值均為正確合理的狀
態(tài)。如果數(shù)據(jù)庫中含有不正確的數(shù)據(jù)值,則該數(shù)據(jù)庫被稱為喪失數(shù)據(jù)完整性。數(shù)據(jù)完
整性分為4個類別:實體完整性(Entityintegrity),域完整性①omainintegrity),引用完
整性(Referentialintegrity),用戶定義完整性(User-definedintegrity)o
4.創(chuàng)建一個“職工”數(shù)據(jù)表,包含職工號char(6)>姓名nvarchar(4)>性別nchar(l)>
部門nvarchar(lO)字段。設(shè)置“職工號”為主鍵、“姓名”字段設(shè)置唯一約束、“性
別”字段設(shè)置為只能取值“男”或“女”、“部門”字段設(shè)置默認(rèn)值為“銷售處”。
答:CREATETABLE職工
(職工號char(6)primarykey,
姓名nvarchar(4)unique,
性別nchar(l),
部門nvarchar(lO))
CREATERULEsex_ruleAS@性別in('男'J女')
CREATERULEdepartmentdefaultAS'銷售處’
ExecSpbindrule飛exjrule'J職工.性別'
ExecSpbindefault"departmentdefaulf,41{HI.RP|'T
第8章習(xí)題參考答案
1.簡答題
(1)本章介紹了哪幾種索引,分別描述每種索引的主要特征。
答:1.基于行的索引
基于行的(或行存儲)索引是傳統(tǒng)的索引,將數(shù)據(jù)存儲為數(shù)據(jù)頁中的行。這些索引包括
聚集索引和非聚集索引。
1)聚集索引
聚集索引基于鍵列存儲和排序表的葉級數(shù)據(jù)。實際的存儲頁鏈接在一起,所以可以按
照聚集鍵的順序依次讀取表,導(dǎo)致的I/O開銷極小。每個表只可以有一個聚集索引,因為
只可以按照一種順序排序數(shù)據(jù),而且聚集索引代表了實際的表數(shù)據(jù)。
2)非聚集索引
非聚集索引包含索引鍵值和行定位器,行定位器指向?qū)嶋H的數(shù)據(jù)行。如果沒有聚集索
引,行定位器就是實際數(shù)據(jù)行的RowID指針。如果存在聚集索引,行定位器就是該行的聚
集索引鍵。
3)覆蓋索引
覆蓋索引是滿足(覆蓋)特定查詢的所有字段需求的索引。通過在CREATEINDEX語句
中使用INCLUDE短語,非聚集索引在葉級可以包含非鍵列,以幫助覆蓋查詢。這些索引
類型可以改進(jìn)查詢性能,并減少I/O操作,因為滿足查詢所需要的列作為鍵列或非鍵列包
括在索引自身中,不需要再讀取實際的數(shù)據(jù)行。
4)過濾索引
過濾索引使用WHERE子句指示將要索引哪些行。因為只是索引表中的部分行,所以
可以創(chuàng)建較小的數(shù)據(jù)集存儲到索引中。過濾索引總是非聚集索引,因為它們選擇總記錄集
的一個子集,而總記錄集用表上的聚集索引表示。如果查詢的WHERE子句可用過濾索引
的WHERE子句中的行滿足,那么就會在查詢計劃中選擇過濾索引。
2.基于列的索引
基于列的索引是在單獨列上創(chuàng)建的索引?;诹械乃饕袃煞N主要類型:列存儲索引
(SQLServer2012中首次引入)和XML索弓1(提供了XML列中的值的索引)。
列存儲索引
列存儲索引在SQLServer2012中首次引入。在這種基于列的索引中,為每個列創(chuàng)建行
值的一個索引,然后所有的索引連接起來,表示表的基本數(shù)據(jù)存儲。這些索引基于Vertip叫
引擎實現(xiàn),該引擎實現(xiàn)能夠?qū)崿F(xiàn)高壓縮比,處理大型數(shù)據(jù)集。
3.內(nèi)存優(yōu)化索引
SQLServer2016創(chuàng)建了新的索引來支持內(nèi)存優(yōu)化表。散列索引保存在內(nèi)存中,用于訪
問內(nèi)存優(yōu)化(Hekaton)表中的數(shù)據(jù)。所需要的內(nèi)存量與散列索引使用的桶計數(shù)有關(guān)。
內(nèi)存優(yōu)化的非聚集索引將對從內(nèi)存優(yōu)化表中訪問的數(shù)據(jù)進(jìn)行排序。這些索引只能使用
CREATETABLE和CREATEINDEX語句創(chuàng)建,并且是為范圍排序掃描(按照排序順序讀
取大量數(shù)據(jù))創(chuàng)建的。當(dāng)內(nèi)存表加載到內(nèi)存中時會創(chuàng)建這些索引,它們不會被持久化到物理
表C
4.其他索引類型
SQLServer中還有其他一些類型的索引,用于支持具體的開發(fā)主題。本節(jié)將介紹這些
類型的基本知識,要詳細(xì)了解這些索引,請閱讀聯(lián)機(jī)叢書中的“索引”小節(jié)。
1)XML索引
XML索引是一種特殊的索引類型,用于索引存儲在XML列中的值。這些索引拆分
XML列并存儲詳細(xì)信息,供在SQL查詢中快速檢索。XML列可能很大,在運行時將XML
數(shù)據(jù)拆分成可讀的數(shù)據(jù)元素會減緩大型XML查詢。通過使用XML索引,這種拆分是提前
完成的,在運行時讀取很快。
2)全文索引
創(chuàng)建全文索引是為了支持SQLServer中的全文搜索功能。全文索引讓用戶和應(yīng)用程序
能夠在SQLServer表中查詢基于字符的數(shù)據(jù)。必須先在表上創(chuàng)建全文索引,然后才能在全
文搜索中包含它。
3)空間索引
空間索引對空間數(shù)據(jù)列進(jìn)行索引??臻g數(shù)據(jù)列包含GEOMETRY或GEOGRAPHY類
型的值??臻g索引支持處理空間數(shù)據(jù)的操作,如內(nèi)置的地理方法(STContains。、
STDistance()^STEquals()>STIntersects()等)。為了讓優(yōu)化器能夠選擇查詢,必須在查詢的
JOIN或WHERE子句中使用這些方法。
(3)索引數(shù)據(jù)庫的重要組成部分包括哪些?
答:索引數(shù)據(jù)庫的重要組成部分包括創(chuàng)建分區(qū)和索引,以及高級的索引技術(shù),如過濾
索引和覆蓋索引。
(4)重新組織和重新構(gòu)建索引的區(qū)別是什么?
答:列存儲索引在SQLServer2012中首次引入。在這種基于列的索引中,為每個列創(chuàng)
建行值的一個索引,然后所有的索引連接起來,表示表的基本數(shù)據(jù)存儲。這些索引基于
Vertip叫引擎實現(xiàn),該引擎實現(xiàn)能夠?qū)崿F(xiàn)高壓縮比,處理大型數(shù)據(jù)集。在SQLServer2012
中,這些索引是不可更新的一要在索引中添加值,就需要重新構(gòu)建索引。
(5)聚集索引和其他索引有什么本質(zhì)區(qū)別?
答:1.聚集索引和非聚集索引的根本區(qū)別是表記錄的排列順序和與索引的排列順序是
否一致,聚集索引表記錄的排列順序與索引的排列順序一致,優(yōu)點是查詢速度快,因為一
旦具有第一個索引值的紀(jì)錄被找到,具有連續(xù)索引值的記錄也一定物理的緊跟其后。
2.聚集索引的缺點是對表進(jìn)行修改速度較慢,這是為了保持表中的記錄的物理順
序與索引的順序一致,而把記錄插入到數(shù)據(jù)頁的相應(yīng)位置,必須在數(shù)據(jù)頁中進(jìn)行數(shù)據(jù)重排,
降低了執(zhí)行速度。非聚集索引指定了表中記錄的邏輯順序,但記錄的物理順序和索引的順
序不一致,聚集索引和非聚集索引都采用了B+樹的結(jié)構(gòu),但非聚集索引的葉子層并不與實
際的。
第9章習(xí)題參考答案
1.什么是事務(wù)?簡述事務(wù)ACID原則的含義。
答:事務(wù)是由一組SQL語句組成的邏輯處理單元,事務(wù)具有以下4個屬性,通常簡稱
為事務(wù)的ACID屬性。
ACID是Atomic(原子性)、Consistency(一致性)、Isolation(隔離性)、Durability(持
久性)的英文縮寫。
Atomic(原子性):指整個數(shù)據(jù)庫事務(wù)是不可分割的工作單位。只有使據(jù)庫中所有的操作
執(zhí)行成功,才算整個事務(wù)成功;事務(wù)中任何一個SQL語句執(zhí)行失敗,那么已經(jīng)執(zhí)行成功的
SQL語句也必須撤銷,數(shù)據(jù)庫狀態(tài)應(yīng)該退回到執(zhí)行事務(wù)前的狀態(tài)。
Consistency(一致性):指數(shù)據(jù)庫事務(wù)不能破壞關(guān)系數(shù)據(jù)的完整性以及業(yè)務(wù)邏輯上的一致
性c例如對銀行轉(zhuǎn)帳事務(wù),不管事務(wù)成功還是失敗,應(yīng)該保證事務(wù)結(jié)束后ACCOUNTS表
中Tom和Jack的存款總額為2000元。
Isolation(隔離性):指的是在并發(fā)環(huán)境中,當(dāng)不同的事務(wù)同時操縱相同的數(shù)據(jù)時:每個事
務(wù)都有各自的完整數(shù)據(jù)空間。
Durability(持久性):指的是只要事務(wù)成功結(jié)束,它對數(shù)據(jù)庫所做的更新就必須永久保存
下來。即使發(fā)生系統(tǒng)崩潰,重新啟動數(shù)據(jù)庫系統(tǒng)后,數(shù)據(jù)庫還能恢復(fù)到事務(wù)成功結(jié)束時的
狀態(tài)。
2.為什么要使用鎖?SQLServer2016提供了哪幾種鎖的模式。
答:數(shù)據(jù)庫鎖的產(chǎn)生原因:數(shù)據(jù)庫和操作系統(tǒng)一樣,是一個多用戶使用的共享資源。當(dāng)多
個用戶并發(fā)地存取數(shù)據(jù)時,在數(shù)據(jù)庫中就會產(chǎn)生多個事務(wù)同時存取同一數(shù)據(jù)的情況。若對
并發(fā)操作不加控制就可能會讀取和存儲不正確的數(shù)據(jù),破壞數(shù)據(jù)庫的一致性。加鎖是實現(xiàn)
數(shù)據(jù)庫并發(fā)控制的一個非常重要的技術(shù)。在實際應(yīng)用中經(jīng)常會遇到的與鎖相關(guān)的異常情
況,當(dāng)兩個事務(wù)需要一組有沖突的鎖,而不能將事務(wù)繼續(xù)下去的話,就會出現(xiàn)死鎖,嚴(yán)重
影響應(yīng)用的正常執(zhí)行。
在數(shù)據(jù)庫中有兩種基本的鎖類型:排它鎖(ExclusiveLocks,即X鎖)和共享鎖(Share
Locks,即S鎖)。當(dāng)數(shù)據(jù)對象被加上排它鎖時,其他的事務(wù)不能對它讀取和修改。加了共
享鎖的數(shù)據(jù)對象可以被其他事務(wù)讀取,但不能修改。數(shù)據(jù)庫利用這兩種基本的鎖類型來對
數(shù)據(jù)庫的事務(wù)進(jìn)行并發(fā)控制。
3.什么是死鎖?怎么預(yù)防死鎖?怎么解決死鎖?
答:當(dāng)事務(wù)T1封鎖了數(shù)據(jù)RI,T2封鎖了數(shù)據(jù)R2,然后T1又請求封鎖數(shù)據(jù)R2,因
T2封鎖了數(shù)據(jù)R2于是T1等待T2釋放數(shù)據(jù)R2上的鎖,接著T2又申請封鎖數(shù)據(jù)R1,
因為T1封鎖了數(shù)據(jù)RI,T2也只能等待T1釋放數(shù)據(jù)R1上的鎖.這樣就出現(xiàn)了T1等
待T2而T2又在等待T1的局面,T2和T1兩個事物永遠(yuǎn)不能結(jié)束,形成死鎖。
產(chǎn)生死鎖的原因主要是:
(1)因為系統(tǒng)資源不足。
(2)進(jìn)程運行推進(jìn)的順序不合適。
(3)資源分配不當(dāng)?shù)取?/p>
如果系統(tǒng)資源充足,進(jìn)程的資源請求都能夠得到滿足,死鎖出現(xiàn)的可能性就很低,
否則就會因爭奪有限的資源而陷入死鎖。其次,進(jìn)程運行推進(jìn)順序與速度不同,也可
能產(chǎn)生死鎖。
產(chǎn)生死鎖的四個必要條件:
(1)互斥條件:一個資源每次只能被一個進(jìn)程使用。
(2)請求與保持條件:一個進(jìn)程因請求資源而阻塞時,對已獲得的資源保持不
放。
(3)不剝奪條件:進(jìn)程己獲得的資源,在末使用完之前,不能強(qiáng)行剝奪。
(4)循環(huán)等待條件:若干進(jìn)程之間形成一種頭尾相接的循環(huán)等待資源關(guān)系。
這四個條件是死鎖的必要條件,只要系統(tǒng)發(fā)生死鎖,這些條件必然成立,而只要
上述條件之一不滿足,就不會發(fā)生死鎖。
死鎖的解除與預(yù)防:
理解了死鎖的原因,尤其是產(chǎn)生死鎖的四個必要條件,就可以最大可能地避免、
預(yù)防和解除死鎖。所以,在系統(tǒng)設(shè)計、進(jìn)程調(diào)度等方面注意如何不讓這四個必要條件
成立,如何確定資源的合理分配算法,避免進(jìn)程永久占據(jù)系統(tǒng)資源。此外,也要防止
進(jìn)程在處于等待狀態(tài)的情況下占用資源。因此,對資源的分配要給予合理的規(guī)劃。
4.試說明使用游標(biāo)的步驟和方法。
答:游標(biāo)(cursor)是系統(tǒng)為用戶開設(shè)的一個數(shù)據(jù)緩沖區(qū),存放SQL語句的執(zhí)行結(jié)果。
每個游標(biāo)區(qū)都有一個名字,用戶可以用SQL語句逐一從游標(biāo)中獲取記錄,并賦給主變
量,交由主語言進(jìn)一步處理。游標(biāo)提供了一種對從表中檢索出的數(shù)據(jù)進(jìn)行操作的靈活
手段。
使用游標(biāo)的基本步驟:
1、聲明游標(biāo)。把游標(biāo)與T-SQL語句的結(jié)果集聯(lián)系起來。
2、打開游標(biāo)。
3、使用游標(biāo)操作數(shù)據(jù)。
4、關(guān)閉游標(biāo)。
第10章習(xí)題參考答案
1.試說明存儲過程的特點及分類。
答:存儲過程(StoredProcedure)是在大型數(shù)據(jù)庫系統(tǒng)中,一組為了完成特定功能的SQL
語句集,存儲在數(shù)據(jù)庫中,經(jīng)過第一次編譯后調(diào)用不需要再次編譯,用戶通過指定存儲過
程的名字并給出參數(shù)(如果該存儲過程帶有參數(shù))來執(zhí)行它。存儲過程是數(shù)據(jù)庫中的一個
重要對象。存儲過程可以分三大類:
系統(tǒng)存儲過程:
用來管理SQLserver和現(xiàn)實有關(guān)數(shù)據(jù)庫和用戶信息的存儲過程
過程開頭SP_開頭,存放在master數(shù)據(jù)庫中
擴(kuò)展存儲過程:
使用其他變成語言創(chuàng)建外部存儲過程,并將這個存儲過程
在SQLserver中作為存儲過程來使用。XP_開頭
自定義存儲過程:
用戶在SQLserver中通過采用SQL語句創(chuàng)建的存儲過程,通常己USP_開頭。
2?創(chuàng)建一個存儲過程,顯示所有價格在15美元以下的書的書名,類型,價格。
答:CREATEPROCEDUREshow_title
AS
SELECTtitle,type,price
FROMtitles
WHEREprice<15
GO
EXECshow_title
3.把價格作為參數(shù),創(chuàng)建一個能顯示在某兩個指定價格之間的書的書名,類型,價格。
答:CREATEPROCEDUREshow_title2
@pricelmoney,@price2money
AS
SELECTtitle,type,price
FROMtitles
WHEREpricebetween@priceland@price2
GO
show_title212,20
4.使用OUTPUT參數(shù),創(chuàng)建一個計算圓柱體體積的存儲過程。并執(zhí)行它。
答:CREATEPROCEDUREcomp_area
@rsmallint,
@hsmallint,
@resultdecimal(10,2)OUTPUT
AS
SET@result=PI()*SQUARE(@r)*@h
GO
DECLARE@answerdecimal(10,2)
EXECUTEcomp_area2,3,@answerOUTPUT
SELECTTheresultis::@answer
5.A)建立price_change表,準(zhǔn)備用來存放書的價格變化信息,有以下幾列:titlejd,
type,old_price,new_price,change_date,operator,?
B)建立一個更新觸發(fā)器,一旦titles表發(fā)生更新,立即把相關(guān)信息存放到price_change
表中。
答:createtableprice_change
title_idvarchar(20),
typevarchar(20),
old_pricemoney,
new_pricemoney,
change_datedatetime,
operatorvarchar(20)
)
g。
createtriggertri_price
ontitles
fbrupdate
as
insertintoprice_change
selecto.title_id,o.type,o.price,n.price,getdate(),user_name()
fromdeletedoJOINinsertedn
ONo.title_id=n.title_id
go
updatetitlessetprice=price*1.1
6.修改習(xí)題5,使得只有當(dāng)price列被更新時,才會觸發(fā)觸發(fā)器。
答:createtriggertri_price
ontitles
forupdate
as
ifupdate(price)
begin
insertintoprice_change
selecto.title_id,o.type,o.price,n.price,getdate(),user_name()
fromdeletedoJOINinsertedn
ONo.title_id=n.title_id
end
go
7.創(chuàng)建一個存放書的編號、書名、類型、價格、對應(yīng)作者的編號、姓名、電話、住址的視
圖,為這個視圖創(chuàng)建一個Insteadof更新觸發(fā)器,把對視圖的更新放到觸發(fā)器里面來做。
(假設(shè),我們只允許更新這個視圖的某幾個列:price,phone,address)。添加測試數(shù)據(jù)。
更新v_titledetail,把書編號為'LI1234'的書的價格改為200,該書作者的電話該為
’02512345678’
usepubs
go
createviewv_titledetail
as
selectt.title_id,title,type,price,a.au_id,aujname,au_fname,phone,address
fromtitlest,tilleauthorta,authorsa
wheret.title_id=ta.titlejdandta.aujd=a.au_id
createtriggertri_titledetail
onv_titledetail
insteadofupdate
as
declare@pricemoney,
@phonevarchar(20),
@addressvarchar(40),
@title_idvarchar(20),
@au_idvarchar(20)
select@title_id=title_id,@price=price,@au_id=au_id,@phone=phone,@address=
address
frominserted
updatetitlessetprice=@pricewheretitle_id=@title_id
updateauthorssetphone=@phone,address=@addresswhereau_id=@au_id
Go
updatev_titledetail
setprice=200,phone='0251234456781
wheretitle_id=UI2341
第11章習(xí)題參考答案
1.填空題
(1)虛表,定義;
(2)視圖分為3種:標(biāo)準(zhǔn)視圖、索引視圖和分區(qū)視圖;
(3)創(chuàng)建視圖使用的T-SQL語句是createview;修改視圖使用的T-SQL語句是
alterview;刪除視圖使用的T-SQL語句是dropview0
2.簡答題
(1)視圖的作用是什么?
答:視圖主要有以下作用:
1.視圖能夠簡化用戶的操作;
2.視圖使用戶能以多種隹度看待同一數(shù)據(jù);
3.視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨立性;
4.視圖能夠?qū)C(jī)密數(shù)據(jù)提供安全保護(hù);
5.適當(dāng)使用視圖可以更清晰地表達(dá)查詢。
(2)視圖和基本表的主要區(qū)別和聯(lián)系是什么?
答:視圖:在SQL中,視圖是外模式一級數(shù)據(jù)結(jié)構(gòu)的基本單位。它是從一個或幾個基
本表中導(dǎo)出的表,是從現(xiàn)有基本表中抽取若干子集組成用戶的“專用表”。
基本表:基本表的定義指建立基本關(guān)系模式,而變更則是指對數(shù)據(jù)庫中己存在的基本表
進(jìn)行刪除與修改。
二者的區(qū)別:
1、視圖是已經(jīng)編譯好的sql語句。而表不是
2、視圖沒有實際的物理記錄。而表有。
3、表是內(nèi)容,視圖是窗口
4、表只用物理空間而視圖不占用物理空間,視圖只是邏輯概念的存在,表可以及時
四對它進(jìn)行修改,但視圖只能有創(chuàng)建的語句來修改
5、表是內(nèi)模式,試圖是外模式
6、視圖是查看數(shù)據(jù)表的一種方法,可以查詢數(shù)據(jù)表中某些字段構(gòu)成的數(shù)據(jù),只是一
些SQL語句的集合。從安全的角度說,視圖可以不給用戶接觸數(shù)據(jù)表,從而不知道表
結(jié)構(gòu)。
7^表屬于全局模式中的表,是實表;視圖屬于局部模式的表,是虛表。
8、視圖的建立和刪除只影響視圖本身,不影響對應(yīng)的基本表。
聯(lián)系:視圖(view)是在基本表之上建立的表,它的結(jié)構(gòu)(即所定義的列)和內(nèi)容(即
所有數(shù)據(jù)行)都來自基本表,它依據(jù)基本表存在而存在。一個視圖可以對應(yīng)一個基本
表,也可以對應(yīng)多個基本表。視圖是基本表的抽象和在邏輯意義上建立的新關(guān)系
3.在教學(xué)管理數(shù)據(jù)庫中完成如下操作:
(1)創(chuàng)建“市場營銷”系的學(xué)生視圖;
Createviewv-SHICHANG
AS
SELECT*
FROMSTUDENT
WHERESDEPT=,市場營銷,
(2)創(chuàng)建選修“操作系統(tǒng)”課程的學(xué)生視圖;
Createviewv-caozuo
As
Select*
Fromstudent
Wheresnoin(selectsnofromscwhereenoin(selectenofromcoursewherecname=,
操作系統(tǒng)'))
(3)在上述視圖的基礎(chǔ)上嘗試是否能插入、刪除、更新記錄。如若不能,請思考原因是
什么?
答:創(chuàng)建的前一個視圖可以進(jìn)行插入、刪除、更新,第二個不行,因為只有行列子集
視圖才能做這些操作。
第12章習(xí)題參考答案
1.假如jack晉升為本部門的主管,想要授予jack查詢“商品銷售”數(shù)據(jù)庫的sales表
的權(quán)限,如何完成?
答:創(chuàng)建一個部門主管的角色:
Createrole部門主管
給角色授予權(quán)限:
Grantselectonsalesto部門主管
讓jack擔(dān)當(dāng)這個角色
Execsp_addrolemember4部門主管','jack'
2.假如jack調(diào)離本崗位,想要回收jack對sales表的查詢權(quán)限,如何完成?
答:有兩種方法,第一種方法,收回查詢權(quán)限:Revokeselectonsalesfrom部
門主管;第二種方法:讓JACK不再擔(dān)當(dāng)該角色:Execsp_droprolemember,部門主管:'jack'
3.假如jack晉升為本公司的總經(jīng)理,如何使數(shù)據(jù)庫用戶jack擁有該數(shù)據(jù)庫的全部操作
權(quán)限?
答:讓jack成為數(shù)據(jù)庫的所有者:Execsp_addrolememberidb_owner,jack,
4.假如用戶已經(jīng)在SQLServer服務(wù)器內(nèi)為Windows組創(chuàng)建了登錄賬戶,為便于組內(nèi)
成員能夠訪問某數(shù)據(jù)庫下的某些對象,用戶還需要做什么?
答:首先在某庫下創(chuàng)建一個用戶,將Windows組登錄賬戶映射到該用戶上。然后對該
用戶授予訪問某些對象的權(quán)限。
5.如何使應(yīng)用程序角色有效?
答:當(dāng)應(yīng)用程序角色使用密碼被應(yīng)用程序的會話激活以后,在會話期間,會話就失去
了適用于登錄、用戶賬戶或所有數(shù)據(jù)庫中的角色的權(quán)限,轉(zhuǎn)變?yōu)閼?yīng)用程序角色的權(quán)限。
第13章習(xí)題參考答案
1.物理備份設(shè)備與邏輯備份設(shè)備有什么區(qū)別?
答:物理備份設(shè)備是一個操作系統(tǒng)文件,用路徑加上文件名稱來標(biāo)識。例如:
f:\testbackup.bak。
邏輯備份設(shè)備是用戶對物理備份設(shè)備另外命名的簡化名稱。
2.簡述數(shù)據(jù)庫備份與還原的過程。
答:備份就是對數(shù)據(jù)庫中的數(shù)據(jù)產(chǎn)生副本。通過副本將災(zāi)難后的數(shù)據(jù)進(jìn)行全部或部分
恢復(fù)。數(shù)據(jù)還原就是在數(shù)據(jù)庫的一定生命周期的某一時刻還原數(shù)據(jù)。作為數(shù)據(jù)庫管理員,
應(yīng)該將數(shù)據(jù)還原的頻率減到最低,預(yù)計潛在災(zāi)難所能影響到的范圍,當(dāng)災(zāi)難發(fā)生時,加快
還原速度并快速地驗證還原是否成功。
備份和還原的作用:降低數(shù)據(jù)丟失的可能性,并能夠及時恢復(fù)已經(jīng)丟失的數(shù)據(jù),可以
在數(shù)據(jù)庫系統(tǒng)中實施備份和恢復(fù)策略。
3.SQLServer2016數(shù)據(jù)庫恢復(fù)模式分為幾種?
答:SQLServer2012數(shù)據(jù)庫恢復(fù)模式分為三種:完整恢復(fù)模式、大容量日志恢復(fù)模
式、簡單恢復(fù)模式。
4.如何制定備份與恢復(fù)計劃?
答:為確保數(shù)據(jù)庫系統(tǒng)的安全,應(yīng)該制定一個完善可行的備份與恢復(fù)計劃。我們通常
根據(jù)恢復(fù)能力、備份文件的大小及備份時間來確定備份類型。
常用備份的方案有只進(jìn)行安全完整數(shù)據(jù)庫備份;或進(jìn)行完整數(shù)據(jù)庫備份同時進(jìn)行事務(wù)
日志備份;或進(jìn)行完備份整數(shù)據(jù)庫備份和差異數(shù)據(jù)庫。
5.如何減少備份與恢復(fù)操作的執(zhí)行時間?
答:使用多個備份設(shè)備同時進(jìn)行備份處理,同樣,可以從多個備份設(shè)備同時進(jìn)行數(shù)據(jù)
庫恢復(fù)操作。
綜合使用完全數(shù)據(jù)庫備份、差異備份或事務(wù)日志備份來減少每次需要備份的數(shù)據(jù)量。
使用文件或文件組備份以及事務(wù)日志備份,可以只備份或恢復(fù)那些包含相關(guān)數(shù)據(jù)的文
件,而不是整個數(shù)據(jù)庫。
6.差異備份作為備份策略的一部分,其優(yōu)缺點是什么?
差異備份是指備份自最近一次完全數(shù)據(jù)庫備份后更新的數(shù)據(jù)。所以通過差異備份
能夠節(jié)省恢復(fù)過程所需的時間。只需要恢復(fù)完全備份和最近一次的差異備份,用戶就
能還原數(shù)據(jù)庫。
差異備份不能捕獲數(shù)據(jù)庫的更改,所以用戶無法利用它從某個即時點來恢復(fù)數(shù)據(jù)
庫。為了能夠執(zhí)行即時點還原,用戶就必須使用事務(wù)日志備份。此外,隨著最近一次
完全數(shù)據(jù)庫備份與差異備份之間的時間不斷增加,與先前創(chuàng)建的差異備份大小相比,
晚建的差異備份將會更大。
第14章習(xí)題參考答案
1.簡答題
(1)SQLSERVER的維護(hù)計劃和作業(yè)的區(qū)別?
答:二者的區(qū)別:可以把維護(hù)計劃看作是針對數(shù)據(jù)庫進(jìn)行維護(hù)的作業(yè)模板。自定義作
業(yè)具有更廣泛的用途,當(dāng)然,也具有更復(fù)雜的操作。所以,如果僅僅是做個數(shù)據(jù)庫優(yōu)化、
備份什么的,用維護(hù)計劃比較合適;而如果需要制定維護(hù)計劃應(yīng)對不了的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆廣東省佛山市超盈實驗中學(xué)七下數(shù)學(xué)期末復(fù)習(xí)檢測試題含解析
- 個人職業(yè)目標(biāo)提高溝通技巧計劃
- 法學(xué)概論各知識模塊的復(fù)習(xí)重點試題及答案
- 強(qiáng)化應(yīng)變能力的自我提升計劃
- 快樂學(xué)習(xí)軟件設(shè)計師考試的試題及答案
- 藝術(shù)展覽安保工作的總結(jié)與反思計劃
- 商業(yè)智能基本概念試題及答案
- 班級活動評估與效果反饋計劃
- 主管年度創(chuàng)業(yè)精神任務(wù)計劃
- 企業(yè)可持續(xù)發(fā)展與風(fēng)險考量試題及答案
- 國開電大土木工程本科《工程地質(zhì)》在線形考形考(作業(yè)1至4)試題及答案
- 藥物咨詢記錄
- 售后維修服務(wù)單
- 國家中長期科技發(fā)展規(guī)劃綱要2021-2035
- ZDY3200S型煤礦用全液壓坑道鉆機(jī)行業(yè)資料礦業(yè)工程
- 北師大版八年級數(shù)學(xué)下冊 (一元一次不等式)一元一次不等式和一元一次不等式組課件(第2課時)
- 南京市小學(xué)英語六年級小升初期末試卷(含答案)
- 國開電大本科《理工英語3》機(jī)考真題(第005套)
- 護(hù)理安全警示教育PPT
- 草圖大師基礎(chǔ)命令教程
- 清華大學(xué)工商管理專業(yè)課程設(shè)置
評論
0/150
提交評論