版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)原理及應(yīng)用教程(MySQL版)-習(xí)題答案及解析
第1章教材課后習(xí)題解答
1.選擇題答案
1、A.數(shù)據(jù)是信息的符號(hào)表示,信息是對(duì)數(shù)據(jù)的語(yǔ)義解釋。信息包括數(shù)據(jù)和語(yǔ)義。
2、A.A選項(xiàng)中的內(nèi)模式是對(duì)數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)的描述,B選項(xiàng)和C選項(xiàng)是一個(gè)概念,模式又
稱(chēng)為概念模式,是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,與具體的應(yīng)用程序無(wú)關(guān),也與實(shí)
際存儲(chǔ)無(wú)關(guān)。D選項(xiàng)中的外模式是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯結(jié)構(gòu)。
3、B。以教材中表1-2的學(xué)生關(guān)系為例,數(shù)據(jù)項(xiàng)之間存在聯(lián)系,sno的值決定其他屬性的值,
例如,如果sno為si,則與之相關(guān)的該學(xué)生的其他屬性的值也被確定。以教材中表上2的學(xué)生
關(guān)系和表1-3的課程關(guān)系為例,學(xué)生記錄和課程記錄之間存在選課聯(lián)系。
4、B。數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是數(shù)據(jù)庫(kù)系統(tǒng)的核心軟件,可借助操作系統(tǒng)對(duì)數(shù)據(jù)庫(kù)進(jìn)行存
取、維護(hù)和管理。
5、Do一個(gè)數(shù)據(jù)庫(kù)中,根據(jù)應(yīng)用不同,可以有多個(gè)外模式,每一個(gè)外模式和模式會(huì)有一個(gè)對(duì)
應(yīng)的外模式/模式映像,所以外模式/模式映像可以有多個(gè)。
6、B.所謂的物理獨(dú)立性是指當(dāng)數(shù)據(jù)的實(shí)際存儲(chǔ)結(jié)構(gòu)發(fā)生變化(例如更換了磁盤(pán))時(shí),不影
響數(shù)據(jù)的全局邏輯結(jié)構(gòu),這是由模式/內(nèi)模式映像來(lái)處理的。
7、Bo一個(gè)宿舍可以包括多位學(xué)生,一位學(xué)生只能入住一間宿舍,所以,宿舍和學(xué)生之間是
一對(duì)多聯(lián)系。
8、A?內(nèi)模式與數(shù)據(jù)的實(shí)際物理存儲(chǔ)有關(guān),數(shù)據(jù)庫(kù)是以文件的形式存儲(chǔ)在磁盤(pán)上的,如果硬
件環(huán)境確定了,與之相關(guān)的物理存儲(chǔ)也就確定了,所以?xún)?nèi)模式只有一個(gè)。
9、DoD選項(xiàng)不是數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)模型。面向主題的概念與數(shù)據(jù)倉(cāng)庫(kù)有關(guān)。
10、Co性別是屬性。
2.填空題答案
1、人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫(kù)系統(tǒng)階段。
2、模式。
3、外模式/模式映像。
4、單用戶(hù)結(jié)構(gòu),主從式結(jié)構(gòu),分布式結(jié)構(gòu),客戶(hù)機(jī)/服務(wù)器結(jié)構(gòu),瀏覽器/服務(wù)器結(jié)構(gòu)。
5、網(wǎng)狀模型。
6、多對(duì)多聯(lián)系。
7、數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)用戶(hù),計(jì)算機(jī)硬件系統(tǒng),計(jì)算機(jī)軟件系統(tǒng)。
3.簡(jiǎn)答題答案
1、簡(jiǎn)述數(shù)據(jù)庫(kù)系統(tǒng)階段管理數(shù)據(jù)的特點(diǎn)?
(1)結(jié)構(gòu)化的數(shù)據(jù)及其聯(lián)系的集合
數(shù)據(jù)庫(kù)系統(tǒng)將數(shù)據(jù)按一定的結(jié)構(gòu)形式(即數(shù)據(jù)模型)組織到數(shù)據(jù)庫(kù)中,不僅考慮了某個(gè)應(yīng)用
的數(shù)據(jù)結(jié)構(gòu),而且考慮了整個(gè)組織(即多個(gè)應(yīng)用)的數(shù)據(jù)結(jié)構(gòu)。
(2)數(shù)據(jù)共享性高、冗余度低
數(shù)據(jù)庫(kù)系統(tǒng)全盤(pán)考慮所有用戶(hù)的數(shù)據(jù)需求,面向整個(gè)應(yīng)用系統(tǒng),所有用戶(hù)的數(shù)據(jù)都包含在數(shù)
據(jù)庫(kù)中。因此,不同用戶(hù)、不同應(yīng)用可同時(shí)存取數(shù)據(jù)庫(kù)中的數(shù)據(jù),每個(gè)用戶(hù)或應(yīng)用只使用數(shù)據(jù)庫(kù)
中的一部分?jǐn)?shù)據(jù),同一數(shù)據(jù)可供多個(gè)用戶(hù)或應(yīng)用共享,從而減少了不必要的數(shù)據(jù)冗余,節(jié)約了存
儲(chǔ)空間,同時(shí)也避免了數(shù)據(jù)之間的不相容性與不一致性,即避免了同一數(shù)據(jù)在數(shù)據(jù)庫(kù)中重復(fù)出現(xiàn)
且具有不同值的現(xiàn)象。
(3)數(shù)據(jù)獨(dú)立性高
在數(shù)據(jù)庫(kù)系統(tǒng)中,整個(gè)數(shù)據(jù)庫(kù)的結(jié)構(gòu)可分成三級(jí):用戶(hù)邏輯結(jié)構(gòu)、數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)和物理結(jié)
構(gòu)。數(shù)據(jù)獨(dú)立性分為兩級(jí):物理獨(dú)立性和邏輯獨(dú)立性。
(4)有統(tǒng)-?的數(shù)據(jù)管理和控制功能
數(shù)據(jù)通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行管理和控制。
2、什么是數(shù)據(jù)庫(kù)管理系統(tǒng),有哪些功能?
數(shù)據(jù)庫(kù)管理系統(tǒng)可借助操作系統(tǒng)對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行存取、維護(hù)和管理。數(shù)據(jù)庫(kù)系統(tǒng)的各類(lèi)
人員、應(yīng)用程序等對(duì)數(shù)據(jù)庫(kù)的各種操作請(qǐng)求,都必須通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)完成。
數(shù)據(jù)庫(kù)管理系統(tǒng)的主要功能包括數(shù)據(jù)定義功能、數(shù)據(jù)操縱功能、數(shù)據(jù)庫(kù)運(yùn)行管理功能、數(shù)據(jù)
庫(kù)的建立和維護(hù)功能、數(shù)據(jù)通信接口及數(shù)據(jù)組織、存儲(chǔ)和管理功能。
3、簡(jiǎn)述數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu),并說(shuō)明其優(yōu)點(diǎn)。
對(duì)用戶(hù)而言,外模式、模式和內(nèi)模式分別對(duì)應(yīng)一般用戶(hù)模式、概念模式和物理模式,它們分
別反映了看待數(shù)據(jù)庫(kù)的三個(gè)角度。
模式也稱(chēng)為概念模式,是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,處于三級(jí)模式結(jié)構(gòu)的
中間層,不涉及數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境,與具體的應(yīng)用程序、所使用的應(yīng)用開(kāi)發(fā)工具及
高級(jí)程序設(shè)計(jì)語(yǔ)言無(wú)關(guān)。一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)模式。
外模式又稱(chēng)為子模式或用戶(hù)模式,是三級(jí)模式結(jié)構(gòu)的最外層,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏
輯結(jié)構(gòu),即用戶(hù)視圖。外模式一般是模式的子集,一個(gè)數(shù)據(jù)庫(kù)可以有多個(gè)外模式。
內(nèi)模式又稱(chēng)存儲(chǔ)模式或物理模式,是三級(jí)模式結(jié)構(gòu)中的最內(nèi)層,也是靠近物理存儲(chǔ)的一層,
即與實(shí)際存儲(chǔ)數(shù)據(jù)方式有關(guān)的一層。它是對(duì)數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示
方式。一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式。
三級(jí)模式的優(yōu)點(diǎn)如下所示:
(1)保證數(shù)據(jù)的獨(dú)立性。將模式和內(nèi)模式分開(kāi),保證了數(shù)據(jù)的物理獨(dú)立性;將外模式和模
式分開(kāi),保證了數(shù)據(jù)的邏輯獨(dú)立性。
(2)簡(jiǎn)化了用戶(hù)接口。按照外模式編寫(xiě)應(yīng)用程序或輸入命令,而不需了解數(shù)據(jù)庫(kù)內(nèi)部的存
儲(chǔ)結(jié)構(gòu),方便用戶(hù)使用系統(tǒng)。
(3)有利于數(shù)據(jù)共享。在不同的外模式下可由多個(gè)用戶(hù)共享系統(tǒng)中的數(shù)據(jù),減少了數(shù)據(jù)冗
余。
(4)有利于數(shù)據(jù)的安全保密。在外模式下根據(jù)要求進(jìn)行操作,只能對(duì)限定的數(shù)據(jù)操作,保
證了其他數(shù)據(jù)的安全。
4、什么是分布式數(shù)據(jù)庫(kù),有哪些特點(diǎn)?
分布式結(jié)構(gòu)的數(shù)據(jù)庫(kù)系統(tǒng)是分布式網(wǎng)絡(luò)技術(shù)與數(shù)據(jù)庫(kù)技術(shù)相結(jié)合的產(chǎn)物,數(shù)據(jù)在物理上是分
布的,數(shù)據(jù)不集中存放在一臺(tái)服務(wù)器上,而是分布在不同地域的服務(wù)器上;所有數(shù)據(jù)在邏輯上是
一個(gè)整體;用戶(hù)不關(guān)心數(shù)據(jù)的分片存儲(chǔ),也不關(guān)心物理數(shù)據(jù)的具體分布,完全由網(wǎng)絡(luò)數(shù)據(jù)庫(kù)在分
布式文件系統(tǒng)的支持下完成。
這種數(shù)據(jù)庫(kù)系統(tǒng)的優(yōu)點(diǎn)是可以利用多臺(tái)服務(wù)器并發(fā)地處理數(shù)據(jù),從而提高計(jì)算型數(shù)據(jù)處理任
務(wù)的效率。缺點(diǎn)是數(shù)據(jù)的分布式存儲(chǔ)給數(shù)據(jù)處理任務(wù)的協(xié)調(diào)與維護(hù)帶來(lái)困難。同時(shí),當(dāng)用戶(hù)需要
經(jīng)常訪(fǎng)問(wèn)過(guò)程數(shù)據(jù)時(shí),系統(tǒng)效率明顯地受到網(wǎng)絡(luò)流量的制約。
5、三個(gè)世界指什么?它們之間有什么聯(lián)系?
三個(gè)世界是指現(xiàn)實(shí)世界、信息世界和計(jì)算機(jī)世界。
現(xiàn)實(shí)世界,即客觀(guān)存在的世界。其中存在著各種事物及它們之間的聯(lián)系,每個(gè)事物都有自己
的特征或性質(zhì)。信息世界是現(xiàn)實(shí)世界在人們頭腦中的反映,經(jīng)過(guò)人腦的分析、歸納和抽象,形成
信息,人們把這些信息進(jìn)行記錄、整理、歸類(lèi)和格式化后,就構(gòu)成了信息世界。計(jì)算機(jī)世界是信
息世界中信息的數(shù)據(jù)化,就是將信息用字符和數(shù)值等數(shù)據(jù)表示,便于存儲(chǔ)在計(jì)算機(jī)中并由計(jì)算機(jī)
進(jìn)行識(shí)別和處理。
第2章教材課后習(xí)題解答
1.選擇題答案
1、B.一個(gè)關(guān)系數(shù)據(jù)庫(kù)中包括多個(gè)關(guān)系,例如教材中的教學(xué)數(shù)據(jù)庫(kù)teaching包括教師關(guān)系、
學(xué)生關(guān)系、課程關(guān)系、選課關(guān)系和授課關(guān)系。每個(gè)關(guān)系都有關(guān)系模式(關(guān)系頭),所有關(guān)系的關(guān)
系模式共同組成關(guān)系數(shù)據(jù)庫(kù)模式。
2、A?關(guān)系是元組的集合,數(shù)學(xué)上集合中不能有相同的元素,所以同一個(gè)關(guān)系模型中的人兩
個(gè)元組值不能完全相同。
3、D?針對(duì)的應(yīng)用不同,一個(gè)關(guān)系可能包括一個(gè)或者多個(gè)候選碼,從中選擇一個(gè)可以作為主
碼。一個(gè)關(guān)系也可以包括多個(gè)外碼,例如教材中表卜4的選課關(guān)系,其中的sn。和eno都是該關(guān)
系的外碼。超碼和候選碼類(lèi)似,也是能唯一標(biāo)識(shí)關(guān)系中元組的一個(gè)屬性或?qū)傩约浅a不滿(mǎn)
足最小性,所以超碼包含候選碼。例如,教材中表1-2的學(xué)生關(guān)系中,sno是候選碼,能唯一標(biāo)
識(shí)元組,sno+sn是sno的超碼,也能唯一標(biāo)識(shí)元組,但是它不滿(mǎn)足最小性,因?yàn)槠鸬轿ㄒ粯?biāo)識(shí)
作用的是sno,不是sn?
4、A。關(guān)系中每一個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng),所以,分量對(duì)應(yīng)的字段也不可再分。
5、D?關(guān)系中不同字段的域可以相同,但是字段名不能相同。
2.填空題答案
]、同質(zhì)。
2、參照完整性。
3、主碼、外碼。
4、關(guān)系0
5.學(xué)號(hào),手機(jī)號(hào),身份證號(hào)、學(xué)號(hào)、姓名,性別,年齡,專(zhuān)業(yè)和院系。
3.簡(jiǎn)答題答案
1、關(guān)系模型的完整性規(guī)則有哪幾類(lèi)?
關(guān)系模型中,有三類(lèi)完整性約束,即實(shí)體完整性、參照完整性和用戶(hù)自定義的完整性。其中,
實(shí)體完整性和參照完整性是關(guān)系模型必須滿(mǎn)足的完整性約束條件,被稱(chēng)作關(guān)系的兩個(gè)不變性。任
何關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)都應(yīng)該支持這兩類(lèi)完整性。除此之外,不同的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)由于應(yīng)用環(huán)境的
不同,往往還需要一些特殊的約束條件,這就是用戶(hù)自定義完整性,用戶(hù)自定義完整性體現(xiàn)了具
體領(lǐng)域中的語(yǔ)義約束。
2、舉例說(shuō)明什么是實(shí)體完整性和參照完整性。
實(shí)體完整性是指主碼的值不能為空或部分為空。例如,教材中表1-3的課程關(guān)系中的主碼“課
程號(hào)"(eno)可以唯一標(biāo)識(shí)一門(mén)課程實(shí)體。如果主碼中的值為空或部分為空,即主屬性為空,則
不符合關(guān)系鍵的定義條件,不能唯一標(biāo)識(shí)元組及與其相對(duì)應(yīng)的實(shí)體。例如,課程關(guān)系中的主碼“課
程號(hào)”不能為空,授課關(guān)系中的主碼“教師號(hào)+課程號(hào)”不能部分為空,即“教師號(hào)”和“課程
號(hào)”兩個(gè)字段的取值都不能為空。
參照完整性是指如果關(guān)系R?的外碼X與關(guān)系R的主碼相符,則X的每個(gè)值或者等于R中主
碼的某一個(gè)值或者取空值。例如,在下圖中,學(xué)生關(guān)系s的字段“院系”(dept)與院系關(guān)系d
的主碼“院系”(dept)相對(duì)應(yīng),因此,學(xué)生關(guān)系s的字段dept是該關(guān)系的外碼,學(xué)生關(guān)系s
是參照關(guān)系,院系關(guān)系d是被參照關(guān)系。學(xué)生關(guān)系中某個(gè)學(xué)生(如si或s2)“院系”的取值,
必須在院系關(guān)系中主碼“院系”的值中能夠找到,否則表示把該學(xué)生分配到一個(gè)不存在的部門(mén)中,
顯然不符合語(yǔ)義。如果某個(gè)學(xué)生(如s9)“院系”取空值,則表示該學(xué)生尚未分配到任何一個(gè)院
系;否則,它只能取院系關(guān)系中某個(gè)元組的院系值。
S(學(xué)生關(guān)系)d(院系關(guān)系)
SDOsnsexagemajdeptdeptAddr
學(xué)號(hào)姓名性別年齡專(zhuān)業(yè)院系院系地址
sl王彤女18計(jì)算機(jī)信息學(xué)院工學(xué)院1號(hào)樓
s2蘇樂(lè)女20信息信息學(xué)院理學(xué)院2號(hào)樓
s3林昕男19信息信息學(xué)院信息學(xué)院1號(hào)樓
s4陶然女18自動(dòng)化工學(xué)院
s5魏立男17數(shù)學(xué)理學(xué)院
s6何欣榮女21計(jì)算機(jī)信息學(xué)院
s7趙琳琳女19數(shù)學(xué)理學(xué)院
s8李軒男19自動(dòng)化工學(xué)院
s9李麗女20
3、關(guān)系的性質(zhì)主要包括哪些方面?
在關(guān)系模型中,關(guān)系具有如下性質(zhì)。
(1)列是同質(zhì)的,即每一列中的分量必須來(lái)自同一個(gè)域,必須是同一類(lèi)型的數(shù)據(jù)。
(2)不同的屬性可來(lái)自同一個(gè)域,但不同的屬性必須有不同的名字。例如,假設(shè)某關(guān)系中
的兩個(gè)屬性“職業(yè)”和“兼職”,它們可以來(lái)自同一個(gè)域{教師,工人,輔導(dǎo)員)。
(3)列的順序可以任意交換。但交換時(shí),應(yīng)連同屬性名一起交換,否則將得到不同的關(guān)系。
(4)關(guān)系中元組的順序(即行序)可任意,在一個(gè)關(guān)系中可以任意交換兩行的次序。因?yàn)?/p>
關(guān)系是以元組為元素的集合,而集合中的元素是無(wú)序的,所以作為集合元素的元組也是無(wú)序的。
(5)關(guān)系中不允許出現(xiàn)相同的元組。因?yàn)閿?shù)學(xué)上集合中沒(méi)有相同的元素,而關(guān)系是元組的
集合,所以作為集合元素的元組應(yīng)該是唯一的。
(6)關(guān)系中每一分量必須是不可分的數(shù)據(jù)項(xiàng),也就是說(shuō),不能出現(xiàn)“表中有表”的現(xiàn)象。
滿(mǎn)足此條件的關(guān)系稱(chēng)為規(guī)范化關(guān)系,否則稱(chēng)為非規(guī)范化關(guān)系。
第3章教材課后習(xí)題解答
1.選擇題答案
1、AoA選項(xiàng)中SQL應(yīng)該是一種非過(guò)程化的語(yǔ)言。
2、B。B選項(xiàng)CREATE屬于數(shù)據(jù)定義語(yǔ)言。
3、CoA選項(xiàng)SELECT主要用于對(duì)數(shù)據(jù)庫(kù)中的各種數(shù)據(jù)對(duì)象進(jìn)行查詢(xún),B選項(xiàng)CREATE負(fù)責(zé)數(shù)
據(jù)庫(kù)對(duì)象的建立,D選項(xiàng)UPDATE是依據(jù)給定條件,將數(shù)據(jù)表中符合條件的數(shù)據(jù)更新為新值。
4、C。數(shù)據(jù)定義語(yǔ)言主要包括CREATE,ALTER和DROP,可以創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象、修改數(shù)據(jù)庫(kù)
對(duì)象和刪除數(shù)據(jù)庫(kù)對(duì)象等。
5、Co數(shù)據(jù)定義語(yǔ)言主要包括CREATE、ALTER和DROP,可以創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象、修改數(shù)據(jù)庫(kù)
對(duì)象和刪除數(shù)據(jù)庫(kù)對(duì)象等。
2.填空題答案
IsStructuredQueryLanguage。
2、數(shù)據(jù)定義語(yǔ)言、數(shù)據(jù)查詢(xún)語(yǔ)言、數(shù)據(jù)操縱語(yǔ)言、數(shù)據(jù)控制語(yǔ)言。
第4章教材課后習(xí)題解答
1.選擇題答案
1、A。SQLServer數(shù)據(jù)庫(kù)管理系統(tǒng)中只有一種存儲(chǔ)引擎,所有數(shù)據(jù)存儲(chǔ)管理機(jī)制都是一樣
的。
2、C。My$QL數(shù)據(jù)庫(kù)管理系統(tǒng)提供了多種存儲(chǔ)引擎,用戶(hù)可以根據(jù)不同的需求為數(shù)據(jù)表選擇
不同的存儲(chǔ)引擎。
3.Co一個(gè)字符集對(duì)應(yīng)至少一種校對(duì)規(guī)則(通常是一對(duì)多的關(guān)系),兩個(gè)不同的字符集不能
有相同的校對(duì)規(guī)則,而且,每個(gè)字符集都設(shè)置默認(rèn)的校對(duì)規(guī)則。
4sCoMySQL數(shù)據(jù)庫(kù)管理系統(tǒng)創(chuàng)建數(shù)據(jù)庫(kù)的命令為CREATEDATABASE|SCHEMA[IFNOTEXISTS]
db_name?其中,CREATE和數(shù)據(jù)庫(kù)名稱(chēng)之間不能缺少DATABASE或者SCHEMA。
2.填空題答案
]、SHOWENGINES;
2^MySQL。
3、.frm、.myd、.myi。
4、內(nèi)存。
5、校對(duì)規(guī)則。
6、SHOWCHARACTERSET;
7、SHOWCOLLATION;
8、CREATE。
9sSHOW。
10>ALTER。
11>DROP。
3.簡(jiǎn)答題答案
1、簡(jiǎn)述存儲(chǔ)引擎的概念及其作用。
存儲(chǔ)引擎是決定如何存儲(chǔ)數(shù)據(jù)庫(kù)中的數(shù)據(jù)、如何為數(shù)據(jù)建立索引、如何更新和查詢(xún)數(shù)據(jù)的機(jī)
制。由于關(guān)系數(shù)據(jù)庫(kù)中數(shù)據(jù)是以關(guān)系表的形式存儲(chǔ)的,所以存儲(chǔ)引擎也稱(chēng)為表類(lèi)型。
2、簡(jiǎn)述常用的存儲(chǔ)引擎的優(yōu)缺點(diǎn)。
MySQL5.5之后,InnoDB是MySQL的默認(rèn)存儲(chǔ)引擎。InnoDB是事務(wù)型數(shù)據(jù)庫(kù)的首選引擎,具
有提交、回滾和崩潰修復(fù)能力。InnoDB提供專(zhuān)門(mén)的緩沖池,支持行級(jí)鎖定,支持外鍵約束,將
表和索引存儲(chǔ)在一個(gè)表空間中,表空間可以包含多個(gè)文件(或原始磁盤(pán)分區(qū)),表可以是任何尺
寸。
MySQL5.5之前,MyISAM是MySQL的默認(rèn)存儲(chǔ)引擎。MylSAM不支持事物處理,也不支持外鍵
約束。但是,MylSAM具有高效的查詢(xún)速度,插入數(shù)據(jù)的速度也很快,是在Web、數(shù)據(jù)倉(cāng)儲(chǔ)等應(yīng)用
環(huán)境中最常使用的存儲(chǔ)引擎之一。
與InnoDB和MylSAM不同,MEMORY類(lèi)型的表中的數(shù)據(jù)存儲(chǔ)在內(nèi)存中,如果數(shù)據(jù)庫(kù)重啟或者
發(fā)生崩潰,表中的數(shù)據(jù)都將消失。MEMORY類(lèi)型的表適用于暫時(shí)存放數(shù)據(jù)的臨時(shí)表、作為統(tǒng)計(jì)操
作的中間表,以及數(shù)據(jù)倉(cāng)庫(kù)中的維度表。
3、在實(shí)際應(yīng)用中,如何選擇存儲(chǔ)引擎?
在實(shí)際工作中,可以根據(jù)應(yīng)用場(chǎng)景的不同,對(duì)各種存儲(chǔ)引擎的特點(diǎn)進(jìn)行對(duì)比和分析,選擇適
合的存儲(chǔ)引擎。此外,還可以根據(jù)實(shí)際情況對(duì)不同的數(shù)據(jù)表選用不同的存儲(chǔ)引擎。
如果實(shí)際應(yīng)用需要事物處理,在并發(fā)操作時(shí)要求保持?jǐn)?shù)據(jù)的一致性,而且除了查詢(xún)和插入操
作,還經(jīng)常要進(jìn)行更新和刪除操作,這種情況可以選擇InnoDB,可以有效降低更新和刪除操作
導(dǎo)致的鎖定,并且可以確保事務(wù)的完整性提交和回滾。
如果實(shí)際應(yīng)用不需要事物處理,以查詢(xún)和插入操作為主,更新和刪除操作較少,并且對(duì)事物
的完整性和并發(fā)性要求不是很高,可以選擇MylSAM。
如果實(shí)際應(yīng)用不需要事物處理,需要很快的讀寫(xiě)速度,并且對(duì)數(shù)據(jù)的安全性要求較低,可以
選擇MEMOEY。它對(duì)表的大小有要求,不能建立太大的表。所以,MEMORY適用于創(chuàng)建相對(duì)較小的
數(shù)據(jù)庫(kù)表。
綜上,選擇什么類(lèi)型的存儲(chǔ)引擎需要根據(jù)具體應(yīng)用靈活選擇。此外,同一個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù)
表可以選擇適合自己的存儲(chǔ)引擎,從而滿(mǎn)足各自的應(yīng)用性能和實(shí)際需求??傊?,使用合適的存儲(chǔ)
引擎,將會(huì)提高整個(gè)數(shù)據(jù)庫(kù)的性能。
4、簡(jiǎn)述字符集校對(duì)規(guī)則的作用。
針對(duì)數(shù)據(jù)的存儲(chǔ),MySQL提供了多種字符集;針對(duì)同一字符集內(nèi)字符之間的比較,MySQL提
供了與之對(duì)應(yīng)的多種校對(duì)規(guī)則。其中,一個(gè)字符集對(duì)應(yīng)至少一種校對(duì)規(guī)則(通常是一對(duì)多的關(guān)系),
兩個(gè)不同的字符集不能有相同的校對(duì)規(guī)則,而且,每個(gè)字符集都設(shè)置默認(rèn)的校對(duì)規(guī)則。
第5章教材課后習(xí)題解答
1.選擇題答案
1、B。A選項(xiàng)中數(shù)值類(lèi)型DECIMALSS)中,P表示數(shù)據(jù)長(zhǎng)度,S表示小數(shù)位數(shù);C選項(xiàng)中BIT
數(shù)據(jù)類(lèi)型以位為單位存儲(chǔ)字段值;D選項(xiàng)中ENUM類(lèi)型只允許在給定的集合中取一個(gè)值。
2、CoMySQL使用SQL語(yǔ)句中的ALTERTABLE語(yǔ)句來(lái)修改表名、修改字段數(shù)據(jù)類(lèi)型、修改字
段名、添加和刪除字段、更改表的存儲(chǔ)引擎等數(shù)據(jù)表結(jié)構(gòu)。
3、A.B選項(xiàng)中的字符型數(shù)據(jù)需要用單引號(hào)引起來(lái);s表中學(xué)號(hào)sno定義了非空約束,C選
項(xiàng)中學(xué)號(hào)字段的值不能為NULL:s表中姓名sn定義了非空約束,D選項(xiàng)中姓名字段的值不能為
NULL。
4、B。UPDATE語(yǔ)句可以對(duì)表中的一行或多行記錄的某些字段值進(jìn)行修改。A選項(xiàng)可以對(duì)數(shù)據(jù)
庫(kù)對(duì)象進(jìn)行修改。
5、AoPRIMARYKEY約束的字段,其值不能為NULL、不能重復(fù),以此來(lái)保證實(shí)體的完整性。
2.填空題答案
R非空約束、唯一約束、主鍵約束、外鍵約束、CHECK約束。
2、DROPsDELETEo
3.簡(jiǎn)答題答案
1.數(shù)字類(lèi)型包括整數(shù)類(lèi)型和數(shù)值類(lèi)型。整數(shù)類(lèi)型按照取值范圍從小到大,包括TINYINT、
SMALLINT,MEDIUMINTsINT、BIGINTo數(shù)值類(lèi)型包括精確數(shù)值型DECIMAL和近似數(shù)值型FLOAT.
DOUBLE,REAL,
字符串類(lèi)型用于存儲(chǔ)字符串?dāng)?shù)據(jù),包括CHAR、VARCHAR和TEXT。
時(shí)間日期類(lèi)型包括TIME、DATE,YEAR、DATETIME和TIMESTAMP。
二進(jìn)制類(lèi)型包括BIT、BINARY,VARBINARY、TTNYBLOB,BLOB,MEDTUMBLOB和LONGBLOB?
除此之外,MySQL還支持兩種復(fù)合數(shù)據(jù)類(lèi)型ENUM和SET。
2.可以使用CREATETABLE語(yǔ)句創(chuàng)建數(shù)據(jù)表,其基本語(yǔ)法格式為:
CREATE[TEMPORARY]TABLE[IFNOTEXIST]〈表名〉
[(卜列定義…I[〈索引定義>])]
[tableoption][selectstatement]
如創(chuàng)建學(xué)生表s
CREATETABLE's'(
"sno'char(10)NOTNULLCOMMENT'學(xué)號(hào)',
'sn'varchar(45)NOTNULLCOMMENT'姓名',
'sex'enumC男‘,'女')NOTNULLDEFAULT'男'COMMENT'性別',
'age'intNOTNULLCOMMENT'年齡',
'maj'varchar(45)NOTNULLCOMMENT'專(zhuān)業(yè)',
'dept'varchar(45)NOTNULLCOMMENT'院系',
PRIMARYKEYCsno')
)
第6章教材課后習(xí)題解答
1.選擇題答案
1、A.A選項(xiàng)中SELECT后面是字段列表,是從列的角度操作的,可以將需要的字段顯示在
查詢(xún)結(jié)果集中,能實(shí)現(xiàn)選取操作。
2、C?C選項(xiàng)中WHERE后面的檢索條件是用來(lái)約束元組的,是從行的角度操作的,只有滿(mǎn)足
檢索條件的元組才會(huì)出現(xiàn)在查詢(xún)結(jié)果集中。
3、C。判斷某個(gè)字段的值是否為空值時(shí),字段和NULL之間不能用等號(hào)或者不等號(hào),要用is
或者isNOTo
4、D?HAVING子句作用于組,選擇滿(mǎn)足條件的組,必須用在GROUPBY子句之后,但GROUPBY
子句可以沒(méi)有HAVING子句。
5、Co當(dāng)需要對(duì)查詢(xún)結(jié)果排序時(shí),應(yīng)該使用ORDERBY子句,ORDERBY子句必須出現(xiàn)在其他
子句之后。
6、C。C選項(xiàng)中,LIMIT后面的第一個(gè)參數(shù)用于指定查詢(xún)結(jié)果的第一行的偏移量,默認(rèn)為0,
表示查詢(xún)結(jié)果的第1行,以此類(lèi)推。所以C選項(xiàng)中LIMIT后面的第一個(gè)參數(shù)2表示查詢(xún)結(jié)果的第
3行。LIMIT后面的第二個(gè)參數(shù)用來(lái)指定顯示查詢(xún)結(jié)果的行數(shù)。
7、A.A選項(xiàng)中的'%系統(tǒng)’,表示課程名的最后兩個(gè)字是系統(tǒng),在此之前的內(nèi)容可以是0個(gè)
字符,一個(gè)字符或者多個(gè)字符,所以用外來(lái)代替。
8、D?完成題目要求的查詢(xún)?nèi)蝿?wù),需要用到課程表和選課表兩個(gè)不同的表,不能使用自連接
查詢(xún),自連接查詢(xún)使用的兩個(gè)表實(shí)際上是同一個(gè)表,只是為其取了不同的別名。
9、B。普通子查詢(xún)的執(zhí)行順序是:首先執(zhí)行子查詢(xún),然后把子查詢(xún)的結(jié)果作為父查詢(xún)的查詢(xún)
條件的值。普通子查詢(xún)只執(zhí)行一次,而父查詢(xún)所涉及的所有記錄行都與其查詢(xún)結(jié)果進(jìn)行比較以確
定查詢(xún)結(jié)果集合。
10.Co相關(guān)子查詢(xún)的執(zhí)行順序是:首先,選取父查詢(xún)表中的第一行記錄,子查詢(xún)利用此行
中相關(guān)的屬性值在子查詢(xún)?cè)O(shè)計(jì)的基本表中進(jìn)行查詢(xún),然后,父查詢(xún)根據(jù)子查詢(xún)返回的結(jié)果判斷父
查詢(xún)表中的此行是否滿(mǎn)足查詢(xún)條件。如果滿(mǎn)足條件,則把該行放入父查詢(xún)的查詢(xún)結(jié)果集合中。重
復(fù)執(zhí)行這一過(guò)程,直到處理完父查詢(xún)表中的每一行數(shù)據(jù)。由此可以看出,相關(guān)子查詢(xún)的執(zhí)行次數(shù)
是由父查詢(xún)表的行數(shù)決定的。
2.填空題答案
RDISTINCT(大小寫(xiě)都可以)。
2、LIMIT(大小寫(xiě)都可以)。
3、AS(大小寫(xiě)都可以)。
4、*o_
5、連接字段。
6、行數(shù)(或者元組數(shù)量)。
7、LIMIT2,6(或者limit2,6)。
8、積(或者乘積)、和。
9、自連接查詢(xún)。
10,UNION(大小寫(xiě)都可以)。
3.簡(jiǎn)答題答案
1、簡(jiǎn)述普通子查詢(xún)的過(guò)程。
普通子查詢(xún)的執(zhí)行順序是:首先執(zhí)行子查詢(xún),然后把子查詢(xún)的結(jié)果作為父查詢(xún)的查詢(xún)條件的
值。普通子查詢(xún)只執(zhí)行一次,而父查詢(xún)所涉及的所有記錄行都與其查詢(xún)結(jié)果進(jìn)行比較以確定查詢(xún)
結(jié)果集合。
2、簡(jiǎn)述相關(guān)子查詢(xún)的過(guò)程。
相關(guān)子查詢(xún)的執(zhí)行順序是:首先,選取父查詢(xún)表中的第一行記錄,子查詢(xún)利用此行中相關(guān)的
屬性值在子查詢(xún)?cè)O(shè)計(jì)的基本表中進(jìn)行查詢(xún),然后,父查詢(xún)根據(jù)子查詢(xún)返回的結(jié)果判斷父查詢(xún)表中
的此行是否滿(mǎn)足查詢(xún)條件。如果滿(mǎn)足條件,則把該行放入父查詢(xún)的查詢(xún)結(jié)果集合中。重復(fù)執(zhí)行這
一過(guò)程,直到處理完父查詢(xún)表中的每一行數(shù)據(jù)。
由此可以看出,相關(guān)子查詢(xún)的執(zhí)行次數(shù)是由父查詢(xún)表的行數(shù)決定的。
3、簡(jiǎn)述外連接查詢(xún)的作用。
在內(nèi)連接查詢(xún)中,不滿(mǎn)足連接條件的元組不能作為查詢(xún)結(jié)果輸出。而在外部連接中,參與連
接的表有主從之分,以主表的每行數(shù)據(jù)去匹配從表的數(shù)據(jù)列。符合連接條件的數(shù)據(jù)將直接返回到
結(jié)果集中;對(duì)那些不符合連接條件的列,將被填上NULL值后,再返回到結(jié)果集中。
4、對(duì)于數(shù)據(jù)庫(kù)teaching,寫(xiě)出以下查詢(xún)?nèi)蝿?wù)的SQL語(yǔ)句。
(1)查詢(xún)學(xué)生表s中的所有內(nèi)容。
SELECT*
FROMs;
(2)查詢(xún)學(xué)生表s中院系(dept)的數(shù)量。
SELECTCOUNT(DISTINCTdept)
FROMs;
(3)查詢(xún)信息學(xué)院的所有女生信息。
SELECT*
FROMs
WHEREsex='女'ANDdept='信息學(xué)院';
(4)查詢(xún)講授課程號(hào)為“cl”和“c2”的教師號(hào)、姓名、職稱(chēng)和課程號(hào)。
SELECTt.tno,tn,prof,eno
FROMt,tc
WHEREt.tno=tc.tnoAND(cno="cl'ORcno='c2')
(5)查詢(xún)姓“趙”的老師的信息,要求顯示教師號(hào)、姓名、職稱(chēng)和專(zhuān)業(yè)。
SELECTtno,tn,prof,maj
FROMt
WHEREtnLIKE'趙%'
(6)查詢(xún)每位學(xué)生的選課信息,要求顯示學(xué)號(hào)和選課數(shù)量,并且按照選課數(shù)量降序排列。
SELECTsno,COUNT(eno)AS選課數(shù)量
FROMsc
GROUPBYsno
ORDERBYCOUNT(eno)DESC
(7)查詢(xún)授課教師數(shù)量在兩人及以上的課程信息,要求顯示課程號(hào)和授課人數(shù)。
SELECTeno,COUNT(tno)AS授課人數(shù)
FROMtc
GROUPBYeno
HAVINGCOUNT(tno)>=2
(8)查詢(xún)與教師“劉楊”不同院系的教師號(hào)、姓名和院系。
SELECTx.tno,x.tn,x.dept
FROMtASx,tASy
WHEREx.deptOy.detpANDy.tn='劉楊'
或者
SELECTtno,tn,dept
FROMt
WHEREdept<>(SELECTdept
FROMt
WHEREtn='劉楊')
(9)查詢(xún)選修“程序設(shè)計(jì)基礎(chǔ)”課程的學(xué)號(hào)、姓名和課程號(hào)。
SELECTs.sno,sn,c.eno
FROMs,sc,c
WHEREs.sno=sc.snoANDsc.cno=c.enoANDc.cn=,程序設(shè)計(jì)基礎(chǔ)'
(10)查詢(xún)課程號(hào)為“c2”的課程的選課信息,要求顯示課程號(hào)、課程名、學(xué)號(hào)、姓名和成
績(jī)。
SELECTc.eno,cn,s.sno,sn,score
FROMs,sc,c
WHEREs.sno=sc.snoANDsc.cno=c.enoANDc.eno='c2'
第7章教材課后習(xí)題解答
1.選擇題答案
1、B。B選項(xiàng)中視圖可以提高數(shù)據(jù)查找語(yǔ)句的編寫(xiě)效率,索引可以提高數(shù)據(jù)的檢索效率。
2、B。A選項(xiàng)中一般不可更新多個(gè)基本表構(gòu)建的視圖,C選項(xiàng)不使用LCAL參數(shù)不會(huì)檢索父視
圖的條件,D選項(xiàng)不可以對(duì)包含聚合函數(shù)的視圖進(jìn)行更新。
3、D。D選項(xiàng)索引可以提升檢索效率,但索引數(shù)量越多維護(hù)索引代價(jià)越大,因此,需要控制
索引的數(shù)量。
2.填空題答案
]、普通索引、唯一索引、主鍵索引、全文索引、空間信息索引。
2、CREATEVIEWsmaleviewASSELECT*FROMsWHERESEX='男'。
3、DROPVIEWsmaleview。
4、CREATEINDEXcnindexONc(cn)。
5、DROPINDEXcnindex.
3.簡(jiǎn)答題
1、視圖的作用:提升數(shù)據(jù)操作的便捷性、提升數(shù)據(jù)的邏輯獨(dú)立性、提升數(shù)據(jù)的安全性、數(shù)
據(jù)集成。
2、按照特征分為:普通索引、唯一索引、主鍵索引、全文索引、空間信息索引。按照涉及
的列分為:?jiǎn)瘟兴饕蛷?fù)合索引。按照存儲(chǔ)方式分為:B-Tree索引、Hash索引。按照索引與數(shù)
據(jù)物理存儲(chǔ)方式分為聚集型索引和非聚集型索引。
第8章教材課后習(xí)題解答
1.選擇題答案
1、B.使用GRANT語(yǔ)句為用戶(hù)授權(quán)。
2、Do在MySQL的user表中通產(chǎn)更實(shí)用密文存儲(chǔ)密碼或口令信息。
3sCo授予角色給用戶(hù)后,需要激活方可使用該角色。
2.填空題答案
]、普通索引、唯一索引、主鍵索引、全文索引、空間信息索引。
2、CREATEVIEWsmaleviewASSELECT*FROMsWHERESEX='男'。
3、DROPVIEWsmaleview。
4、CREATEINDEXcnindexONc(cn)。
5、DROPINDEXcnindex。
3.簡(jiǎn)答題
1、視圖的作用:提升數(shù)據(jù)操作的便捷性、提升數(shù)據(jù)的邏輯獨(dú)立性、提升數(shù)據(jù)的安全性、數(shù)
據(jù)集成。
2、按照特征分為:普通索引、唯一索引、主鍵索引、全文索引、空間信息索引。按照涉及
的列分為:?jiǎn)瘟兴饕蛷?fù)合索引。按照存儲(chǔ)方式分為:B-Tree索引、Hash索引。按照索引與數(shù)
據(jù)物理存儲(chǔ)方式分為聚集型索引和非聚集型索引。
第9章教材課后習(xí)題解答
1.選擇題答案
1、AoA選項(xiàng)中原子性即指事務(wù)所有的操作均為一個(gè)邏輯整體,在操作時(shí)不可分割,要么全
部執(zhí)行,要么全不執(zhí)行。
2、D。D選項(xiàng)SERIALIZABLE指串行化,隔離級(jí)別最高,通過(guò)強(qiáng)制事務(wù)排序,使事務(wù)之間不
可能相互沖突。A選項(xiàng)READUNCOMMITTED是事務(wù)最低隔離級(jí)別;B選項(xiàng)READCOMMITTED可以避
免讀取臟數(shù)據(jù);C選項(xiàng)REPEATABLEREAD可以避免丟失更新、讀取臟數(shù)據(jù)和不可重復(fù)讀。
3、DoMySQL的事務(wù)具備ACID特性,即原子性、一致性、隔離性和持續(xù)性。所以不具備D
選項(xiàng)共享性。
4、A。死鎖是指兩個(gè)或更多的事務(wù)同時(shí)處于等待狀態(tài),每個(gè)事務(wù)都在等待其中另一個(gè)事務(wù)解
除封鎖,結(jié)果造成任何一個(gè)事務(wù)都無(wú)法繼續(xù)執(zhí)行。所以并發(fā)控制是發(fā)生死鎖的原因,選項(xiàng)A正確。
5、Do排它鎖又稱(chēng)X鎖,排它鎖的規(guī)定:一個(gè)事務(wù)對(duì)數(shù)據(jù)對(duì)象A加了X鎖,那么該事務(wù)可以
對(duì).A進(jìn)行讀和寫(xiě),但其加鎖期間其他事務(wù)不能對(duì)A加任何鎖,直到X鎖釋放。由規(guī)定可知,加排
它鎖和共享鎖都失敗,故選項(xiàng)D正確。
2.填空題答案
]、可重復(fù)讀REPEATABLEREAD。
2、行級(jí)鎖、表級(jí)鎖。
3,死鎖。
3.簡(jiǎn)答題答案
1、事務(wù)并發(fā)操作如果不加以適當(dāng)控制,可能會(huì)存儲(chǔ)不正確的數(shù)據(jù),產(chǎn)生數(shù)據(jù)的不一致性問(wèn)
題。包括丟失更新、讀取臟數(shù)據(jù)、不可重復(fù)讀和幻象讀。
丟失更新:并發(fā)事務(wù)同時(shí)讀取數(shù)據(jù),但在修改數(shù)據(jù)過(guò)程中,某一事務(wù)丟失了其他事務(wù)已經(jīng)讀
數(shù)據(jù)進(jìn)行的修改。
讀取臟數(shù)據(jù):并發(fā)事務(wù)中的某一事務(wù)讀取了其他事務(wù)尚未提交的數(shù)據(jù)。
不可重復(fù)讀:事務(wù)在兩次讀取間隔間,其他并發(fā)事務(wù)對(duì)數(shù)據(jù)進(jìn)行了修改,導(dǎo)致該事物進(jìn)行檢
驗(yàn)數(shù)據(jù)時(shí),兩次讀取數(shù)據(jù)不一致。
幻象讀:在兩次查詢(xún)間隔中,有并發(fā)的事務(wù)在對(duì)相同的表做插入或刪除操作,所以當(dāng)該事物
用相同的條件查詢(xún)記錄時(shí),記錄個(gè)數(shù)忽多忽少,有一種“幻象”的感覺(jué)。
2、死鎖的含義:兩個(gè)或更多的事務(wù)同時(shí)處于等待狀態(tài),每個(gè)事務(wù)都在等待其中另一個(gè)事務(wù)
解除封鎖,它才能繼續(xù)執(zhí)行下去,結(jié)果造成任何一個(gè)事務(wù)都無(wú)法繼續(xù)執(zhí)行。
死鎖發(fā)生的必要條件包括:
(1)互斥條件:事務(wù)在某一時(shí)間內(nèi)獨(dú)占資源,其他事務(wù)無(wú)法對(duì)資源進(jìn)行操作。
(2)請(qǐng)求與保持條件:事務(wù)因請(qǐng)求資源而阻塞時(shí),對(duì)己獲得的資源保持不放,導(dǎo)致該事務(wù)
與其他事務(wù)都無(wú)法繼續(xù)執(zhí)行。
(3)不剝奪條件:事務(wù)在獲得資源后,如若事務(wù)沒(méi)有解鎖,則其他事務(wù)不能強(qiáng)行剝奪。
(4)循環(huán)等待條件:多個(gè)事務(wù)之間形成一種頭尾相接的循環(huán)等待資源關(guān)系,互相牽制。
避免死鎖發(fā)生的方法:
(1)一次加鎖法:在設(shè)計(jì)階段規(guī)定為了完成一個(gè)事務(wù),一次性封鎖所需要的全部表。
(2)順序加鎖法:在設(shè)計(jì)階段規(guī)定所有的事務(wù)都按相同的順序來(lái)封鎖。
(3)事務(wù)如需要更新記錄,應(yīng)該直接申請(qǐng)足夠級(jí)別的鎖,即排它鎖,而不應(yīng)先申請(qǐng)共享鎖。
3、一級(jí)封鎖協(xié)議:事務(wù)T在修改數(shù)據(jù)A時(shí)必須先對(duì)其加X(jué)鎖,直到事務(wù)結(jié)束才能釋放鎖。
可以避免丟失更新問(wèn)題。
二級(jí)封鎖協(xié)議:在一級(jí)封鎖協(xié)議的基礎(chǔ)上,另外加上事務(wù)T在讀取數(shù)據(jù)R之前必須先對(duì)其加
S鎖,讀完后釋放S鎖。可以避免丟失更新、讀取臟數(shù)據(jù)問(wèn)題。
三級(jí)封鎖協(xié)議:在一級(jí)封鎖協(xié)議的基礎(chǔ)上,加上事務(wù)T在讀取數(shù)據(jù)R之前必須先對(duì)其加S
鎖,讀完后并不釋放S鎖,而直到事務(wù)T結(jié)束才釋放??梢员苊鈦G失更新、讀取臟數(shù)據(jù)、不可重
復(fù)讀和幻象讀等問(wèn)題。
第10章教材課后習(xí)題解答
1.選擇題答案
1、A?MySQL有不同類(lèi)型的日志文件,包括錯(cuò)誤日志(log-err)、二進(jìn)制日志(log-bin)>
通用查詢(xún)?nèi)罩?log)及慢查詢(xún)?nèi)罩?log-slow-queries)?所以A慢日志是正確答案。
2、Bo數(shù)據(jù)庫(kù)還原(也稱(chēng)為數(shù)據(jù)庫(kù)恢復(fù))是與數(shù)據(jù)庫(kù)備份相對(duì)應(yīng)的系統(tǒng)維護(hù)和管理操作,
當(dāng)數(shù)據(jù)庫(kù)出現(xiàn)故障時(shí),將備份的數(shù)據(jù)庫(kù)加載到系統(tǒng),從而使數(shù)據(jù)庫(kù)恢復(fù)到備份時(shí)的正確狀態(tài)。所
以完整的數(shù)據(jù)庫(kù)備份能夠保證數(shù)據(jù)庫(kù)盡可能地恢復(fù)到故障前的狀態(tài),選項(xiàng)B正確。
3、B。按備份時(shí)服務(wù)器是否在線(xiàn)進(jìn)行劃分,數(shù)據(jù)庫(kù)備份可分為冷備份、溫備份和熱備份,
不包括B選項(xiàng)。
4、A。記錄所有用戶(hù)對(duì)數(shù)據(jù)庫(kù)的操作(除select語(yǔ)句之外),故選項(xiàng)A中的所有操作描述錯(cuò)
誤。
5、A。二進(jìn)制日志是MySQL中最重要的日志,記錄了除SELECT語(yǔ)句之外所有的DDL,
也稱(chēng)為變更日志(updatelog)。故選項(xiàng)A正確。
6、Co從數(shù)據(jù)庫(kù)的備份范圍角度,數(shù)據(jù)庫(kù)備份可分為:完整備份(fullbackup),差異備份
(differentialbackup)和增量備份(incrementalbackup)?其中增量備份只針對(duì)那些自上次完整備
份或者增量備份后被修改過(guò)的文件。故選項(xiàng)C正確。
7、Bo默認(rèn)情況下,MySQL數(shù)據(jù)庫(kù)只啟動(dòng)了錯(cuò)誤日志的功能,其他類(lèi)型日志都需要數(shù)據(jù)庫(kù)
管理員來(lái)進(jìn)行設(shè)置。故選項(xiàng)B正確。
2.簡(jiǎn)答題答案
1、雖然數(shù)據(jù)庫(kù)系統(tǒng)已經(jīng)采取了系列的措施來(lái)防止數(shù)據(jù)庫(kù)的安全性和完整性遭到破壞,保證
并發(fā)事務(wù)的正確執(zhí)行,但數(shù)據(jù)依然無(wú)法保證絕對(duì)不受破壞。當(dāng)數(shù)據(jù)文件發(fā)生損壞、數(shù)據(jù)庫(kù)服務(wù)器
出現(xiàn)故障、計(jì)算機(jī)硬件毀壞或者數(shù)據(jù)被誤刪時(shí),會(huì)使得數(shù)據(jù)庫(kù)中的數(shù)據(jù)全部或者部分丟失。數(shù)據(jù)
庫(kù)備份是將數(shù)據(jù)庫(kù)中的數(shù)據(jù)以及保證數(shù)據(jù)庫(kù)系統(tǒng)正常運(yùn)行的有關(guān)信息保存起來(lái),以備數(shù)據(jù)庫(kù)還原
時(shí)使用。數(shù)據(jù)庫(kù)還原是指加載數(shù)據(jù)庫(kù)備份到系統(tǒng)中的進(jìn)程。數(shù)據(jù)庫(kù)備份還原是對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份,
在數(shù)據(jù)丟失或者出現(xiàn)錯(cuò)誤的情況下,可以將數(shù)據(jù)庫(kù)還原到某一正確狀態(tài)下的版本。數(shù)據(jù)庫(kù)備份和
還原可以保證MySQL數(shù)據(jù)庫(kù)的安全性和一致性。
2、系統(tǒng)進(jìn)行數(shù)據(jù)庫(kù)還原操作時(shí),需要注意以下事項(xiàng):
(1)要還原的數(shù)據(jù)庫(kù)是否存在;
(2)數(shù)據(jù)庫(kù)文件是否兼容;
(3)數(shù)據(jù)庫(kù)采用了哪種備份類(lèi)型。
3、開(kāi)啟二進(jìn)制日志可以實(shí)現(xiàn)以下幾個(gè)功能:
(1)數(shù)據(jù)庫(kù)還原:某些數(shù)據(jù)的恢復(fù)需要二進(jìn)制日志,例如在一個(gè)數(shù)據(jù)庫(kù)完整備份文件恢復(fù)
后,用戶(hù)可以通過(guò)二進(jìn)制日志進(jìn)行恢復(fù)。
(2)復(fù)制:原理與數(shù)據(jù)庫(kù)還原類(lèi)似,通過(guò)復(fù)制和執(zhí)行二進(jìn)制日志使一臺(tái)遠(yuǎn)程的MySQL數(shù)
據(jù)庫(kù)與一臺(tái)本地的MySQL數(shù)據(jù)庫(kù)進(jìn)行實(shí)時(shí)同步。
(3)審計(jì):用戶(hù)可以通過(guò)二進(jìn)制日志中的信息來(lái)進(jìn)行審計(jì),判斷是否有對(duì)數(shù)據(jù)庫(kù)進(jìn)行注入
的攻擊。
第11章教材課后習(xí)題解答
1.選擇題答案
1、B。數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)是指數(shù)據(jù)庫(kù)關(guān)系模式的設(shè)計(jì),非數(shù)據(jù)庫(kù)行為設(shè)計(jì)。
2、Ao需求分析階段是確定系統(tǒng)邊界,規(guī)劃階段是確定系統(tǒng)是否可行。
3、C?需求分析繪制的數(shù)據(jù)流圖并非分解越細(xì)致越好,應(yīng)該根據(jù)實(shí)際需要,確保所有支撐業(yè)
務(wù)運(yùn)行的數(shù)據(jù)項(xiàng)都被發(fā)現(xiàn)為止。
2.填空題答案
1、反復(fù)探尋、逐步求精。
2、數(shù)據(jù)庫(kù)系統(tǒng)規(guī)劃、需求分析、設(shè)計(jì)、實(shí)現(xiàn)、加載和測(cè)試、運(yùn)行和維護(hù)。
3、數(shù)據(jù)源、數(shù)據(jù)流、數(shù)據(jù)處理、數(shù)據(jù)結(jié)構(gòu)。
4、需求規(guī)格說(shuō)明書(shū)。
5、系統(tǒng)的可行性分析和時(shí)間規(guī)劃。
3.簡(jiǎn)答題
1、自底向上的需求分析方法強(qiáng)調(diào)對(duì)已有知識(shí)和組件的復(fù)用,面對(duì)子系統(tǒng)業(yè)務(wù)開(kāi)發(fā)經(jīng)驗(yàn)豐富
或已經(jīng)具有相關(guān)業(yè)務(wù)系統(tǒng)組件的場(chǎng)景下,適合使用自底向上的需求分析方法。
2、數(shù)據(jù)流圖采用自頂向下的方法進(jìn)行分層,一般具有描述所有業(yè)務(wù)的頂層數(shù)據(jù)流圖、進(jìn)一
步分解頂層數(shù)據(jù)流圖后形成的0層數(shù)據(jù)流圖等。
3、需求分析的目標(biāo)是明確系統(tǒng)的業(yè)務(wù)邊界以及業(yè)務(wù)所涉及的數(shù)據(jù)字典。
第12章教材課后習(xí)題解答
1.選擇題答案
RBo根據(jù)函數(shù)依賴(lài)的定義,函數(shù)依賴(lài)是指在R的每一關(guān)系中,若兩個(gè)元組的X值相等,
則Y值也相等。
2、D。根據(jù)函數(shù)依賴(lài)的定義和主碼的定義,主碼能夠決定R中所有的屬性,W決定X,XY決
定Z,所以WY決定Z,由于W決定W,Y決定Y,因此WY決定XYWZ。
3、Ao規(guī)范化過(guò)程主要依據(jù)規(guī)范化理論。
4.Co根據(jù)不規(guī)范問(wèn)題存在的四個(gè)主要問(wèn)題,主要解決數(shù)據(jù)冗余、插入、更新、刪除異常問(wèn)
題。
4、B.如果R中所有屬性為單屬性,則當(dāng)前滿(mǎn)足第一范式,第二范式是滿(mǎn)足第一范式基礎(chǔ)上,
最高可以達(dá)到的范式。
2.填空題答案
]、2XF、3NF、BCNF。
2、AB^INF,
3、2NF?
4、包含。
5、無(wú)損連接。
3.簡(jiǎn)答題
1、函數(shù)依賴(lài)(FunctionalDependency,FD)是關(guān)系模式中屬性之間的一種邏輯依賴(lài)關(guān)系。
設(shè)有關(guān)系模式R(U),U是屬性全集,X和Y是U的子集,如果X-Y,并且對(duì)于X的任何一個(gè)真
子集X',都有X'—Y,則稱(chēng)Y對(duì)X完全函數(shù)依賴(lài)(FullFunctionalDependency),記作
Y。如果對(duì)X的某個(gè)真子集X',有X'-Y,則稱(chēng)Y對(duì)X部分函數(shù)依賴(lài)(PartialFunctional
Dependency),記作X」、Y。設(shè)有關(guān)系模式R(U),U是屬性全集,X,Y,Z是U的子集,若X
T,但Y6X,而YfZ(Y任X,Z《Y),則稱(chēng)Z對(duì)X傳遞函數(shù)依賴(lài)(TransitiveFunctional
Dependency),記作:X—^->ZO;
2、關(guān)系模式分解是為了消除關(guān)系模式中不合理的數(shù)據(jù)冗余和操作異常問(wèn)題。衡量關(guān)系模式
的一個(gè)分解是否可取,主要有兩個(gè)標(biāo)準(zhǔn):即分解是否具有無(wú)損連接,分解是否保持了函數(shù)依賴(lài)。
3、關(guān)系R主碼為職工號(hào),每個(gè)非主屬性都完全函數(shù)依賴(lài)于主碼,因此R屬于第二范式。因
為單位名依賴(lài)于單位號(hào),單位號(hào)依賴(lài)于職工號(hào),即非主屬性傳遞函數(shù)依賴(lài)于R的主碼,所以R
不屬于第三范式。
規(guī)范化步驟:
(1)分析關(guān)系模式R的函數(shù)依賴(lài)集。
F={職工號(hào)一職工名,職工號(hào)年齡,職工號(hào)一性別,職工號(hào)一單位號(hào),單位號(hào)一單位名}
(2)提取F中傳遞函數(shù)依賴(lài),將R分解為:Rl={職工號(hào),職工名,年齡,性別,單位號(hào)},
R2={單位號(hào),單位名}。
(3)通過(guò)分析,R滿(mǎn)足3NF要求。
4、關(guān)系R是第一范式。該關(guān)系的主碼為(課程名,教師名),因?yàn)榻處煹刂泛瘮?shù)依賴(lài)于教師
名,因此不滿(mǎn)足每個(gè)非主屬性都完全函數(shù)依賴(lài)于R的主碼,因此不屬于第二范式。
該關(guān)系存在刪除異常,當(dāng)某課程被刪除時(shí),相應(yīng)的教師名和教師地址也被刪除,但現(xiàn)實(shí)中該
教師仍在存在。
關(guān)系R可分解為Rl={課程名,教師名},R2={教師名,教師地址}。
第13章教材課后習(xí)題解答
1.選擇題答案
1、C.在E-R圖中不包含元組。
2、Bo在合成全局E-R圖時(shí),不存在語(yǔ)法沖突。
3、C。根據(jù)關(guān)系模式轉(zhuǎn)換規(guī)則,多對(duì)多轉(zhuǎn)換的關(guān)系模式的主碼為參與聯(lián)系實(shí)體的所有碼。
4、D。概念結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)是需求規(guī)格說(shuō)明書(shū),需求規(guī)格說(shuō)明書(shū)描述的企業(yè)組織的信息需求,
非開(kāi)發(fā)方的需求。
5、B。使用E-R圖是數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)階段的主要工作。
6、B。根據(jù)轉(zhuǎn)換規(guī)則,一對(duì)多轉(zhuǎn)換關(guān)系模式應(yīng)選擇多端的主碼作為產(chǎn)生聯(lián)系的主碼。
7、C。3個(gè)實(shí)體每個(gè)實(shí)體都轉(zhuǎn)換1個(gè)關(guān)系,3個(gè)多對(duì)多聯(lián)系,每個(gè)都轉(zhuǎn)換為1個(gè)關(guān)系模型,
最終一共6個(gè)關(guān)系模式。
2.填空題答案
]、概念結(jié)構(gòu)設(shè)計(jì)。
2、概念結(jié)構(gòu)式設(shè)計(jì)。
3、命名,屬性,結(jié)構(gòu)。
4、邏輯結(jié)構(gòu)設(shè)計(jì)。
5、水平分解,垂直分解。
3.簡(jiǎn)答題
1、
關(guān)系模式及主碼
圖書(shū)(書(shū)號(hào),書(shū)名,數(shù)量,位置,出版社名)
借書(shū)人(借書(shū)證號(hào),姓名,單位)
出版社(出版社名,郵編,地址,電話(huà),E-mail)
借閱(借書(shū)證號(hào),書(shū)號(hào),借書(shū)日期,還書(shū)日期)
科室(科室名,科室地址,科室電話(huà))
病房(病房號(hào),床位號(hào),所屬科室)
醫(yī)生(工作證號(hào),姓名,性別,出生日期,聯(lián)系電話(huà),職稱(chēng),所屬科室名)
病人(病歷號(hào),姓名,性別,出生日期,診斷記錄,主管醫(yī)生,病房號(hào))
3、
關(guān)系模式
course(cid,cname,chour,ctype)
classroom(crid,crname,crbuilding)
teacher(tid,tname)
coursearrangement(cid,crid,tid,cdate,carrage)
創(chuàng)建課程實(shí)體
CREATETABLEcourse
(cidCHAR(8)PRIMARYKEY,
cnameVARCHAR(20)NOTNULL,
chourINTNOTNULL,
ctypeINT)
關(guān)系模式
book(bookid,bookname,num)
bookuser(tid,username,age)
borrow(bookid,tid,borrow_time,return_time)
創(chuàng)建用戶(hù)實(shí)體
CREATETABLEbookuser
(tidCHAR(8)PRIMARYKEY,
usernameVARCHAR(20)NOTNULL,
ageINT,
);
第14章教材課后習(xí)題解答
1.選擇題答案
1、B。數(shù)據(jù)庫(kù)實(shí)施階段的工作包括建立數(shù)據(jù)庫(kù)結(jié)構(gòu)、裝入數(shù)據(jù)(數(shù)據(jù)庫(kù)加載)、應(yīng)用程序編
碼與測(cè)試、數(shù)據(jù)庫(kù)試運(yùn)行和整理文檔。不包括B選項(xiàng)擴(kuò)充功能。
2、A?數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)設(shè)計(jì)工作內(nèi)容主要包括:確定數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)、設(shè)計(jì)合適的存取路
徑、確定數(shù)據(jù)的存放位置和確定系統(tǒng)配置。不包括選項(xiàng)A加載數(shù)據(jù)。
3、D?只要數(shù)據(jù)庫(kù)系統(tǒng)在運(yùn)行,就需要不斷地進(jìn)行修改、調(diào)整和維護(hù),故A選項(xiàng)錯(cuò)誤。數(shù)據(jù)
庫(kù)運(yùn)行和維護(hù)階段的主要任務(wù)包括轉(zhuǎn)儲(chǔ)和恢復(fù)數(shù)據(jù)庫(kù)、維護(hù)數(shù)據(jù)庫(kù)的安全性與完整性、監(jiān)測(cè)并改
善數(shù)據(jù)庫(kù)性能、重新組織和構(gòu)造數(shù)據(jù)庫(kù)。故選項(xiàng)B錯(cuò)和C錯(cuò)誤。
4、Ao決定存儲(chǔ)結(jié)構(gòu)的主要因素包括存取時(shí)間、存儲(chǔ)空間和維護(hù)代價(jià)三個(gè)方面。不包括A
選項(xiàng)實(shí)施難度。
5、Ao數(shù)據(jù)庫(kù)設(shè)計(jì)包括數(shù)據(jù)庫(kù)系統(tǒng)規(guī)劃階段、需求分析階段、設(shè)計(jì)階段、實(shí)現(xiàn)階段、加載和
測(cè)試階段、運(yùn)行和維護(hù)階段共6個(gè)階段。其中設(shè)計(jì)階段包含概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)和物理
結(jié)構(gòu)設(shè)計(jì)。E-R模型設(shè)計(jì)是概念結(jié)構(gòu)設(shè)計(jì)階段的主要任務(wù)。故不包含選項(xiàng)A。
6、D。確定數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)工作的內(nèi)容之一。故選項(xiàng)D正確。
2.簡(jiǎn)答題答案
1、通常關(guān)系數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)設(shè)計(jì)工作內(nèi)容主要包括:
(1)確定數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu):影響數(shù)據(jù)結(jié)構(gòu)的因素主要包括存取時(shí)間、存儲(chǔ)空間利用率和維
護(hù)代價(jià)。在設(shè)計(jì)時(shí)應(yīng)當(dāng)根據(jù)實(shí)際情況對(duì)這3個(gè)方面綜合考慮,例如利用DBMS的索引功能等,力
爭(zhēng)選擇一個(gè)最優(yōu)的方案。
(2)設(shè)計(jì)合適的存取路徑:主要指確定如何建立索引。例如,確定應(yīng)該在哪些關(guān)系模式上
建立索引,在哪些列上可以建立索引,建立多少個(gè)索引合適,是否建立聚集索引等。
(3)確定數(shù)據(jù)的存放位置:為了提高系統(tǒng)的存取效率,應(yīng)將數(shù)據(jù)分為易變部分和穩(wěn)定部分、
經(jīng)常存取部分和不常存取部分,確定哪些存放在高速存儲(chǔ)器上,哪些存放在低速存儲(chǔ)器上。
(4)確定系統(tǒng)配置:設(shè)計(jì)人員和DBA在進(jìn)行數(shù)據(jù)存儲(chǔ)時(shí)要考慮物理優(yōu)化的問(wèn)題,這就需要
重新設(shè)置一下系統(tǒng)配置的參數(shù),如同時(shí)使用數(shù)據(jù)庫(kù)的用戶(hù)數(shù)、同時(shí)打開(kāi)的數(shù)據(jù)庫(kù)對(duì)象數(shù)、緩沖區(qū)
的大小及個(gè)數(shù)、時(shí)間片的大小、填充因子等,這些參數(shù)將直接影響存取時(shí)間和存儲(chǔ)空間的分配。
數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)分為兩步:
(1)確定物理結(jié)構(gòu),即確定數(shù)據(jù)庫(kù)的存取方法和存儲(chǔ)結(jié)構(gòu)。
(2)評(píng)價(jià)物理結(jié)構(gòu),評(píng)價(jià)的重點(diǎn)是時(shí)間和空間效率。
2、數(shù)據(jù)庫(kù)實(shí)施是指根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果,在計(jì)算機(jī)上建立起實(shí)際的數(shù)據(jù)庫(kù)結(jié)構(gòu)、
裝入數(shù)據(jù)、進(jìn)行測(cè)試和試運(yùn)行的過(guò)程。
數(shù)據(jù)庫(kù)實(shí)施階段主要完成:
(1)建立實(shí)際數(shù)據(jù)庫(kù)結(jié)構(gòu);
(2)裝入數(shù)據(jù);
(3)應(yīng)用程序編碼與調(diào)試;
(4)數(shù)據(jù)庫(kù)試運(yùn)行和整理文檔。
3、數(shù)據(jù)庫(kù)系統(tǒng)投入正式運(yùn)行,標(biāo)志著數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)工作的基本結(jié)束,但并不意味著設(shè)計(jì)
過(guò)程已經(jīng)結(jié)束。在這一階段,應(yīng)由DBA不斷地對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)進(jìn)行評(píng)價(jià)、調(diào)整、修改,即對(duì)數(shù)據(jù)庫(kù)
進(jìn)行經(jīng)常性的維護(hù)。數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段的主要任務(wù)包括以下四項(xiàng)內(nèi)容。
(1)轉(zhuǎn)儲(chǔ)和恢復(fù)數(shù)據(jù)庫(kù)。
(2)維護(hù)數(shù)據(jù)庫(kù)的安全性與完整性。
(3)監(jiān)測(cè)并改善數(shù)據(jù)庫(kù)性能。
(4)重新組織和構(gòu)造數(shù)據(jù)庫(kù)。
第15章教材課后習(xí)題解答
一、選擇題答案
1、c?在字符串模式匹配中,可用通配符替代一個(gè)或多個(gè)字符,其中“一”可代替任何一個(gè)
字符,而“%”可代替任意數(shù)目字符。
2、B。在MySQL程序代碼中可以使用雙連線(xiàn)字符“-”或“#",在行首或行末進(jìn)行單行注
釋。
3、AoA選項(xiàng)用于創(chuàng)建存儲(chǔ)過(guò)程,B選項(xiàng)用于刪除存儲(chǔ)過(guò)程,C選項(xiàng)用于創(chuàng)建自定義函數(shù),
D選項(xiàng)用于刪除自定義函數(shù)。
4、D。在MySQL編程中,可用于跳出循環(huán)的語(yǔ)句是LEAVE。
5、Co在表達(dá)式中,F(xiàn)LOOR(-8.5)求出小于或等于-8.5的最大整數(shù),結(jié)果為-9;SlGN(-5)求-5
的符號(hào),值為-1;8M0D7表示求二者的余數(shù),結(jié)果為1,5DIV10表示求二者的整數(shù)商,結(jié)果
為0,所以原式簡(jiǎn)化為-9*(-1)+1-0,最終結(jié)果為10。
6、DoA選項(xiàng)錯(cuò)誤,游標(biāo)指針在結(jié)果集中只能從前向后順序移動(dòng);B選項(xiàng)錯(cuò)誤,ITERATE
語(yǔ)句用于在循環(huán)體中,中止當(dāng)前執(zhí)行的本次循環(huán),直接進(jìn)入下一次循環(huán);C選項(xiàng)錯(cuò)誤,定義存儲(chǔ)
函數(shù)時(shí),其形式參數(shù)只能是IN類(lèi)型;D選項(xiàng),ALTERFUNCTION語(yǔ)句用于修改函數(shù)的狀態(tài)特
征信息。
7、AoA選項(xiàng)正確,存儲(chǔ)過(guò)程創(chuàng)建后,經(jīng)編譯后作為一個(gè)對(duì)象存儲(chǔ)在數(shù)據(jù)庫(kù)中,可被觸發(fā)
器、其他存儲(chǔ)過(guò)程、程序設(shè)計(jì)語(yǔ)言所調(diào)用。B選項(xiàng)錯(cuò)誤,當(dāng)函數(shù)的狀態(tài)特征被定義為CONTAINS
SQL時(shí),表示函數(shù)體中包含了SQL語(yǔ)句,但不包含讀或?qū)憯?shù)據(jù)的語(yǔ)句(如SET語(yǔ)句等);C選
項(xiàng)錯(cuò)誤,調(diào)用有參函數(shù)時(shí),實(shí)參的個(gè)數(shù)必須與被調(diào)用函數(shù)形參的個(gè)數(shù)保持一致;D選項(xiàng)錯(cuò)誤,刪
除函數(shù)使用DROPFUNCTION語(yǔ)句,而不是DELETEFUNCTION。
8、CoALTERPROCEDURE語(yǔ)句用于修改存儲(chǔ)過(guò)程,SHOWCREATEPROCEDURE
用于查看存儲(chǔ)過(guò)程的定義信息,SHOWPROCEDURESTATUSLIKE語(yǔ)句用于查看存儲(chǔ)過(guò)程的狀
態(tài)特征信息。
9、B。使用SET語(yǔ)句為用戶(hù)會(huì)話(huà)變量賦值時(shí)可以使用賦值號(hào)“=”或而使用SELECT
語(yǔ)句進(jìn)行賦值時(shí)的賦值號(hào)只能使用“:=”,而不能使用“=”。
10、Bo使用DECLARE語(yǔ)句可以定義局部變量和指定初值,語(yǔ)句格式是DECLARE
variable_name[,...]datatype(size)DEFAULTdefault_value,其中variable_name是變量名,有多
個(gè)變量時(shí),用逗號(hào)分隔;default_value表示初值。
11、A。打開(kāi)游標(biāo)需要使用OPEN語(yǔ)句,語(yǔ)法格式是:OPENcursor_name;,其中cursor_name
表示游標(biāo)的名稱(chēng)。
12、AoMySQL的規(guī)定,用戶(hù)會(huì)話(huà)變量名的前面應(yīng)加的字符是@。
13、Do由于在教學(xué)數(shù)據(jù)庫(kù)teaching中已定義了存儲(chǔ)過(guò)程disp_stu(dpVARCHAR(50)),其
中有一個(gè)形式參數(shù)dp,因此,在調(diào)用時(shí),必須提供一個(gè)實(shí)際參數(shù),由于選項(xiàng)A的調(diào)用語(yǔ)句
中,沒(méi)有提供實(shí)際參數(shù),所以選項(xiàng)A是錯(cuò)誤的;由于定義的存儲(chǔ)過(guò)程disp_stu的形式參數(shù)
dp未指定傳遞方式,按語(yǔ)法規(guī)定,該參數(shù)的默認(rèn)傳遞方式應(yīng)為IN類(lèi)型,即要求在調(diào)用存儲(chǔ)
過(guò)程時(shí),必須為該參數(shù)傳入一個(gè)確定的值,所以選項(xiàng)B是錯(cuò)誤的;存儲(chǔ)過(guò)程在調(diào)用執(zhí)行時(shí),
不能返回值,所以選項(xiàng)C是錯(cuò)誤;選項(xiàng)D中,語(yǔ)句SELECT*FROMsWHEREdept=dp;的作用
是從學(xué)生表S中查詢(xún)出所有屬于形參dp的值所指定學(xué)院的所有同學(xué)信息,功能符合題意要
求。
14、B。當(dāng)游標(biāo)聲明完成后,只有使用OPEN語(yǔ)句打開(kāi)游標(biāo)后,與該游標(biāo)聲明相對(duì)應(yīng)的SELECT
子句將才被執(zhí)行,MySQL服務(wù)器內(nèi)存中將存放與該SELECT子句對(duì)應(yīng)的結(jié)果集,此時(shí)游標(biāo)指針
指向結(jié)果集中的第一條記錄,所以選項(xiàng)A是錯(cuò)誤的;使用游標(biāo)每從結(jié)果集中取出一條記錄后,
指針將自動(dòng)移動(dòng)一條記錄,指向下一條記錄,所以選項(xiàng)C是錯(cuò)誤的;游標(biāo)只能順序地從前向后
一條一條記錄地讀取結(jié)果集,不能從后向前讀,或直接跳到中間某個(gè)位置讀,所以選項(xiàng)D是錯(cuò)
誤的。為了避免游標(biāo)指標(biāo)移出記錄集范圍引起錯(cuò)誤,數(shù)據(jù)庫(kù)開(kāi)發(fā)人員需要編寫(xiě)錯(cuò)誤處理程序,以
便結(jié)束“結(jié)果集”的遍歷,選項(xiàng)B是正確的。
15、C。用DROPFUNCTION語(yǔ)句刪除自定義函數(shù)的語(yǔ)法格式是:DROPFUNCTION
funjname;,其中,funjname是被刪除的函數(shù)名,該名稱(chēng)后面不能跟括號(hào)“()",也不能用引
號(hào)引起來(lái),因此,只有選項(xiàng)C正確。
16、D。使用ALERFUNCTION語(yǔ)句只能修改存儲(chǔ)函數(shù)的狀態(tài)特征,不能修改其功能代碼,
也不能修改函數(shù)的名稱(chēng);SHOWCREATEFUNCTION語(yǔ)句只能查看存儲(chǔ)函數(shù)的定義信息,但不
能修改其功能代碼;SHOWFUNCTIONSTATUS可以查看存儲(chǔ)函數(shù)的狀態(tài)信息。
17、A。LCASE函數(shù)能將字符串中所有字母變成小寫(xiě)字母,所以,LCASE(,北京Abe)的值
為比京abd,CHAR_LENGTH函數(shù)能求出字符串中的字符數(shù)(即長(zhǎng)度),而字符串比京abc沖有
5個(gè)字符,所以整個(gè)表達(dá)式的值為5。
18、D?表達(dá)式MID('學(xué)習(xí)MySQL',3,2)的值為,My\UCASE函數(shù)的作用是將字符串中的字
母變成大寫(xiě),所以UCASE(MIDC學(xué)習(xí)1^$(2口,3,2))的值為"丫,,函數(shù)REVERSE的功能是將字
符串中的字符順序倒置,所以,整個(gè)表達(dá)式的值為‘YM1
19、B。求兩個(gè)日期之間相差的天數(shù)應(yīng)使用DATEDIFF函數(shù),所以表達(dá)式
DATEDIFF(CURDATE(),@birlhday)能求出出生日期到今天的天數(shù),該數(shù)除以365后,用FLOOR
函數(shù)求出最大整數(shù),即為周歲數(shù)。
20、C?IS運(yùn)算符用于判斷一個(gè)值是否為NULL,不用于做數(shù)值比較。
二、填空題答案
1、SELECTDAYNAME(CURRENTDATE。);或SELECTDAYNAME(CURDATEO);或
SELECTDAYNAME(NOWO):
2、SELECTDAYOFWEEK(NOW()):或SELECTDAYOFWEEK(CURDATEO):或SELECT
DAYOFWEEK(CURRENTDATE。):
3、SELECTTIMEFORMAT,'15:44:32"."%r"):或SELECT
TIMEFORMATS15:44:32","%h:%i:%S%p");
4、MONTHNAME(NOWO)或MONTHNAME(CURDATEO)或
MONTHNAME(CURRENTDATE。)
5、SUBSTRING('我喜歡MYSOL數(shù)據(jù)庫(kù),45)或SUBSTRC我喜歡MYSOL數(shù)據(jù)庫(kù),45)或MID('我
喜歡MySQL數(shù)據(jù)庫(kù)'45)
SUBSTRING('我喜歡MvSOL數(shù)據(jù)庫(kù)⑼或SUBSTRING('我喜歡MYSOL數(shù)據(jù)庫(kù)93)或RIGHTC
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年云南外事外語(yǔ)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試題庫(kù)及參考答案詳解
- 2026年齊齊哈爾理工職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)考試題庫(kù)及參考答案詳解
- 2026年安徽財(cái)貿(mào)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)參考答案詳解
- 2026年重慶科技大學(xué)單招職業(yè)技能測(cè)試題庫(kù)及參考答案詳解一套
- 2026年江西藝術(shù)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及完整答案詳解1套
- 2026年仰恩大學(xué)單招職業(yè)傾向性考試題庫(kù)及答案詳解1套
- 鄉(xiāng)鎮(zhèn)會(huì)計(jì)崗面試題及答案
- 襄陽(yáng)社工面試題及答案
- 交通主次責(zé)任醫(yī)療費(fèi)用墊付協(xié)議書(shū)范本
- 2025年浙商銀行福州分行招聘15人備考題庫(kù)及完整答案詳解一套
- 電梯安裝人員配置方案
- 婦產(chǎn)科住院總工作匯報(bào)
- 特色手工藝品電商營(yíng)銷(xiāo)推廣策劃方案
- 2025年人社分局考試試題及答案
- 2025年骨干教師考試試題(含答案)
- 腫瘤內(nèi)科進(jìn)修匯報(bào)
- 《口腔頜面外科學(xué)》課程教學(xué)質(zhì)量標(biāo)準(zhǔn)
- 農(nóng)機(jī)操作培訓(xùn)知識(shí)內(nèi)容課件
- 蜀風(fēng)詩(shī)韻復(fù)賽題目及答案
- 2025湖北仙桃市城市發(fā)展投資集團(tuán)有限公司招聘擬聘用人員筆試歷年參考題庫(kù)附帶答案詳解
- 產(chǎn)品管理題庫(kù)及答案
評(píng)論
0/150
提交評(píng)論