版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《數(shù)據(jù)庫(kù)系統(tǒng)及應(yīng)用》課后答案
《數(shù)據(jù)庫(kù)系統(tǒng)及應(yīng)用》(第二版)習(xí)題解答
習(xí)題一
1.什么是數(shù)據(jù)庫(kù)?
數(shù)據(jù)庫(kù)是相互關(guān)聯(lián)的數(shù)據(jù)的集合,它用綜合的方法組織數(shù)據(jù),具有較
小的數(shù)據(jù)冗余,可
供多個(gè)用戶共享,具有較高的數(shù)據(jù)獨(dú)立性,具有安全控制機(jī)制,能夠
保證數(shù)據(jù)的安全、可靠,
允許并發(fā)地使用數(shù)據(jù)庫(kù),能有效、及時(shí)地處理數(shù)據(jù),并能保證數(shù)據(jù)的
一致性和完整性。
2.簡(jiǎn)要概述數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)各自的含義。
數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)是三個(gè)不同的概念,數(shù)據(jù)庫(kù)強(qiáng)
調(diào)的是相互關(guān)聯(lián)的
數(shù)據(jù),數(shù)據(jù)庫(kù)管理系統(tǒng)是管理數(shù)據(jù)庫(kù)的系統(tǒng)軟件,而數(shù)據(jù)庫(kù)系統(tǒng)強(qiáng)調(diào)
的是基于數(shù)據(jù)庫(kù)的計(jì)算
機(jī)應(yīng)用系統(tǒng)。
3.數(shù)據(jù)獨(dú)立性的含義是什么?
數(shù)據(jù)獨(dú)立性是指數(shù)據(jù)的組織和存儲(chǔ)方法與應(yīng)用程序互不依賴(lài)、彼此獨(dú)
立的特性。這種特
性使數(shù)據(jù)的組織和存儲(chǔ)方法與應(yīng)用程序互不依賴(lài),從而大大降低應(yīng)用
程序的開(kāi)發(fā)代價(jià)和維護(hù)
代價(jià)。
4.數(shù)據(jù)完整性的含義是什么?
保證數(shù)據(jù)正確的特性在數(shù)據(jù)庫(kù)中稱(chēng)之為數(shù)據(jù)完整性。
5.簡(jiǎn)要概述數(shù)據(jù)庫(kù)管理員的職責(zé)。
數(shù)據(jù)庫(kù)管理員的職責(zé)可以概括如下:
(1)首先在數(shù)據(jù)庫(kù)規(guī)劃階段要參與選擇和評(píng)價(jià)與數(shù)據(jù)庫(kù)有關(guān)的計(jì)算
機(jī)軟件和硬件,要與
數(shù)據(jù)庫(kù)用戶共同確定數(shù)據(jù)庫(kù)系統(tǒng)的目標(biāo)和數(shù)據(jù)庫(kù)應(yīng)用需求,要確定數(shù)
據(jù)庫(kù)的開(kāi)發(fā)計(jì)劃;
(2)在數(shù)據(jù)庫(kù)設(shè)計(jì)階段要負(fù)責(zé)數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)的制定和共用數(shù)據(jù)字典的
研制,要負(fù)責(zé)各級(jí)數(shù)
據(jù)庫(kù)模式的設(shè)計(jì),負(fù)責(zé)數(shù)據(jù)庫(kù)安全、可靠方面的設(shè)計(jì);
(3)在數(shù)據(jù)庫(kù)運(yùn)行階段首先要負(fù)責(zé)對(duì)用戶進(jìn)行數(shù)據(jù)庫(kù)方面的培訓(xùn);負(fù)
責(zé)數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)和
恢復(fù);負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行維護(hù);負(fù)責(zé)監(jiān)視數(shù)據(jù)庫(kù)的性能,并
調(diào)整、改善數(shù)據(jù)庫(kù)的性
能,提高系統(tǒng)的效率;繼續(xù)負(fù)責(zé)數(shù)據(jù)庫(kù)安全系統(tǒng)的管理;在運(yùn)行過(guò)程
中發(fā)現(xiàn)問(wèn)題、解決問(wèn)題。
6.文件系統(tǒng)用于數(shù)據(jù)管理存在哪些明顯的缺陷?
文件系統(tǒng)用于數(shù)據(jù)管理明顯存在如下缺陷:
(1)數(shù)據(jù)冗余大。這是因?yàn)槊總€(gè)文件都是為特定的用途設(shè)計(jì)的,因此
就會(huì)造成同樣的數(shù)
據(jù)在多個(gè)文件中重復(fù)存儲(chǔ)。
(2)數(shù)據(jù)不一致性。這往往是由數(shù)據(jù)冗余造成的,在進(jìn)行更新時(shí),稍
不謹(jǐn)慎就會(huì)造成同
一數(shù)據(jù)在不同文件中的不一致。
(3)程序和數(shù)據(jù)之間的獨(dú)立性差。應(yīng)用程序依賴(lài)于文件的存儲(chǔ)結(jié)構(gòu),
使得若修改文件的
存儲(chǔ)結(jié)構(gòu)則必須修改程序。
(4)數(shù)據(jù)聯(lián)系弱。文件與文件之間是獨(dú)立的,文件之間的聯(lián)系必須通
過(guò)程序來(lái)構(gòu)造。因
此,文件系統(tǒng)是一個(gè)不具有彈性的、無(wú)結(jié)構(gòu)的數(shù)據(jù)集合,不能反映現(xiàn)
實(shí)世界事物之間的聯(lián)系。
習(xí)題二
1.數(shù)據(jù)的三種范疇的含義是什么?
數(shù)據(jù)需要我們的認(rèn)識(shí)、理解、整理、規(guī)范和加工,然后才能存放到數(shù)
據(jù)庫(kù)中。數(shù)據(jù)從現(xiàn)
實(shí)生活進(jìn)入到數(shù)據(jù)庫(kù)實(shí)際經(jīng)歷了現(xiàn)實(shí)世界階段(認(rèn)識(shí)、理解)、信息
世界階段(規(guī)范、提升)
和機(jī)器世界階段(管理),我們也把之稱(chēng)為數(shù)據(jù)的三種范疇,數(shù)據(jù)在
三種范疇中的概念、術(shù)語(yǔ)
都有些不同。
2.對(duì)以下問(wèn)題分析實(shí)體之間的聯(lián)系,并分別畫(huà)出E-R圖:
略
3.試述為什么要討論實(shí)體之間的聯(lián)系類(lèi)型?
實(shí)體之間的聯(lián)系類(lèi)型決定了數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)的結(jié)果,與數(shù)據(jù)庫(kù)的設(shè)計(jì)質(zhì)
量密切相關(guān)。
4.多對(duì)多聯(lián)系如何轉(zhuǎn)換成一對(duì)多聯(lián)系?并舉例說(shuō)明。
通過(guò)引入一個(gè)表示聯(lián)系的實(shí)體,將原來(lái)兩個(gè)實(shí)體之間的一個(gè)多對(duì)多的
聯(lián)系轉(zhuǎn)換成分別與
表示聯(lián)系的實(shí)體之間的兩個(gè)一對(duì)多的聯(lián)系。例如,倉(cāng)庫(kù)和材料兩個(gè)實(shí)
體之間存在著多對(duì)多的
聯(lián)系,即一個(gè)倉(cāng)庫(kù)可以存放多種材料,一種材料可以存放在多個(gè)倉(cāng)庫(kù);
通過(guò)引入一個(gè)庫(kù)存實(shí)
體轉(zhuǎn)換為倉(cāng)庫(kù)與庫(kù)存之間的一對(duì)多聯(lián)系和材料與庫(kù)存之間的一對(duì)多
聯(lián)系。
5.解釋連接陷阱的概念,在操作數(shù)據(jù)庫(kù)時(shí)如何避免連接陷阱?
所謂連接陷阱就是誤認(rèn)為本來(lái)不存在聯(lián)系的兩個(gè)實(shí)體之間存在聯(lián)系,
從而強(qiáng)行進(jìn)行連接
操作,自然得到錯(cuò)誤的結(jié)果。為了避免連接陷阱,必須明確實(shí)體之間
的聯(lián)系和聯(lián)系類(lèi)型,只
在有聯(lián)系的實(shí)體之間進(jìn)行關(guān)聯(lián)操作。
6.傳統(tǒng)的三大數(shù)據(jù)模型是哪些?它們分別是如何表示實(shí)體之間的聯(lián)
系的?
傳統(tǒng)的三大數(shù)據(jù)模型是層次模型、網(wǎng)狀模型和關(guān)系模型。層次模型用
層次結(jié)構(gòu)表示聯(lián)系,
它的典型代表IMS用層次型表示聯(lián)系;網(wǎng)狀模型用網(wǎng)狀結(jié)構(gòu)表示聯(lián)
系,它的典型代表
CODASYL用系表示聯(lián)系;關(guān)系模型用關(guān)系表示聯(lián)系。
7.解釋存儲(chǔ)數(shù)據(jù)獨(dú)立性和概念數(shù)據(jù)獨(dú)立性的區(qū)別。
存儲(chǔ)數(shù)據(jù)獨(dú)立性強(qiáng)調(diào)的是應(yīng)用程序與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)相互獨(dú)立的特
性,即修改數(shù)據(jù)的存
儲(chǔ)方法或數(shù)據(jù)結(jié)構(gòu)時(shí)不影響應(yīng)用程序;而概念數(shù)據(jù)獨(dú)立性強(qiáng)調(diào)的是應(yīng)
用程序與數(shù)據(jù)的概念結(jié)
構(gòu)相互獨(dú)立的特性,即修改概念結(jié)構(gòu)中的字段時(shí)不影響應(yīng)用程序。
8.為什么說(shuō)概念數(shù)據(jù)庫(kù)和外部數(shù)據(jù)庫(kù)物理上并不真正存在?
只有存儲(chǔ)數(shù)據(jù)庫(kù)是物理上存在的數(shù)據(jù)庫(kù),概念數(shù)據(jù)庫(kù)是存儲(chǔ)數(shù)據(jù)庫(kù)的
抽象,它反映了數(shù)
據(jù)庫(kù)的全局邏輯結(jié)構(gòu);而外部數(shù)據(jù)庫(kù)是概念數(shù)據(jù)庫(kù)的部分抽取,它反
映了數(shù)據(jù)庫(kù)的局部邏輯
結(jié)構(gòu)。
9.說(shuō)明在DBMS中存儲(chǔ)模式、概念模式和外部模式的作用。
存儲(chǔ)模式描述了數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu),它包括對(duì)存儲(chǔ)數(shù)據(jù)庫(kù)中每個(gè)文件
以及字段的描述,
包括用于實(shí)現(xiàn)輔助關(guān)鍵字或存儲(chǔ)文件間聯(lián)系的指針字段的細(xì)節(jié)。存儲(chǔ)
數(shù)據(jù)庫(kù)利用存儲(chǔ)模式組
織和存取存儲(chǔ)數(shù)據(jù)庫(kù)中的文件。如果要修改存儲(chǔ)數(shù)據(jù)庫(kù)的結(jié)構(gòu)(例如,
用倒排文件代替多鏈
表),那么僅僅需要把這些修改反映在存儲(chǔ)模式中,以使數(shù)據(jù)庫(kù)存儲(chǔ)
系統(tǒng)能夠操作新的存儲(chǔ)數(shù)
據(jù)庫(kù)。按這種方法,數(shù)據(jù)庫(kù)管理系統(tǒng)可以提供存儲(chǔ)(物理)數(shù)據(jù)獨(dú)立
性。
概念模式是對(duì)概念數(shù)據(jù)庫(kù)的描述,它包括對(duì)概念文件及概念文件之間
聯(lián)系的描述。概念
數(shù)據(jù)庫(kù)不包含真正的數(shù)據(jù),一切都是由存儲(chǔ)數(shù)據(jù)庫(kù)決定的。
外部模式則是對(duì)外部數(shù)據(jù)庫(kù)的描述,它需要說(shuō)明外部文件、構(gòu)成外部
文件的字段及這些
外部文件之間的聯(lián)系。
數(shù)據(jù)庫(kù)管理系統(tǒng)提供了外部模式與概念模式之間的映象以及概念模
式與存儲(chǔ)模式之間的
映象,使用戶通過(guò)外部數(shù)據(jù)庫(kù)或概念數(shù)據(jù)庫(kù)來(lái)操作存儲(chǔ)數(shù)據(jù)庫(kù)。
習(xí)題三
1.解釋屬性與值域的區(qū)別。
屬性是二維表中的列,而值域是列或?qū)傩缘娜≈捣秶?/p>
2.關(guān)系模型的三個(gè)組成部分是什么?
關(guān)系數(shù)據(jù)模型包括關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三
個(gè)重要因素。
3.對(duì)關(guān)系模型的操作都包括哪些?
關(guān)系數(shù)據(jù)模型中的操作包括:
(1)傳統(tǒng)的集合運(yùn)算:并(Union)、交(Intersection)、差
(Difference)、廣義笛卡爾積
(ExtendedCartesianProduct);
(2)專(zhuān)門(mén)的關(guān)系運(yùn)算:選擇(Select)、投影(Project)、連接(Join)、
除(Divide);
(3)有關(guān)的數(shù)據(jù)操作:查詢(xún)(Query)^插入(Insert)、刪除(Delete)、
修改(Update)o
4.關(guān)系模型的完整性規(guī)則都有哪些?
在關(guān)系數(shù)據(jù)模型中一般將數(shù)據(jù)完整性分為實(shí)體完整性、參照完整性和
用戶定義完整性。
5.試述外部關(guān)鍵字的概念和作用,外部關(guān)鍵字是否允許為空值,為
什么?
如果一個(gè)屬性集不是所在關(guān)系的關(guān)鍵字,但是是其他關(guān)系的關(guān)鍵字,
則該屬性集稱(chēng)為外
部關(guān)鍵字。外部關(guān)鍵字用于實(shí)現(xiàn)表與表之間的參照完整性。
外部關(guān)鍵字是否允許為空值取決于語(yǔ)義的規(guī)定。外部關(guān)鍵字的取值或
者為空值、或者為
被參照關(guān)系中的某個(gè)關(guān)鍵字字段的值。
6.分別敘述在進(jìn)行插入、刪除、更新操作時(shí)都需要進(jìn)行哪些完整性
檢查,并說(shuō)明理由。
(1)執(zhí)行插入操作時(shí)需要分別檢查實(shí)體完整性規(guī)則、參照完整性規(guī)則
和用戶定義完整性
規(guī)則。
首先檢查實(shí)體完整性規(guī)則,如果插入元組的主關(guān)鍵字的屬性不為空
值、并且相應(yīng)的屬性
值在關(guān)系中不存在(即保持唯一性),則可以執(zhí)行插入操作,否則不
可以執(zhí)行插入操作。
接著再檢查參照完整性規(guī)則,如果是向被參照關(guān)系插入元組,則無(wú)須
檢查參照完整性;
如果是向參照關(guān)系插入元組,則要檢查外部關(guān)鍵字屬性上的值是否在
被參照關(guān)系中存在對(duì)應(yīng)
的主關(guān)鍵字的值,如果存在則可以執(zhí)行插入操作,否則不允許執(zhí)行插
入操作。另外,如果插
入元組的外部關(guān)鍵字允許為空值,則當(dāng)外部關(guān)鍵字是空值時(shí)也允許執(zhí)
行插入操作。
最后檢查用戶定義完整性規(guī)則,如果插入的元組在相應(yīng)的屬性值上遵
守了用戶定義完整
性規(guī)則,則可以執(zhí)行插入操作,否則不可以執(zhí)行插入操作。
(2)執(zhí)行刪除操作時(shí)一般只需要檢查參照完整性規(guī)則。
如果刪除的是參照關(guān)系的元組,則不需要進(jìn)行參照完整性檢查,可以
執(zhí)行刪除操作。
如果刪除的是被參照關(guān)系的元組,則檢查被刪除元組的主關(guān)鍵字屬性
的值是否被參照關(guān)
系中某個(gè)元組的外部關(guān)鍵字引用,如果未被引用則可以執(zhí)行刪除操
作;否則可能有三種情況:
1)不可以執(zhí)行刪除操作,即拒絕刪除;
2)可以刪除,但需同時(shí)將參照關(guān)系中引用了該元組的對(duì)應(yīng)元組一起
刪除,即執(zhí)行級(jí)聯(lián)
刪除;
3)可以刪除,但需同時(shí)將參照關(guān)系中引用了該元組的對(duì)應(yīng)元組的外
部關(guān)鍵字置為空
值,即空值刪除。
(3)執(zhí)行更新操作可以看作是先刪除舊的元組,然后再插入新的元
組。所以執(zhí)行更新操
作時(shí)的完整性檢查綜合了上述兩種情況。
7.試述關(guān)系的自然連接和等值連接的異同之處。
自然連接和等值連接都是基于相等比較運(yùn)算的連接,但是自然連接要
去掉重復(fù)的屬性,
而等值連接卻不需要去掉重復(fù)的屬性。
8.以圖3-6的數(shù)據(jù)庫(kù)為例(可參照?qǐng)D5T,該數(shù)據(jù)庫(kù)的實(shí)例),用關(guān)
系代數(shù)完成以下檢
索:
注意:此處暫以*表示連接運(yùn)算符。
1)檢索在倉(cāng)庫(kù)WH2工作的職工的工資。
n職工號(hào),工資(。倉(cāng)庫(kù)號(hào)=〃WH2〃(職工))
2)檢索在上海工作的職工的工資。
“職工號(hào),工資(。城市="上海"(倉(cāng)庫(kù))*職工)
3)檢索北京的供應(yīng)商的名稱(chēng)。
兀供應(yīng)商名(。地址=〃北京〃(供應(yīng)商))
4)檢索目前與職工E6有業(yè)務(wù)聯(lián)系的供應(yīng)商的名稱(chēng)。
r供應(yīng)商名(。職工號(hào)=〃E6〃(訂購(gòu)單)*供應(yīng)商)
5)檢索所有職工的工資都大于1220元的倉(cāng)庫(kù)所在的城市。
r城市(倉(cāng)庫(kù))-五城市(。工資<=1220(職工)*倉(cāng)庫(kù))
6)檢索和北京的所有供應(yīng)商都有業(yè)務(wù)聯(lián)系的職工的工資。
互職工號(hào),工資(職工*(訂購(gòu)單:冗供應(yīng)商號(hào)(。地址=〃北京〃(供
應(yīng)商))))
7)檢索至少和職工El、E4、E7都有聯(lián)系的供應(yīng)商的名稱(chēng)。
二供應(yīng)商名(訂購(gòu)單+(“El",“E4“,“E7")*供應(yīng)商)
9.試述關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的三層模式結(jié)構(gòu)。
略
習(xí)題四
1.簡(jiǎn)述客戶/服務(wù)器結(jié)構(gòu)的概念,并說(shuō)明客戶/服務(wù)器結(jié)構(gòu)與文件服
務(wù)器網(wǎng)絡(luò)結(jié)構(gòu)的區(qū)別。
客戶/服務(wù)器結(jié)構(gòu)的基本思想是應(yīng)用程序或應(yīng)用邏輯可以根據(jù)需要?jiǎng)?/p>
分在服務(wù)器和客戶
工作站中,它既不像集中式系統(tǒng)那樣所有的應(yīng)用程序都在主機(jī)上執(zhí)
行,也不像文件服務(wù)器網(wǎng)
絡(luò)那樣所有的應(yīng)用程序都在客戶端執(zhí)行,它可以使應(yīng)用程序合理負(fù)擔(dān)
在服務(wù)器和客戶端。
客戶/服務(wù)器結(jié)構(gòu)與文件服務(wù)器網(wǎng)絡(luò)結(jié)構(gòu)的硬件拓?fù)浣Y(jié)構(gòu)很相似,它
們的根本區(qū)別在于:
客戶/服務(wù)器結(jié)構(gòu)的服務(wù)器可以執(zhí)行應(yīng)用程序;而文件服務(wù)器的服務(wù)
器只是一個(gè)數(shù)據(jù)共享器,
它不能執(zhí)行應(yīng)用程序。
2.在客戶/服務(wù)器結(jié)構(gòu)中,數(shù)據(jù)庫(kù)服務(wù)器和客戶端計(jì)算機(jī)是如何分工
的?
數(shù)據(jù)庫(kù)服務(wù)器應(yīng)完成數(shù)據(jù)管理、信息共享、安全管理、以及一些更高
級(jí)的管理。它是一
個(gè)開(kāi)放的體系結(jié)構(gòu),可以接受來(lái)自各種應(yīng)用程序和開(kāi)發(fā)工具的客戶端
的連接;它除了要管理
集中的數(shù)據(jù)庫(kù)之外,還要處理來(lái)自客戶端的數(shù)據(jù)訪問(wèn)請(qǐng)求和將結(jié)果反
饋給用戶(包括管理請(qǐng)
求隊(duì)列、管理緩存、響應(yīng)服務(wù)、管理結(jié)果和通知服務(wù)完成等)的工作。
而客戶端計(jì)算機(jī)是面向最終用戶的,所以它的主要任務(wù)是提供友好的
用戶界面,提交數(shù)
據(jù)訪問(wèn)請(qǐng)求以及接收和處理數(shù)據(jù)庫(kù)的返回結(jié)果,組織返回?cái)?shù)據(jù)的輸出
(如生成數(shù)據(jù)瀏覽窗口、
生成數(shù)據(jù)報(bào)表和圖形等),提供初步的數(shù)據(jù)驗(yàn)證功能等。
3.SQLServer在安裝后默認(rèn)創(chuàng)建了哪兒個(gè)系統(tǒng)數(shù)據(jù)庫(kù)?分別敘述它
們的作用。
SQLServer在安裝后默認(rèn)創(chuàng)建了4系統(tǒng)數(shù)據(jù)庫(kù),它們是:
(1)master數(shù)據(jù)庫(kù)。master數(shù)據(jù)庫(kù)用于存儲(chǔ)SQLServer系統(tǒng)的所有
系統(tǒng)級(jí)信息,包括所有
的其它數(shù)據(jù)庫(kù)(如建立的用戶數(shù)據(jù)庫(kù))的信息(包括數(shù)據(jù)庫(kù)的設(shè)置、
對(duì)應(yīng)的操作系統(tǒng)文件名
稱(chēng)和位置等)、所有數(shù)據(jù)庫(kù)注冊(cè)用戶的信息以及系統(tǒng)配置設(shè)置等。
(2)tempdb數(shù)據(jù)庫(kù)。tempdb數(shù)據(jù)庫(kù)用于保存所有的臨時(shí)表和臨時(shí)存
儲(chǔ)過(guò)程,它還可以滿
足任何其它的臨時(shí)存儲(chǔ)要求。
(3)model數(shù)據(jù)庫(kù)。model數(shù)據(jù)庫(kù)是一個(gè)模板數(shù)據(jù)庫(kù),當(dāng)使用CREATE
DATABASE命令
建立新的數(shù)據(jù)庫(kù)時(shí),新數(shù)據(jù)庫(kù)的第一部分總是通過(guò)復(fù)制model數(shù)據(jù)庫(kù)
中的內(nèi)容創(chuàng)建,剩余部
分由空頁(yè)填充。
(4)msdb數(shù)據(jù)庫(kù)。msdb數(shù)據(jù)庫(kù)用于SQLServer代理程序調(diào)度報(bào)警和
作業(yè)等系統(tǒng)操作。
4.試述SQLServer的CREATEDATABASE命令在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)是如何
申請(qǐng)物理存儲(chǔ)
空間的?
通過(guò)指定的物理文件名、文件的大小等向操作系統(tǒng)申請(qǐng)物理存儲(chǔ)空
間。
5.試述SQLServer企業(yè)管理器的功能。
略。
習(xí)題五
1.試概述SQL語(yǔ)言的功能。
SQL是一種一體化的語(yǔ)言,它包括了數(shù)據(jù)定義、數(shù)據(jù)查詢(xún)、數(shù)據(jù)操縱
和數(shù)據(jù)控制等方面
的功能,它可以完成數(shù)據(jù)庫(kù)活動(dòng)中的全部工作。
2.以圖5-1的數(shù)據(jù)庫(kù)為例,用SQL完成以下檢索:
1)檢索在北京的供應(yīng)商的名稱(chēng)。
SELECT*FROM供應(yīng)商WHERE地址='北京'
2)檢索發(fā)給供應(yīng)商S6的訂購(gòu)單號(hào)。
SELECT訂購(gòu)單號(hào)FROM訂購(gòu)單WHERE供應(yīng)商號(hào)='S6,
3)檢索出職工E6發(fā)給供應(yīng)商S6的訂購(gòu)單信息。
SELECT*FROM訂購(gòu)單WHERE供應(yīng)商號(hào)='S6'AND職工號(hào)='E6'
4)檢索出向供應(yīng)商S3發(fā)過(guò)訂購(gòu)單的職工的職工號(hào)和倉(cāng)庫(kù)號(hào)。
SELECT職工號(hào),倉(cāng)庫(kù)號(hào)FROM職工WHERE職工號(hào)IN
(SELECT職工號(hào)FROM訂購(gòu)單WHERE供應(yīng)商號(hào)='S3')
5)檢索出目前與S3供應(yīng)商沒(méi)有聯(lián)系的職工信息。
SELECT*FROM職工WHERE職工號(hào)NOTIN
(SELECT職工號(hào)FROM訂購(gòu)單WHERE供應(yīng)商號(hào)='S3')
6)檢索出目前沒(méi)有任何訂購(gòu)單的供應(yīng)商信息。
SELECT*FROM供應(yīng)商WHERENOTEXISTS
(SELECT*FROM訂購(gòu)單WHERE供應(yīng)商號(hào)=供應(yīng)商.供應(yīng)商號(hào))
7)檢索出和職工El、E3都有聯(lián)系的北京的供應(yīng)商信息。
SELECT*FROM供應(yīng)商WHERE供應(yīng)商號(hào)IN
(SELECT供應(yīng)商號(hào)FROM訂購(gòu)單WHERE職工號(hào)='E1')
AND供應(yīng)商號(hào)IN
(SELECT供應(yīng)商號(hào)FROM訂購(gòu)單WHERE職工號(hào)='E3')
8)檢索出目前和華通電子公司有業(yè)務(wù)聯(lián)系的每個(gè)職工的工資。
SELECT職工號(hào),工資FROM職工WHERE職工號(hào)IN
(SELECT職工號(hào)FROM訂購(gòu)單WHERE供應(yīng)商號(hào)IN
(SELECT供應(yīng)商號(hào)FROM供應(yīng)商WHERE供應(yīng)商名='華通電子公
司’))
9)檢索出與工資在1220元以下的職工沒(méi)有聯(lián)系的供應(yīng)商的名稱(chēng)。
SELECT供應(yīng)商名FROM供應(yīng)商WHERE供應(yīng)商號(hào)IN
(SELECT供應(yīng)商號(hào)FROM訂購(gòu)單WHERE職工號(hào)NOTIN
(SELECT職工號(hào)FROM職工WHERE工資<1220))
10)檢索出向S4供應(yīng)商發(fā)出訂購(gòu)單的倉(cāng)庫(kù)所在的城市。
SELECT城市FROM倉(cāng)庫(kù)WHERE倉(cāng)庫(kù)號(hào)IN
(SELECT倉(cāng)庫(kù)號(hào)FROM職工WHERE職工號(hào)IN
(SELECT職工號(hào)FROM訂購(gòu)單WHERE供應(yīng)商號(hào)='S4'))
11)檢索出在上海工作并且向S6供應(yīng)商發(fā)出了訂購(gòu)單的職工號(hào)。
SELECT職工號(hào)FROM職工WHERE倉(cāng)庫(kù)號(hào)IN
(SELECT倉(cāng)庫(kù)號(hào)FROM倉(cāng)庫(kù)WHERE城市='上海')AND職工號(hào)IN
(SELECT職工號(hào)FROM訂購(gòu)單WHERE供應(yīng)商號(hào)='S6'))
12)檢索出在廣州工作并且只向S6供應(yīng)商發(fā)出了訂購(gòu)單的職工號(hào)。
SELECT職工號(hào)FROM職工WHERE倉(cāng)庫(kù)號(hào)IN
(SELECT倉(cāng)庫(kù)號(hào)FROM倉(cāng)庫(kù)WHERE城市='廣州,)AND職工號(hào)IN
(SELECT職工號(hào)FROM訂購(gòu)單WHERE供應(yīng)商號(hào)='S6,)AND職工
號(hào)NOTIN
(SELECT職工號(hào)FROM訂購(gòu)單WHERE供應(yīng)商號(hào)!=,S6,)
13)檢索出由工資多于1230元的職工向北京的供應(yīng)商發(fā)出的訂購(gòu)單
號(hào)。
SELECT訂購(gòu)單號(hào)FROM訂購(gòu)單WHERE職工號(hào)IN
(SELECT職工號(hào)FROM職工WHERE工資>1230)AND供應(yīng)商號(hào)IN
(SELECT供應(yīng)商號(hào)FROM供應(yīng)商WHERE地址=’北京')
14)檢索出倉(cāng)庫(kù)的個(gè)數(shù)。
SELECTCOUNT(*)FROM倉(cāng)庫(kù)
15)檢索出有最大面積的倉(cāng)庫(kù)信息。
SELECT*FROM倉(cāng)庫(kù)WHERE面積=(SELECTMAX(面積)FROM倉(cāng)庫(kù))
16)檢索出所有倉(cāng)庫(kù)的平均面積。
SELECTAVG(面積)FROM倉(cāng)庫(kù)
17)檢索出向S4供應(yīng)商發(fā)出訂購(gòu)單的那些倉(cāng)庫(kù)的平均面積。
SELECTAVG(面積)FROM倉(cāng)庫(kù)WHERE倉(cāng)庫(kù)號(hào)IN
(SELECT倉(cāng)庫(kù)號(hào)FROM職工WHERE職工號(hào)IN
(SELECT職工號(hào)FROM訂購(gòu)單WHERE供應(yīng)商號(hào)='S4'))
18)檢索出每個(gè)城市的供應(yīng)商個(gè)數(shù)。
SELECT地址,COUNT(*)FROM供應(yīng)商GROUPBY地址
19)檢索出每個(gè)倉(cāng)庫(kù)中工資多于1220元的職工個(gè)數(shù)。
SELECT倉(cāng)庫(kù)號(hào),COUNT(*)FROM職工WHERE工資>1220GROUPBY倉(cāng)
庫(kù)號(hào)
20)檢索出和面積最小的倉(cāng)庫(kù)有聯(lián)系的供應(yīng)商的個(gè)數(shù)。
SELECTCOUNT(*)FROM供應(yīng)商WHERE供應(yīng)商號(hào)IN
(SELECT供應(yīng)商號(hào)FROM訂購(gòu)單WHERE職工號(hào)IN
(SELECT職工號(hào)FROM職工WHERE倉(cāng)庫(kù)號(hào)IN
(SELECT倉(cāng)庫(kù)號(hào)FROM倉(cāng)庫(kù)WHERE面積=
(SELECTMIN(面積)FROM倉(cāng)庫(kù)))))
21)檢索出工資低于本倉(cāng)庫(kù)平均工資的職工信息。
SELECT*FROM職工outWHERE工資<
(SELECTAVG(工資)FROM職工inneWHERE倉(cāng)庫(kù)號(hào)=out.倉(cāng)庫(kù)號(hào))
3.試述關(guān)系數(shù)據(jù)庫(kù)中視圖(View)的含義和作用。
在關(guān)系數(shù)據(jù)庫(kù)中,視圖也稱(chēng)作窗口,即視圖是操作基本表的窗口。在
三層數(shù)據(jù)庫(kù)體系結(jié)
構(gòu)中,視圖是外部數(shù)據(jù)庫(kù),它是從基本表中派生出來(lái)的并依賴(lài)于基本
表,它并不獨(dú)立存在。
利用視圖一方面可以限定對(duì)數(shù)據(jù)的訪問(wèn)(對(duì)數(shù)據(jù)列起到安全保護(hù)的作
用),另一方面又可
以簡(jiǎn)化對(duì)數(shù)據(jù)的訪問(wèn)(用戶可以直接通過(guò)視圖訪問(wèn)數(shù)據(jù)庫(kù))。除此之
外,從三層數(shù)據(jù)庫(kù)體系結(jié)
構(gòu)的角度它還提供了概念數(shù)據(jù)獨(dú)立性。
4.以圖5-1的數(shù)據(jù)庫(kù)為例,用SQL語(yǔ)句完成以下更新操作,并討論
數(shù)據(jù)完整性約束對(duì)
這些操作的影響:
1)插入一個(gè)新的供應(yīng)商元組(S9,智通公司,沈陽(yáng))。
INSERTINTO供應(yīng)商VALUES('S9','智通公司','沈陽(yáng)')
2)刪除目前沒(méi)有任何訂購(gòu)單的供應(yīng)商。
DELETEFROM供應(yīng)商WHERE供應(yīng)商號(hào)NOTIN
(SELECT供應(yīng)商號(hào)FROM訂購(gòu)單)
3)刪除由在上海倉(cāng)庫(kù)工作的職工發(fā)出的所有訂購(gòu)單。
DELETEFROM訂購(gòu)單WHERE職工號(hào)IN
(SELECT職工號(hào)FROM職工WHERE倉(cāng)庫(kù)號(hào)IN
(SELECT倉(cāng)庫(kù)號(hào)FROM倉(cāng)庫(kù)WHERE城市='上海'))
4)北京的所有倉(cāng)庫(kù)增加100m2的面積。
UPDATE倉(cāng)庫(kù)SET面積=面積+100WHERE城市='北京'
5)給低于所有職工平均工資的職工提高5%的工資。
UPDATE職工SET工資=工資*1.05WHERE工資<
(SELECTAVG(工資)FROM職工)
5.SQL要嵌入到宿主語(yǔ)言中使用要解決哪兒方面的問(wèn)題?
把SQL嵌入到宿主語(yǔ)言中使用必須要解決以下三個(gè)方面的問(wèn)題:
1)嵌入識(shí)別問(wèn)題。宿主語(yǔ)言的編譯程序不能識(shí)別SQL語(yǔ)句,所以首
要的問(wèn)題就是要解
決如何區(qū)分宿主語(yǔ)言的語(yǔ)句和SQL語(yǔ)句。
2)宿主語(yǔ)言與SQL語(yǔ)言的數(shù)據(jù)交互問(wèn)題。SQL語(yǔ)句的查詢(xún)結(jié)果必須
能夠交給宿主語(yǔ)言
處理,宿主語(yǔ)言的數(shù)據(jù)也要能夠交給SQL語(yǔ)句使用。
3)宿主語(yǔ)言的單記錄與SQL的多記錄的問(wèn)題。宿主語(yǔ)言一般一次處
理一條記錄,而SQL
常常處理的是記錄(元組)的集合,這個(gè)矛盾必須解決。
6.試述預(yù)編譯的作用。
宿主語(yǔ)言的編譯系統(tǒng)不能識(shí)別SQL語(yǔ)句。解決這個(gè)問(wèn)題的一般方法
是,為SQL語(yǔ)句加
一個(gè)特殊的前綴,在用宿主語(yǔ)言的編譯系統(tǒng)編譯源程序之前,首先由
預(yù)編譯系統(tǒng)將SQL語(yǔ)句
轉(zhuǎn)換為宿主語(yǔ)言的合法函數(shù)調(diào)用。
7.試述游標(biāo)(Cursor)的作用,并解釋實(shí)現(xiàn)此功能的諸條語(yǔ)句的用
途。
宿主語(yǔ)言一般只能在單記錄方式下工作,即一次處理一個(gè)記錄。而
SQL語(yǔ)句的查詢(xún)結(jié)果
常常是一張表,它包含多個(gè)記錄,為此需要用游標(biāo)(CURSOR)作為橋
梁做一些特殊處理,
即利用游標(biāo)來(lái)臨時(shí)存放SQL語(yǔ)句的查詢(xún)結(jié)果,并利用游標(biāo)與宿主語(yǔ)言
的主變量進(jìn)行數(shù)據(jù)交
互。與游標(biāo)有關(guān)的命令共有四條:DECLARECURSOR、OPEN、FETCH和
CLOSEo其中
DECLARECURSOR用SQLSELECT語(yǔ)句說(shuō)明一個(gè)游標(biāo);OPEN打開(kāi)游標(biāo),
即執(zhí)行說(shuō)明游標(biāo)
的SQLSELECT語(yǔ)句;FETCH從游表中讀一條記錄到主變量;CLOSE關(guān)
閉游標(biāo)。
8.試述為什么需要?jiǎng)討B(tài)SQL語(yǔ)句,分析游標(biāo)和動(dòng)態(tài)游標(biāo)的區(qū)別。
有時(shí)候在編程序時(shí)SQL語(yǔ)句或語(yǔ)句的參數(shù)和格式不能確定,應(yīng)用程序
只能在執(zhí)行時(shí)才知
道需要什么樣的SQL語(yǔ)句,即必須在應(yīng)用程序執(zhí)行時(shí)動(dòng)態(tài)建立SQL語(yǔ)
句。
定義游標(biāo)的SQL語(yǔ)句是靜態(tài)的;而定義動(dòng)態(tài)游標(biāo)的SQL語(yǔ)句是動(dòng)態(tài)生
成的。
習(xí)題六
1.什么是存儲(chǔ)過(guò)程?為什么要使用存儲(chǔ)過(guò)程?
存儲(chǔ)過(guò)程是經(jīng)過(guò)預(yù)編譯的T-SQL語(yǔ)句的集合,它存放在數(shù)據(jù)庫(kù)中,當(dāng)
用戶執(zhí)行存儲(chǔ)過(guò)程
時(shí),存儲(chǔ)過(guò)程在數(shù)據(jù)庫(kù)服務(wù)器上運(yùn)行。
利用存儲(chǔ)過(guò)程可以避免在網(wǎng)絡(luò)上傳輸大量無(wú)用的信息或原始數(shù)據(jù),只
需要傳輸調(diào)用存儲(chǔ)
過(guò)程的指令和數(shù)據(jù)庫(kù)服務(wù)器返回的處理結(jié)果,這樣可以大大提高網(wǎng)絡(luò)
數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的性能。
2.試為如下問(wèn)題編寫(xiě)、建立存儲(chǔ)過(guò)程,并定義合適的過(guò)程返回狀態(tài)
碼和信息(均以圖
5-1的數(shù)據(jù)庫(kù)為例):
1)插入一個(gè)新的供應(yīng)商元組。
CREATEPROCEDUREins_sup
(@snoCHAR(3),@snameCHAR(16),@addrCHAR(10))
AS
INSERTINTO供應(yīng)商VALUES(@sno,@sname,@addr)
IF@@ERROR=0
RETURN0
ELSE
RETURN-1
2)給指定城市的所有倉(cāng)庫(kù)增加xm2的面積。
CREATEPROCEDUREupd_wh_area
(@citychar(10),@areanumeric)
AS
UPDATE倉(cāng)庫(kù)SET面積=面積+?areaWHERE城市=@city
IF@@ERROR=0
RETURN0
ELSE
RETURN-1
3)檢索某職工發(fā)給某供應(yīng)商的訂購(gòu)單信息。
CREATEPROCEDUREget_ord
(@enoCHAR(4),@snoCHAR(3))
AS
SELECT*FROM訂購(gòu)單WHERE職工號(hào)=@enoAND供應(yīng)商號(hào)=@5皿
IF@@ERROR=0
RETURN0
ELSE
RETURN-1
4)檢索在某城市工作并且向某供應(yīng)商發(fā)了訂購(gòu)單的職工號(hào)。
CREATEPROCEDUREget_eno
(@cityCHAR(10),@snoCHAR(3))
AS
SELECT職工號(hào)FROM職工WHERE倉(cāng)庫(kù)號(hào)IN
(SELECT倉(cāng)庫(kù)號(hào)FROM倉(cāng)庫(kù)WHERE城市=@city)AND職工號(hào)IN
(SELECT職工號(hào)FROM訂購(gòu)單WHERE供應(yīng)商號(hào)=@$110)
IF@@ERROR=0
RETURN0
ELSE
RETURN-1
3.試述觸發(fā)器的概念和作用。
觸發(fā)器可以看作是一類(lèi)特殊的存儲(chǔ)過(guò)程,它在滿足某個(gè)特定條件時(shí)自
動(dòng)觸發(fā)執(zhí)行。觸發(fā)
器是為表上的更新、插入、刪除操作定義的,也就是說(shuō)當(dāng)表上發(fā)生更
新、插入或刪除操作時(shí)
觸發(fā)器將執(zhí)行。
觸發(fā)器可以用于數(shù)據(jù)參照完整性和以下一些場(chǎng)合:
..觸發(fā)器可以通過(guò)級(jí)聯(lián)的方式對(duì)相關(guān)的表進(jìn)行修改。比如,對(duì)父表
的修改,可以引起
對(duì)子孫表的一系列修改,從而保證數(shù)據(jù)的一致性和完整性。
.?觸發(fā)器可以禁止或撤消違反參照完整性的修改。
..觸發(fā)器可以強(qiáng)制比用CHECK約束定義更加復(fù)雜的限制。
4.利用觸發(fā)器為圖5-1數(shù)據(jù)庫(kù)的訂購(gòu)單關(guān)系建立參照完整性。。
建立插入觸發(fā)器
CREATETRIGGERord_ins_trigger
ON訂購(gòu)單FORINSERT
AS
IF((SELECTCOUNT(*)FROM職工e,INSERTEDi
WHEREe.職工號(hào)=i.職工號(hào))=0OR
(SELECTCOUNT(*)FROM供應(yīng)商s,INSERTEDi
WHEREs.供應(yīng)商號(hào)=匚供應(yīng)商號(hào))=0)
BEGIN
RAISERROR('非法職工號(hào)或非法供應(yīng)商號(hào)',1,1)
ROLLBACKTRANSACTION
END
建立更新觸發(fā)器
略
習(xí)題七
1.討論數(shù)據(jù)庫(kù)安全都與哪些安全問(wèn)題有關(guān)?
數(shù)據(jù)庫(kù)安全實(shí)際涉及到很多方面,除了數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)該具有安全
保護(hù)功能之外,還
需要從管理機(jī)制、人員行為、操作系統(tǒng)安全和網(wǎng)絡(luò)安全等多個(gè)方面采
取措施。
2.試述數(shù)據(jù)庫(kù)的自主存取控制和強(qiáng)制存取控制的區(qū)別和各自的特
八占、、°O
自主存取控制的特點(diǎn)是由用戶“自主”地控制數(shù)據(jù)庫(kù)對(duì)象的訪問(wèn)權(quán)
限;而強(qiáng)制存取控制
的特點(diǎn)是嚴(yán)格的分層次管理,有嚴(yán)格的等級(jí)制度。
3.試述角色管理在數(shù)據(jù)庫(kù)安全控制中的作用。
角色管理類(lèi)似于用戶組的管理,可以將數(shù)據(jù)庫(kù)的所有用戶劃分成不同
的角色,這樣可以
簡(jiǎn)化用戶管理,使用戶管理和權(quán)限管理更加簡(jiǎn)潔、清楚。
4.試述SQLServer的系統(tǒng)預(yù)定義角色為安全管理提供了哪些便利。
SQLServer的系統(tǒng)管理是由系統(tǒng)管理員(默認(rèn)是sa用戶)負(fù)責(zé)的,
而系統(tǒng)預(yù)定義角色正
是系統(tǒng)管理員職責(zé)的分解,通過(guò)一些系統(tǒng)預(yù)定義角色的用戶來(lái)協(xié)助系
統(tǒng)管理員進(jìn)行管理,可
以減輕系統(tǒng)管理員(sa用戶)的工作負(fù)擔(dān),對(duì)系統(tǒng)管理來(lái)說(shuō)又有更
明確的職責(zé)劃分。
5.試述語(yǔ)句授權(quán)和對(duì)象授權(quán)各自的含義和作用。
語(yǔ)句授權(quán)是指對(duì)執(zhí)行創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象的語(yǔ)句的授權(quán),這種權(quán)限一般歸
系統(tǒng)管理員(sa)
或數(shù)據(jù)庫(kù)管理員(DBO)管理;對(duì)象授權(quán)是指對(duì)可以在數(shù)據(jù)庫(kù)對(duì)象執(zhí)
行的操作的授權(quán),這種
權(quán)限一般由數(shù)據(jù)庫(kù)對(duì)象擁有者(DBOO)管理,也可以由系統(tǒng)管理員(sa)
或數(shù)據(jù)庫(kù)管理員
(DBO)管理。
6.試述GRANT語(yǔ)句中WITHGRANTOPTION子句的作用。
WITHGRANTOPTION子句說(shuō)明被授權(quán)用戶可以將指定的對(duì)象權(quán)限授予
其他用戶。該子
句僅對(duì)對(duì)象權(quán)限有效,對(duì)語(yǔ)句權(quán)限無(wú)效。
7.試述在REVOKE語(yǔ)句中GRANTOPTIONFOR子句和CASCADE子句的
作用。
GRANTOPTIONFOR說(shuō)明只收回WITHGRANTOPTION權(quán)限;CASCADE說(shuō)
明級(jí)聯(lián)收
回由于WITHGRANTOPTION授予的所有權(quán)限。GRANTOPTIONFOR要
與CASCADE—
同使用,因?yàn)橐栈豔ITHGRANTOPTION權(quán)限,也應(yīng)該一同收回由于
該子句產(chǎn)生的所有
授權(quán)。
8.試述禁止權(quán)限語(yǔ)句DENY的作用。
禁止權(quán)限語(yǔ)句DENY的作用是禁止用戶從角色繼承指定的權(quán)限。
9.什么是數(shù)據(jù)庫(kù)的審計(jì)功能?
系統(tǒng)管理員(或數(shù)據(jù)庫(kù)管理員)可以通過(guò)審計(jì)日志審計(jì)、跟蹤所有用
戶對(duì)數(shù)據(jù)庫(kù)的操作
活動(dòng),可以確定哪些客戶、什么時(shí)間、進(jìn)行了哪些操作(任何操作)
等,這種功能稱(chēng)作數(shù)據(jù)
庫(kù)的審計(jì)功能。
10.統(tǒng)計(jì)數(shù)據(jù)庫(kù)有哪些特殊的安全性問(wèn)題?
統(tǒng)計(jì)數(shù)據(jù)庫(kù)的安全性問(wèn)題主要是指不允許從統(tǒng)計(jì)信息推導(dǎo)出名細(xì)信
息。
習(xí)題八
1.什么是事務(wù)?
事務(wù)是構(gòu)成單一邏輯工作單元的操作集合。
2.解釋事務(wù)的ACID性質(zhì)。
事務(wù)的ACID性質(zhì)指事務(wù)具有原子性(即不可分割)、一致性(要能保
證數(shù)據(jù)庫(kù)的一致性)、
隔離性(事務(wù)的原子性和一致性不受其他事務(wù)的影響)和持久性(事
務(wù)對(duì)數(shù)據(jù)庫(kù)所施加的所
有更新都是永久的)。
3.并發(fā)控制都會(huì)產(chǎn)生哪些干擾問(wèn)題?并討論之。
并發(fā)事務(wù)可能會(huì)存在的干擾問(wèn)題主要有:
..丟失更新問(wèn)題
..未提交依賴(lài)問(wèn)題
..不一致分析問(wèn)題
..幻象讀問(wèn)題
討論略。
4.請(qǐng)舉出兩個(gè)并發(fā)的程序進(jìn)行更新操作時(shí)相互干擾的例子。
略
5.利用事務(wù)概念和封鎖技術(shù)重做第4題,使干擾不發(fā)生。
略
6.分別解釋共享封鎖、更新封鎖和獨(dú)占封鎖的含義。
共享封鎖是為讀操作設(shè)置的一種封鎖,目的是想讀到一組不變的數(shù)
據(jù),也就是在讀數(shù)據(jù)
的過(guò)程中,不允許其他用戶對(duì)該數(shù)據(jù)進(jìn)行任何修改操作。這種封鎖可
以保證最大的并發(fā)性,
任何數(shù)量的用戶都可以同時(shí)對(duì)同樣的數(shù)據(jù)施加這種共享鎖。
當(dāng)需要對(duì)一個(gè)記錄或一組記錄進(jìn)行更新時(shí).(只是修改,不包括插入和
刪除)使用更新封
鎖,該封鎖的目的是防止其他用戶在同一時(shí)刻修改同一記錄。已經(jīng)實(shí)
施更新封鎖的記錄,拒
絕來(lái)自其他用戶的更新封鎖或獨(dú)占封鎖。
獨(dú)占封鎖也叫排他封鎖,這是最嚴(yán)格的一類(lèi)封鎖。當(dāng)需要對(duì)表實(shí)施插
入、刪除或修改操
作時(shí),應(yīng)該使用獨(dú)占封鎖。已經(jīng)實(shí)施獨(dú)占封鎖的表,拒絕來(lái)自其他用
戶的任何封鎖,但不拒
絕其他用戶的一般讀操作。
7.什么是死鎖?如何避免發(fā)生死鎖?
當(dāng)兩個(gè)(或多個(gè))并發(fā)的事務(wù)分別等待對(duì)方釋放封鎖的資源,而使事
務(wù)處于長(zhǎng)期等待狀
態(tài)的現(xiàn)象稱(chēng)為死鎖。
為了避免死鎖,一般可以采取兩種方式:
..相同順序法:所有的事務(wù)約定都按相同的順序來(lái)封鎖表;
..一次封鎖法:為了完成一個(gè)事務(wù),一次性封鎖所需要的全部表。
8.什么是事務(wù)的隔離性?如何劃分事務(wù)的隔離級(jí)別?
事務(wù)的隔離性是指一個(gè)事務(wù)應(yīng)該與其他事務(wù)“隔離”,它在完成過(guò)程
中不受其他事務(wù)的影
響和干擾。
“隔離”則意味著并發(fā)程度的降低。為了既能保證數(shù)據(jù)的一致性、又
盡可能提高系統(tǒng)的
并發(fā)執(zhí)行效率,為此將隔離級(jí)別劃分為如下4個(gè)級(jí)別:
..未提交讀(READUNCOMMITTED):事務(wù)隔離的最低級(jí)別,僅可保證
不讀取物理?yè)p
壞的數(shù)據(jù),這是4個(gè)隔離級(jí)別中限制最小的級(jí)別。
..提交讀(READCOMMITTED):可以保證不讀取“臟”數(shù)據(jù)。
..可重復(fù)讀(REPEATABLEREAD):可以保證讀一致性,避免不一致
分析問(wèn)題。
..可串行化(SERIALIZABLE):事務(wù)隔離的最高級(jí)別,事務(wù)之間完全
隔離;如果事務(wù)
在可串行化隔離級(jí)別上運(yùn)行,則可以保證任何并發(fā)重疊事務(wù)均是串行
的。
9.試敘述在備份與恢復(fù)技術(shù)中數(shù)據(jù)庫(kù)日志的作用。
日志則是對(duì)備份的補(bǔ)充,它可以看作是一個(gè)值班日記,它將記錄下所
有對(duì)數(shù)據(jù)庫(kù)的更新
操作。這樣就可以在備份完成時(shí)立刻刷新并啟用一個(gè)數(shù)據(jù)庫(kù)日志,數(shù)
據(jù)庫(kù)日志是實(shí)時(shí)的,它
將忠實(shí)地記錄下所有對(duì)數(shù)據(jù)庫(kù)的更新操作。因此,當(dāng)磁盤(pán)出現(xiàn)故障造
成數(shù)據(jù)庫(kù)損壞時(shí),就可
以首先利用備份恢復(fù)數(shù)據(jù)庫(kù)(恢復(fù)大部分?jǐn)?shù)據(jù)),然后再運(yùn)行數(shù)據(jù)庫(kù)
日志,即將備份后所做的
更新操作再重新做一遍,從而將數(shù)據(jù)庫(kù)完全恢復(fù)。
10.試述在SQLServer中利用文件和文件組備份為數(shù)據(jù)庫(kù)恢復(fù)提供
了什么樣的便利?
利用文件和文件組進(jìn)行備份,則當(dāng)建立數(shù)據(jù)庫(kù)的某個(gè)物理存儲(chǔ)介質(zhì)出
現(xiàn)故障時(shí);可以只
恢復(fù)發(fā)生故障的存儲(chǔ)介質(zhì)上的物理文件或文件組,而不需要恢復(fù)整個(gè)
數(shù)據(jù)庫(kù),這可以大大縮
短數(shù)據(jù)庫(kù)恢復(fù)所需要的時(shí)間。
11.針對(duì)不同的故障類(lèi)型(事務(wù)故障和介質(zhì)故障),試討論恢復(fù)的策
略和方法。
略
12.試討論備份系統(tǒng)數(shù)據(jù)庫(kù)的重要性。
系統(tǒng)數(shù)據(jù)庫(kù)(在SQLServer上特別是master數(shù)據(jù)庫(kù))是管理用戶數(shù)
據(jù)庫(kù)的數(shù)據(jù)庫(kù),如果
系統(tǒng)數(shù)據(jù)庫(kù)一旦損壞,整個(gè)系統(tǒng)的使用都將受到影響。所以系統(tǒng)數(shù)據(jù)
庫(kù)的安全和可靠是用戶
數(shù)據(jù)庫(kù)可以正常使用的基礎(chǔ)。
習(xí)題九
1.理解、定義如下術(shù)語(yǔ),并分別給出兩個(gè)例子:函數(shù)依賴(lài)、部分函
數(shù)依賴(lài)、完全函數(shù)依
賴(lài)、傳遞函數(shù)依賴(lài)、主屬性。
略
2.找出圖5-1所示數(shù)據(jù)庫(kù)各個(gè)關(guān)系中的函數(shù)依賴(lài)。
倉(cāng)庫(kù)關(guān)系上的函數(shù)依賴(lài):
倉(cāng)庫(kù)號(hào)f城市,倉(cāng)庫(kù)號(hào)一面積
職工關(guān)系上的函數(shù)依賴(lài):
職工號(hào)f倉(cāng)庫(kù)號(hào),職工號(hào)f工資
訂購(gòu)單關(guān)系上的函數(shù)依賴(lài):
訂購(gòu)單號(hào)一職工號(hào),訂購(gòu)單號(hào)一供應(yīng)商號(hào),訂購(gòu)單號(hào)一訂購(gòu)日期
供應(yīng)商關(guān)系上的函數(shù)依賴(lài):
供應(yīng)商號(hào)-*供應(yīng)商名,供應(yīng)商名-*供應(yīng)商號(hào),供應(yīng)商號(hào)->地址,供應(yīng)
商名-*地址
3.試證明如下結(jié)論(引理9.1):
XfA1A2…An的充分必要條件是X-Ak成立(k=l,2,-??,n)o
證明:略
4.設(shè)有關(guān)系模式R(U,F),U={A,B,C,D,E},
F={AB-*E,DE->B,B-*C,C-E,E-A}
1)計(jì)算所有函數(shù)依賴(lài)左部關(guān)于函數(shù)依賴(lài)集F的屬性集閉包;
(AB)+={A,B,C,E}
(DE)+={A,B,C,D,E}
B+={A,B,C,E}
C+={A,C,E)
E+={A,E}
2)確定關(guān)系模式R上的所有侯選關(guān)鍵字;
DE
3)求F的所有最小覆蓋。
Fm=F-{AB->E}
5.假設(shè)有一個(gè)名為參加的關(guān)系,該關(guān)系有屬性:職工(職工名)、工
程(工程名)、時(shí)數(shù)
(花費(fèi)在工程上的小時(shí)數(shù))和工資(職工的工資);一個(gè)參加記錄描
述一個(gè)職工花費(fèi)在一個(gè)工
程上的總時(shí)數(shù)和他的工資;另外,一個(gè)職工可以參加多個(gè)工程,多個(gè)
職工可以參加同一個(gè)工
程。請(qǐng)回I答如下各問(wèn)題:
用A、B、C、D分別代表屬性職工、工程、時(shí)數(shù)和工資,貝I」:
1)確定這個(gè)關(guān)系的關(guān)鍵字;
AB
2)找出這個(gè)關(guān)系中的所有函數(shù)依賴(lài);
AB->C,A->D
3)指出這個(gè)關(guān)系上的哪些函數(shù)依賴(lài)會(huì)帶來(lái)操作異?,F(xiàn)象;
D對(duì)關(guān)鍵字AB的部分函數(shù)依賴(lài)可能會(huì)帶來(lái)如下問(wèn)題:
數(shù)據(jù)冗余:一個(gè)職工參加多個(gè)工程,則職工的工資值會(huì)重復(fù);
更新異常:當(dāng)改變職工的工資時(shí)一,可能會(huì)只修改了一部分,從而造成
數(shù)據(jù)不一致;
插入異常:當(dāng)一個(gè)職工尚未承擔(dān)工程,但要插入職工信息(如工資)
則不允許(因?yàn)闆](méi)
有完整的關(guān)鍵字);
刪除異常:當(dāng)某個(gè)工程結(jié)束,刪除工程信息時(shí),可能會(huì)將職工信息(如
工資)一同刪除
(如果職工只參加了一項(xiàng)工程)。
4)這個(gè)關(guān)系是第兒范式關(guān)系?
2NF
5)計(jì)算該關(guān)系上函數(shù)依賴(lài)集的最小覆蓋;
Fm={AB->C,A->D}
6)將該關(guān)系分解成盡可能高的范式,并指明是第幾范式?
分解為RI(A,B,C)和R2(A,D)
結(jié)果為4NF
6.一個(gè)關(guān)系有4個(gè)字段A、B、C、D,這里A和B構(gòu)成復(fù)合關(guān)鍵字,
問(wèn)滿足下列函數(shù)
依賴(lài)的關(guān)系是第兒范式?
1)A、B、C、D都函數(shù)依賴(lài)于AB。
BCNF或4NF
2)A、B、C、D都函數(shù)依賴(lài)于AB,而D還函數(shù)依賴(lài)于C。
2NF
3)A、B、C、D都函數(shù)依賴(lài)于AB,而D還函數(shù)依賴(lài)于B。
1NF
4)A、B、C、D都函數(shù)依賴(lài)于AB,而B(niǎo)還函數(shù)依賴(lài)于C。
3NF
7.設(shè)有關(guān)系模式R(A,B,C,D,E),并有函數(shù)依賴(lài){AB-D,AC-E,
BC-*D,D-*A,E—B},
現(xiàn)將R分解成關(guān)系模式S(A,B,C)和其他一些關(guān)系模式,請(qǐng)給出在
關(guān)系模式S上成立的函數(shù)
依賴(lài)。
AC-B,BCfA
習(xí)題十
1.試敘述概念數(shù)據(jù)庫(kù)設(shè)計(jì)和邏輯數(shù)據(jù)庫(kù)設(shè)計(jì)的區(qū)別,并說(shuō)明各自的
主要工作內(nèi)容。
概念數(shù)據(jù)庫(kù)設(shè)計(jì)是不依賴(lài)于任何數(shù)據(jù)庫(kù)管理系統(tǒng)的,它是對(duì)用戶信息
需求的歸納。概念
設(shè)計(jì)的結(jié)果得到的是數(shù)據(jù)庫(kù)的概念結(jié)構(gòu),或稱(chēng)概念數(shù)據(jù)模型,由于它
是從現(xiàn)實(shí)世界的角度進(jìn)
行的抽象和描述,所以與具體的硬件環(huán)境和軟件環(huán)境均無(wú)關(guān)。而在邏
輯數(shù)據(jù)庫(kù)首先要考慮實(shí)
現(xiàn)數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)管理系統(tǒng)所支持的數(shù)據(jù)模型是什么,并將概念數(shù)據(jù)
模型轉(zhuǎn)換為數(shù)據(jù)庫(kù)管理
系統(tǒng)支持的數(shù)據(jù)模型。
一般在概念設(shè)計(jì)階段主要工作內(nèi)容有:
確定實(shí)體;
..確定實(shí)體的屬性;
..確定實(shí)體的標(biāo)識(shí)屬性(關(guān)鍵字);
..確定實(shí)體間的聯(lián)系和聯(lián)系類(lèi)型;
.?確定實(shí)現(xiàn)實(shí)體間聯(lián)系的屬性(外部關(guān)鍵字或連接屬性);
..畫(huà)出表示概念模型的E-R圖;
除此之外,為了以后對(duì)模式進(jìn)行規(guī)范化,還需要:
..確定屬性間的依賴(lài)關(guān)系。
而在邏輯設(shè)計(jì)階段一般主要工作內(nèi)容有:
..確定各個(gè)關(guān)系模式的主關(guān)鍵字,考慮實(shí)體完整性;
..確定各個(gè)關(guān)系模式的外部關(guān)鍵字,考慮參照完整性;
..確定各個(gè)關(guān)系模式中屬性的約束、規(guī)則和默認(rèn)值,考慮域完整性;
..根據(jù)用戶需求設(shè)計(jì)視圖;
??考慮安全方案和用戶使用權(quán)限等。
2.物理數(shù)據(jù)庫(kù)設(shè)計(jì)主要包括哪些內(nèi)容?
物理數(shù)據(jù)庫(kù)設(shè)計(jì)的內(nèi)容是設(shè)計(jì)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)和物理實(shí)現(xiàn)方法。一
般包括如下內(nèi)容:
..估算數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)量;
..設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)備;
..安排數(shù)據(jù)庫(kù)的存儲(chǔ);
..設(shè)計(jì)索引;
..設(shè)計(jì)備份策略等。
3.到Sybase公司的網(wǎng)站(http:〃www.Sybase.com.cn)下載
PowerDesigner的試用版,實(shí)
踐利用PowerDesigner進(jìn)行數(shù)據(jù)庫(kù)建模的方法和過(guò)程。
略
習(xí)題十一
1.面向?qū)ο髷?shù)據(jù)庫(kù)是在什么背景下產(chǎn)生的?為什么需要面向?qū)ο髷?shù)
據(jù)庫(kù)?
在信息管理領(lǐng)域之外還有很多新的應(yīng)用領(lǐng)域迫切需要使用數(shù)據(jù)庫(kù),如
計(jì)算機(jī)輔助設(shè)計(jì)
(CAD)、多媒體技術(shù)(音頻、視頻文件的存儲(chǔ)和處理)等,這些應(yīng)用
往往需要存儲(chǔ)大量的
復(fù)雜類(lèi)型的數(shù)據(jù),同時(shí)面向?qū)ο蟮母拍詈图夹g(shù)也強(qiáng)烈地引發(fā)了數(shù)據(jù)庫(kù)
對(duì)復(fù)雜數(shù)據(jù)類(lèi)型的支持,
從而推動(dòng)了面向?qū)ο髷?shù)據(jù)庫(kù)的發(fā)展。
由于關(guān)系數(shù)據(jù)庫(kù)不直接支持復(fù)雜數(shù)據(jù)類(lèi)型,致使一些必須使用復(fù)雜數(shù)
據(jù)類(lèi)型的應(yīng)用實(shí)現(xiàn)
起來(lái)不是很方便、并且效率較低。另外關(guān)系模型也不支持構(gòu)造類(lèi)型和
繼承,這都使得人們希
望發(fā)展面向?qū)ο蟮臄?shù)據(jù)庫(kù)。
2.什么是對(duì)象的封裝性、繼承性和多態(tài)性?
封裝性是指將類(lèi)的數(shù)據(jù)和操作封裝在類(lèi)定義中,對(duì)用戶來(lái)講類(lèi)的“功
能”是可見(jiàn)的,而
實(shí)現(xiàn)部分是封裝在類(lèi)定義中的,用戶是看不見(jiàn)的。這種封閉性保證了
每個(gè)對(duì)象的實(shí)現(xiàn)都獨(dú)立
于其他對(duì)象的細(xì)節(jié),從而有利于保證軟件的質(zhì)量。
繼承性是指可以利用已有的類(lèi)去定義新的類(lèi)。如果根據(jù)類(lèi)A定義類(lèi)B,
則說(shuō)類(lèi)B繼承了
類(lèi)A,同時(shí)把類(lèi)A稱(chēng)作基類(lèi),把類(lèi)B稱(chēng)作子類(lèi)。子類(lèi)不僅可以繼承基
類(lèi)的所有性質(zhì),還可以
在子類(lèi)中定義新的性質(zhì)。繼承性使得基類(lèi)中的代碼可以共享和重用,
所以繼承性有助于軟件
可重用性的實(shí)現(xiàn)。
多態(tài)性是指同一個(gè)函數(shù)可以有多種作用,即:
.?同一個(gè)函數(shù)根據(jù)不同的引用對(duì)象可以完成不同的功能;
..同一個(gè)函數(shù)即便引用同一個(gè)對(duì)象,但由于傳遞的參數(shù)不同也可以
完成不同的功能。
多態(tài)性可以為整個(gè)應(yīng)用和所有對(duì)象內(nèi)部提供一個(gè)一致的接口,沒(méi)有必
要為相同的動(dòng)作命
名和編寫(xiě)不同的函數(shù),它完全可以根據(jù)引用的對(duì)象不同、傳遞的消息
不同來(lái)完成不同的功能。
這樣做也與現(xiàn)實(shí)世界中管理和運(yùn)作方法相吻合。
3.面向?qū)ο髷?shù)據(jù)庫(kù)的研究方法主要有哪些?
面向?qū)ο髷?shù)據(jù)庫(kù)的研究方法目前主要有以下三種:
..擴(kuò)充關(guān)系數(shù)據(jù)模型。將成熟的關(guān)系數(shù)據(jù)庫(kù)與面向?qū)ο髷?shù)據(jù)庫(kù)方法
結(jié)合起來(lái),可減少研
制工作量、縮短研制周期。這種方法的弱點(diǎn)是不能全面支持面向?qū)ο?/p>
的特征。
..在面向?qū)ο笳Z(yǔ)言中嵌入數(shù)據(jù)庫(kù)功能而形成面向?qū)ο髷?shù)據(jù)庫(kù)。該方
法的關(guān)鍵是如何在面
向?qū)ο笳Z(yǔ)言中增加持久性對(duì)象的存儲(chǔ)管理。使用此方法受到面向?qū)ο?/p>
語(yǔ)言的一些限制。
??開(kāi)發(fā)全新的數(shù)據(jù)模型,從底層實(shí)現(xiàn)面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)。這是最
徹底的方法,缺點(diǎn)是
難度大,一方面缺乏統(tǒng)一的數(shù)據(jù)模式及形式化理論,另一方面在查詢(xún)
優(yōu)化、視圖及數(shù)據(jù)庫(kù)工
具方面仍為空白。
4.面向?qū)ο髷?shù)據(jù)庫(kù)應(yīng)該具備哪些基本特征?
一個(gè)面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)應(yīng)該具備如下的基本內(nèi)容和特征:
..在數(shù)據(jù)模型方面支持對(duì)象、復(fù)合對(duì)象、封裝、類(lèi)、繼承、重載、
滯后聯(lián)編、多態(tài)性等
基本概念。其中復(fù)合對(duì)象的概念包括支持生成復(fù)合對(duì)象的構(gòu)造器(元
組、集合、包、列表、
數(shù)組等)。
..數(shù)據(jù)庫(kù)管理系統(tǒng)除了具有傳統(tǒng)的數(shù)據(jù)庫(kù)管理系統(tǒng)所具有的功能
(如并發(fā)控制、故障和
恢復(fù))外,還支持永久對(duì)象、長(zhǎng)事務(wù)處理和嵌套事務(wù),具有版本管理
和模式演化的能力,能
維護(hù)數(shù)據(jù)完整性,適合在分布式環(huán)境下工作。
??數(shù)據(jù)庫(kù)訪問(wèn)界面要支持消息傳遞,提供計(jì)算能力完備的數(shù)據(jù)庫(kù)程
序設(shè)計(jì)語(yǔ)言,能解決
數(shù)據(jù)庫(kù)語(yǔ)言與宿主語(yǔ)言的某些不匹配問(wèn)題,提供類(lèi)似SQL的非過(guò)程化
查詢(xún)功能。
5.SQL99支持ORDBMS、還是OODBMS?
SQL99支持的是ORDBMS。
6.比較RDBMS>ORDBMS和OODBMS,然后分別描述一個(gè)適合使用RDBMS、
ORDBMS和OODBMS的應(yīng)用,并說(shuō)明原因。
略
習(xí)題十二
1.解釋ODBC的概念。
ODBC(OpenDataBaseConnectivity)的全稱(chēng)是開(kāi)放數(shù)據(jù)庫(kù)互連,它
是一種訪問(wèn)數(shù)據(jù)庫(kù)的
統(tǒng)一界面標(biāo)準(zhǔn)。
2.應(yīng)用程序是如何通過(guò)ODBC訪問(wèn)數(shù)據(jù)庫(kù)的?
應(yīng)用程序通過(guò)調(diào)用ODBC函數(shù)可以完成對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)操作,它所執(zhí)
行的任務(wù)或完成的
工作包括:請(qǐng)求對(duì)數(shù)據(jù)源的連接,獲取連接句柄;指定事務(wù)控制方式;
定義接收結(jié)果的數(shù)據(jù)
區(qū);向數(shù)據(jù)源發(fā)送SQL語(yǔ)句;接收SQL的查詢(xún)結(jié)果;處理出錯(cuò)信息,
并將出錯(cuò)信息返回給
應(yīng)用程序;終止對(duì)數(shù)據(jù)源的連接。
3.設(shè)有基于SQLServer的pubs數(shù)據(jù)源,它對(duì)應(yīng)于pubs數(shù)據(jù)庫(kù),寫(xiě)
出利用VisualFoxPro
訪問(wèn)或操作SQLServer的如下語(yǔ)句:
1)連接到pubs數(shù)據(jù)庫(kù);
gn=SQLCONNECT("pubs〃,〃sa")
2)查詢(xún)employee表的全部信息;
=SQLEXEC(gn,"SELECT*FROMemployee")
3)為publishers表準(zhǔn)備一個(gè)帶參數(shù)的查詢(xún),可以指定pubname(出
版社名)進(jìn)行查詢(xún);
=SQLPREPARE(gn,"SELECT*FROMpublishersWHERE
pubname=?m_pname")
4)以前一小題為基礎(chǔ),查詢(xún)“FiveLakesPublishing”出版社的信
息;
m_p_name="FiveLakesPublishing”
=SQLEXEC(gn)
5)從sales表中刪除stor_id為6380的記錄。
=SQLEXEC(gn,"DELETEFROMsaleswherestor_id=6380,z)
4.PowerBuilder是個(gè)什么類(lèi)型的軟件產(chǎn)品?
PowerBuilder是一個(gè)面向?qū)ο蟮臄?shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)工具。
5.PowerBuilder都可以通過(guò)哪些方式訪問(wèn)數(shù)據(jù)庫(kù)?
PowerBuilder都可以通過(guò)各種接口訪問(wèn)數(shù)據(jù)庫(kù),如ODBC、JDBC、OLE
DB和各種數(shù)據(jù)
庫(kù)專(zhuān)用接口等。
6.試述PowerBuilder中事務(wù)對(duì)象的概念。
PowerBuilder的事務(wù)對(duì)象是PowerScript與數(shù)據(jù)庫(kù)的通訊區(qū),只有
通過(guò)事務(wù)對(duì)象才能完成
對(duì)數(shù)據(jù)庫(kù)的操作。
7.使用PowerBuilder完成12.3節(jié)中的例子,初步掌握使用
PowerBuilder進(jìn)行開(kāi)發(fā)的方
法。
略
8.試述基于組件的數(shù)據(jù)庫(kù)開(kāi)發(fā)的基本思想。
克服傳統(tǒng)C/S結(jié)構(gòu)的明顯缺點(diǎn)(缺乏中心控制、缺乏安全性和沉重的
客戶端負(fù)載等),以
面向?qū)ο蠹夹g(shù)為基礎(chǔ),將業(yè)務(wù)處理邏輯和規(guī)則按完整的邏輯單元進(jìn)行
封裝,即將相關(guān)的類(lèi)封
裝成組件,并使它們部署在應(yīng)用服務(wù)器上,客戶端應(yīng)用程序不再直接
和數(shù)據(jù)庫(kù)打交道,而是
通過(guò)部署在服務(wù)器上的組件完成數(shù)據(jù)操作。
9.查閱有關(guān)資料,進(jìn)一步了解和掌握有關(guān)組件開(kāi)發(fā)的技術(shù)標(biāo)準(zhǔn)。
略
10.為什么需要?jiǎng)討B(tài)HTML?為什么需要Web數(shù)據(jù)庫(kù)?
在傳統(tǒng)的Web服務(wù)器中,文本和其他多媒體信息都是以文件的形式來(lái)
進(jìn)行存儲(chǔ)和管理
的,隨著信息量的不斷增加,系統(tǒng)的速度等性能受到越來(lái)越大的影響。
另一方面,WWW的
應(yīng)用領(lǐng)域在不斷拓展,靜態(tài)的Web頁(yè)面也越來(lái)越不能滿足對(duì)信息服務(wù)
的動(dòng)態(tài)性、實(shí)時(shí)性和交
互性的要求。也就是說(shuō),用戶已經(jīng)不滿足看技術(shù)人員事先做好的靜態(tài)
信息,而希望能夠根據(jù)
自己的需要看到最新的信息,這就需要數(shù)據(jù)庫(kù)的支持,可以根據(jù)檢索
數(shù)據(jù)庫(kù)的結(jié)果動(dòng)態(tài)生成
網(wǎng)頁(yè)。所以可以嵌入數(shù)據(jù)庫(kù)檢索語(yǔ)句并根據(jù)檢索結(jié)果動(dòng)態(tài)生成網(wǎng)頁(yè)的
HTML稱(chēng)為動(dòng)態(tài)
HTML,而可以支持動(dòng)態(tài)生成網(wǎng)頁(yè)的數(shù)據(jù)庫(kù)就是WEB數(shù)據(jù)庫(kù)。
11.試分別敘述Web服務(wù)器、頁(yè)面服務(wù)器和事務(wù)服務(wù)器的作用。
Web服務(wù)器接收Web瀏覽器發(fā)送的頁(yè)面瀏覽請(qǐng)求,如果其中嵌入了數(shù)
據(jù)請(qǐng)求則交由頁(yè)面
服務(wù)器處理。
頁(yè)面服務(wù)器處理負(fù)責(zé)數(shù)據(jù)庫(kù)與Web站點(diǎn)的協(xié)調(diào)和管理,負(fù)責(zé)解釋W(xué)eb
頁(yè)面中的數(shù)據(jù)請(qǐng)
求,并將從數(shù)據(jù)庫(kù)中獲得的動(dòng)態(tài)數(shù)據(jù)嵌入到Web頁(yè)面中。
事務(wù)服務(wù)器即應(yīng)用服務(wù)器或組件服務(wù)器,當(dāng)頁(yè)面中的數(shù)據(jù)訪問(wèn)需要調(diào)
用相應(yīng)的業(yè)務(wù)處理
邏輯時(shí),可能需要事務(wù)服務(wù)器的支持。
12.試述在PowerBuilder中Web數(shù)據(jù)窗口的作用。
Web數(shù)據(jù)窗口是用于HTML的數(shù)據(jù)窗口,它提供了一種瘦客戶端解決
方案,可以提供
PowerBuilder數(shù)據(jù)窗口的大部分?jǐn)?shù)據(jù)操作功能,而且不需要在Web
客戶端安裝任何
PowerBuilder動(dòng)態(tài)連接庫(kù)(DLL)或其他組件。
習(xí)題十三
1.按軟件工程思想(結(jié)構(gòu)化生命周期法)開(kāi)發(fā)一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)
應(yīng)該包括哪些步驟?
說(shuō)明各步驟的主要工作內(nèi)容。
數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)可以分為如下七個(gè)步驟:
..系統(tǒng)調(diào)查及可行性分析;
..系統(tǒng)分析(需求分析);
..概要設(shè)計(jì)(總體設(shè)計(jì));
詳細(xì)設(shè)計(jì)(模塊設(shè)計(jì));
系統(tǒng)實(shí)現(xiàn)(編程);
系統(tǒng)調(diào)試與試運(yùn)行(測(cè)試);
系統(tǒng)運(yùn)行、評(píng)價(jià)與維護(hù)(運(yùn)行)。
系統(tǒng)調(diào)查和可行性分析階段的任務(wù)是初步了解信息系統(tǒng)用戶的組織
機(jī)構(gòu)、業(yè)務(wù)范疇以及
新系統(tǒng)的目標(biāo),并且做出可行性分析,包括經(jīng)濟(jì)可行性、技術(shù)可行性
和使用可行性。
需求分析階段的主要任務(wù)是了解用戶的需求,基本目標(biāo)是:對(duì)現(xiàn)實(shí)世
界要處理的對(duì)象進(jìn)
行詳細(xì)調(diào)查,在了解原系統(tǒng)(手工系統(tǒng)或以前開(kāi)發(fā)的計(jì)算機(jī)系統(tǒng))的
情況、確定新系統(tǒng)功能
的過(guò)程中,確定新系統(tǒng)的目標(biāo),收集支持新系統(tǒng)目標(biāo)的數(shù)據(jù)需求和處
理需求。
總體設(shè)計(jì)階段的主要任務(wù)是把用戶的信息要求統(tǒng)一到一個(gè)整體的邏
輯結(jié)構(gòu)或概念模式
中,此結(jié)構(gòu)能表達(dá)用戶的要求,并且獨(dú)立于任何硬件和數(shù)據(jù)庫(kù)管理系
統(tǒng)。這一步,從應(yīng)用程
序的角度來(lái)講,要完成子系統(tǒng)的劃分和功能模塊的劃分;從數(shù)據(jù)庫(kù)的
角度來(lái)講要完成概念模
型的設(shè)計(jì)。
詳細(xì)設(shè)計(jì)階段同樣是包括數(shù)據(jù)庫(kù)設(shè)計(jì)和應(yīng)用程序設(shè)計(jì)兩大部分。對(duì)數(shù)
據(jù)庫(kù)設(shè)計(jì)要根據(jù)具
體的數(shù)據(jù)庫(kù)管理系統(tǒng)設(shè)計(jì)數(shù)據(jù)庫(kù)、設(shè)計(jì)關(guān)系、考慮數(shù)據(jù)的完整性、考
慮數(shù)據(jù)的安全和備份策
略等。對(duì)應(yīng)用程序設(shè)計(jì)要給出功能模塊說(shuō)明,考慮實(shí)施方法,設(shè)計(jì)存
儲(chǔ)過(guò)程等。
編程階段則根據(jù)上一步的設(shè)計(jì)結(jié)果進(jìn)行具體實(shí)施,建立數(shù)據(jù)庫(kù)并裝入
原始數(shù)據(jù),建立存
儲(chǔ)過(guò)程,編寫(xiě)和調(diào)試應(yīng)用程序代碼等。
調(diào)試與試運(yùn)行階段對(duì)各個(gè)子系統(tǒng)、各個(gè)模塊要進(jìn)行聯(lián)合調(diào)試和測(cè)試,
并試運(yùn)行。在試運(yùn)
行階段要廣泛聽(tīng)取用戶的意見(jiàn),并根據(jù)運(yùn)行效果進(jìn)行評(píng)估,修改系統(tǒng)
的錯(cuò)誤、改進(jìn)系統(tǒng)的性
能。
最后一步是將系統(tǒng)交給用戶使用,在使用的過(guò)程中可能還會(huì)出現(xiàn)新的
問(wèn)題,甚至提出新
的需求,所以還要不斷對(duì)系統(tǒng)進(jìn)行評(píng)價(jià)和維護(hù)。
2.試述快速原型方法的基本思想,并說(shuō)明該方法的步驟及其工作內(nèi)
容。
快速原型法(RapidPrototyping)的基本思想是依據(jù)原型進(jìn)行快速
開(kāi)發(fā),對(duì)存在的問(wèn)題進(jìn)
行反復(fù)的修正,直至形成用戶滿意的系統(tǒng)。
快速原型開(kāi)發(fā)方法可以分為四個(gè)步驟:
??系統(tǒng)基本需求的確定:確定用戶對(duì)系統(tǒng)的基本需求,包括系統(tǒng)的
主要性能、總體結(jié)構(gòu)、
交互界面等,勾畫(huà)出用戶所需要的初步原型;
..對(duì)原型的功能選擇:根據(jù)需要將原型中的功能分類(lèi),確定主次關(guān)
系,以決定先實(shí)現(xiàn)哪
些功能;
??原型的構(gòu)造與試用:根據(jù)原型進(jìn)行快速開(kāi)發(fā),并提供給用戶試用;
..原型的修改和完善:用戶可以在試用的過(guò)程中發(fā)現(xiàn)問(wèn)題、提出建
議,從而不斷完善原
型,最終得到用戶滿意的系統(tǒng)。
3.試敘述結(jié)構(gòu)化生命周期方法和快速原型方法的各自利弊,并闡述
你個(gè)人對(duì)數(shù)據(jù)庫(kù)應(yīng)用
系統(tǒng)開(kāi)發(fā)方法的見(jiàn)解。
略
4.試述面向?qū)ο箝_(kāi)發(fā)方法的基本思想和步驟。
面向?qū)ο箝_(kāi)發(fā)方法的基本思想和步驟完全融合了結(jié)構(gòu)化生命周期方
法和快速原型方法的
基本思想和步驟,只是在其中采取了面向?qū)ο蟮募夹g(shù)。具體來(lái)說(shuō),也
包括需求分析、總體設(shè)
計(jì)、詳細(xì)設(shè)計(jì)、編程實(shí)施等各個(gè)階段,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆廣西玉林高中物理高二第一學(xué)期期中教學(xué)質(zhì)量檢測(cè)試題含解析
- 2025屆河南省平頂山市魯山縣第一高級(jí)中學(xué)物理高一第一學(xué)期期中質(zhì)量跟蹤監(jiān)視試題含解析
- 撫順市重點(diǎn)中學(xué)2025屆物理高三上期末達(dá)標(biāo)檢測(cè)模擬試題含解析
- 遼寧省鞍山市2025屆高三物理第一學(xué)期期中統(tǒng)考試題含解析
- 吉林省四平市公主嶺市范家屯鎮(zhèn)第一中學(xué)2025屆高三上物理期中復(fù)習(xí)檢測(cè)試題含解析
- 2025屆廣東廣州市增城區(qū)物理高三第一學(xué)期期中預(yù)測(cè)試題含解析
- 福建省南平市邵武市四中2025屆物理高二第一學(xué)期期中質(zhì)量檢測(cè)試題含解析
- 2025屆南京市重點(diǎn)中學(xué)高一物理第一學(xué)期期末達(dá)標(biāo)檢測(cè)試題含解析
- 2025屆廣西桂梧高中物理高二第一學(xué)期期末考試試題含解析
- 云南省重點(diǎn)中學(xué)2025屆物理高三第一學(xué)期期末調(diào)研試題含解析
- 《互聯(lián)網(wǎng)的應(yīng)用》課件
- 2024年培養(yǎng)皿相關(guān)項(xiàng)目可行性分析報(bào)告
- 2024山東能源集團(tuán)高校畢業(yè)生校園招聘筆試參考題庫(kù)附帶答案詳解
- 初中九年級(jí)美術(shù)期末藝術(shù)測(cè)評(píng)指標(biāo)試卷及答案
- 新能源科學(xué)與工程專(zhuān)業(yè)職業(yè)生涯規(guī)劃
- 高考作文等級(jí)評(píng)分標(biāo)準(zhǔn)
- 顱骨修補(bǔ)護(hù)理查房自尊
- 控制輸血嚴(yán)重危害的專(zhuān)項(xiàng)方案
- GH/T 1418-2023野生食用菌保育促繁技術(shù)規(guī)程干巴菌
- pmma粒料制造工藝
- 2021年上海市春考高考英語(yǔ)試卷(精校Word版含答案)
評(píng)論
0/150
提交評(píng)論