掌握MySQL的外鍵約束功能試題及答案_第1頁(yè)
掌握MySQL的外鍵約束功能試題及答案_第2頁(yè)
掌握MySQL的外鍵約束功能試題及答案_第3頁(yè)
掌握MySQL的外鍵約束功能試題及答案_第4頁(yè)
掌握MySQL的外鍵約束功能試題及答案_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

掌握MySQL的外鍵約束功能試題及答案姓名:____________________

一、單項(xiàng)選擇題(每題2分,共10題)

1.以下哪個(gè)選項(xiàng)是創(chuàng)建外鍵約束的語(yǔ)法正確形式?

A.FOREIGNKEY(column_name)REFERENCEStable_name(column_name)

B.KEY(column_name)REFERENCEStable_name(column_name)

C.INDEX(column_name)REFERENCEStable_name(column_name)

D.CONSTRAINTcolumn_nameFOREIGNKEYREFERENCEStable_name(column_name)

2.在以下哪種情況下,外鍵約束會(huì)導(dǎo)致插入失???

A.插入的值與父表中的某個(gè)值匹配

B.插入的值與父表中的某個(gè)值不匹配

C.父表中不存在與插入值匹配的記錄

D.子表中不存在與父表中記錄匹配的鍵

3.以下哪個(gè)選項(xiàng)是刪除外鍵約束的正確語(yǔ)法?

A.DROPFOREIGNKEY(column_name)

B.DROPFOREIGNKEYtable_name(column_name)

C.DROPFOREIGNKEYCONSTRAINTcolumn_name

D.ALTERTABLEtable_nameDROPFOREIGNKEY(column_name)

4.在以下哪個(gè)操作中,外鍵約束被自動(dòng)刪除?

A.刪除子表中的所有記錄

B.刪除父表中的所有記錄

C.刪除父表中與子表相關(guān)的記錄

D.刪除父表中與子表相關(guān)的鍵

5.以下哪個(gè)選項(xiàng)是正確設(shè)置外鍵約束的ONDELETE操作?

A.ONDELETECASCADE

B.ONDELETERESTRICT

C.ONDELETESETNULL

D.ONDELETESETDEFAULT

6.以下哪個(gè)選項(xiàng)是正確設(shè)置外鍵約束的ONUPDATE操作?

A.ONUPDATECASCADE

B.ONUPDATERESTRICT

C.ONUPDATESETNULL

D.ONUPDATESETDEFAULT

7.在以下哪種情況下,外鍵約束會(huì)導(dǎo)致更新失?。?/p>

A.更新的值與父表中的某個(gè)值匹配

B.更新的值與父表中的某個(gè)值不匹配

C.父表中不存在與更新值匹配的記錄

D.子表中不存在與父表中記錄匹配的鍵

8.以下哪個(gè)選項(xiàng)是正確創(chuàng)建包含外鍵約束的表的結(jié)構(gòu)?

A.CREATETABLEtable_name(

column_name1INT,

column_name2VARCHAR(50),

FOREIGNKEY(column_name1)REFERENCEStable_name1(column_name1)

);

B.CREATETABLEtable_name(

column_name1INT,

column_name2VARCHAR(50),

FOREIGNKEY(table_name1)REFERENCEScolumn_name1(column_name1)

);

C.CREATETABLEtable_name(

column_name1INT,

column_name2VARCHAR(50),

FOREIGNKEY(column_name1)REFERENCEStable_name1(column_name2)

);

D.CREATETABLEtable_name(

column_name1INT,

column_name2VARCHAR(50),

FOREIGNKEY(column_name1)REFERENCEStable_name1(column_name1,column_name2)

);

9.在以下哪個(gè)情況下,外鍵約束會(huì)阻止刪除父表中的記錄?

A.子表中存在與父表相關(guān)的記錄

B.子表中不存在與父表相關(guān)的記錄

C.子表中所有記錄都已被刪除

D.父表中所有記錄都已被刪除

10.以下哪個(gè)選項(xiàng)是正確設(shè)置外鍵約束的ONDELETERESTRICT操作的描述?

A.當(dāng)刪除父表中的記錄時(shí),如果子表中存在與父表相關(guān)的記錄,則不允許刪除

B.當(dāng)刪除父表中的記錄時(shí),如果子表中存在與父表相關(guān)的記錄,則允許刪除

C.當(dāng)刪除父表中的記錄時(shí),如果子表中不存在與父表相關(guān)的記錄,則不允許刪除

D.當(dāng)刪除父表中的記錄時(shí),如果子表中不存在與父表相關(guān)的記錄,則允許刪除

二、多項(xiàng)選擇題(每題3分,共10題)

1.MySQL中,外鍵約束的作用包括哪些?

A.確保數(shù)據(jù)完整性

B.維護(hù)表之間的引用完整性

C.提高查詢效率

D.防止數(shù)據(jù)冗余

2.在創(chuàng)建外鍵約束時(shí),可以指定哪些ONDELETE操作?

A.CASCADE

B.RESTRICT

C.SETNULL

D.SETDEFAULT

3.在創(chuàng)建外鍵約束時(shí),可以指定哪些ONUPDATE操作?

A.CASCADE

B.RESTRICT

C.SETNULL

D.SETDEFAULT

4.以下哪些情況下,外鍵約束會(huì)導(dǎo)致插入失敗?

A.插入的值與父表中的某個(gè)值匹配

B.插入的值與父表中的某個(gè)值不匹配

C.父表中不存在與插入值匹配的記錄

D.子表中不存在與父表中記錄匹配的鍵

5.以下哪些選項(xiàng)是正確的外鍵約束命名規(guī)則?

A.使用小寫(xiě)字母

B.使用下劃線分隔單詞

C.避免使用特殊字符

D.長(zhǎng)度不超過(guò)30個(gè)字符

6.在以下哪些情況下,外鍵約束會(huì)導(dǎo)致更新失敗?

A.更新的值與父表中的某個(gè)值匹配

B.更新的值與父表中的某個(gè)值不匹配

C.父表中不存在與更新值匹配的記錄

D.子表中不存在與父表中記錄匹配的鍵

7.以下哪些選項(xiàng)是正確的外鍵約束語(yǔ)法元素?

A.FOREIGNKEY

B.REFERENCES

C.CONSTRAINT

D.INDEX

8.在以下哪些情況下,外鍵約束會(huì)阻止刪除父表中的記錄?

A.子表中存在與父表相關(guān)的記錄

B.子表中不存在與父表相關(guān)的記錄

C.子表中所有記錄都已被刪除

D.父表中所有記錄都已被刪除

9.以下哪些選項(xiàng)是外鍵約束的常見(jiàn)用途?

A.實(shí)現(xiàn)一對(duì)多關(guān)系

B.實(shí)現(xiàn)多對(duì)多關(guān)系

C.實(shí)現(xiàn)一對(duì)一關(guān)系

D.防止數(shù)據(jù)不一致

10.在以下哪些情況下,外鍵約束可以確保數(shù)據(jù)的完整性?

A.子表中的外鍵值在父表中存在

B.子表中的外鍵值在父表中不存在

C.父表中的主鍵值在子表中存在

D.父表中的主鍵值在子表中不存在

三、判斷題(每題2分,共10題)

1.外鍵約束可以保證子表中的所有記錄都與父表中的某個(gè)記錄相關(guān)聯(lián)。()

2.在創(chuàng)建外鍵約束時(shí),必須指定ONDELETE和ONUPDATE操作。()

3.如果設(shè)置了ONDELETECASCADE,那么刪除父表中的記錄時(shí),相應(yīng)的子表記錄也會(huì)被刪除。()

4.外鍵約束可以防止在子表中插入不存在的父表記錄值。()

5.在刪除包含外鍵約束的表時(shí),外鍵約束會(huì)自動(dòng)刪除。()

6.如果設(shè)置了ONDELETESETNULL,刪除父表中的記錄時(shí),子表中的外鍵列將自動(dòng)設(shè)置為NULL。()

7.外鍵約束可以用于實(shí)現(xiàn)多對(duì)多關(guān)系。()

8.在子表中刪除記錄時(shí),外鍵約束會(huì)阻止刪除,除非父表中存在對(duì)應(yīng)的記錄。()

9.創(chuàng)建外鍵約束時(shí),可以不指定外鍵列的名稱(chēng),只要指定父表和父鍵列即可。()

10.在MySQL中,外鍵約束主要用于保證數(shù)據(jù)的完整性,并不影響查詢性能。()

四、簡(jiǎn)答題(每題5分,共6題)

1.簡(jiǎn)述外鍵約束在數(shù)據(jù)庫(kù)中的作用。

2.解釋ONDELETECASCADE和ONDELETERESTRICT的區(qū)別。

3.說(shuō)明如何創(chuàng)建一個(gè)具有外鍵約束的表,并給出示例SQL語(yǔ)句。

4.描述在刪除父表記錄時(shí),不同ONUPDATE操作對(duì)子表的影響。

5.如何檢測(cè)和修復(fù)外鍵約束的沖突問(wèn)題?

6.簡(jiǎn)要討論在數(shù)據(jù)庫(kù)設(shè)計(jì)中合理使用外鍵約束的重要性。

試卷答案如下

一、單項(xiàng)選擇題答案及解析思路

1.A.FOREIGNKEY(column_name)REFERENCEStable_name(column_name)

解析思路:正確的外鍵約束創(chuàng)建語(yǔ)法應(yīng)包含F(xiàn)OREIGNKEY關(guān)鍵字,后跟列名,然后是REFERENCES關(guān)鍵字,最后指定父表和父表中的列。

2.B.插入的值與父表中的某個(gè)值不匹配

解析思路:外鍵約束確保子表中的值必須存在于父表中,因此不匹配的插入會(huì)導(dǎo)致失敗。

3.D.ALTERTABLEtable_nameDROPFOREIGNKEY(column_name)

解析思路:刪除外鍵約束的正確語(yǔ)法是使用ALTERTABLE語(yǔ)句結(jié)合DROPFOREIGNKEY子句。

4.C.父表中不存在與插入值匹配的記錄

解析思路:外鍵約束要求子表中的值必須與父表中的某個(gè)值匹配,如果父表中沒(méi)有匹配的記錄,則插入失敗。

5.A.ONDELETECASCADE

解析思路:ONDELETECASCADE表示刪除父表記錄時(shí),自動(dòng)刪除所有相關(guān)聯(lián)的子表記錄。

6.A.ONUPDATECASCADE

解析思路:ONUPDATECASCADE表示更新父表記錄時(shí),自動(dòng)更新所有相關(guān)聯(lián)的子表記錄。

7.B.更新的值與父表中的某個(gè)值不匹配

解析思路:如果更新后的值在父表中沒(méi)有匹配項(xiàng),外鍵約束將阻止更新。

8.A.CREATETABLEtable_name(

column_name1INT,

column_name2VARCHAR(50),

FOREIGNKEY(column_name1)REFERENCEStable_name1(column_name1)

);

解析思路:創(chuàng)建外鍵約束的表時(shí),需要在CREATETABLE語(yǔ)句中指定外鍵約束,包括列名、父表和父表中的列。

9.A.子表中存在與父表相關(guān)的記錄

解析思路:如果子表中存在與父表相關(guān)的記錄,刪除父表中的記錄將違反外鍵約束。

10.A.當(dāng)刪除父表中的記錄時(shí),如果子表中存在與父表相關(guān)的記錄,則不允許刪除

解析思路:ONDELETERESTRICT操作會(huì)阻止刪除父表中的記錄,如果子表中存在相關(guān)記錄。

二、多項(xiàng)選擇題答案及解析思路

1.A.確保數(shù)據(jù)完整性

B.維護(hù)表之間的引用完整性

C.提高查詢效率

D.防止數(shù)據(jù)冗余

解析思路:外鍵約束主要用于保證數(shù)據(jù)完整性,維護(hù)引用完整性,并不直接提高查詢效率或防止數(shù)據(jù)冗余。

2.A.CASCADE

B.RESTRICT

C.SETNULL

D.SETDEFAULT

解析思路:創(chuàng)建外鍵約束時(shí),可以指定ONDELETE操作,包括CASCADE、RESTRICT、SETNULL和SETDEFAULT。

3.A.CASCADE

B.RESTRICT

C.SETNULL

D.SETDEFAULT

解析思路:創(chuàng)建外鍵約束時(shí),可以指定ONUPDATE操作,與ONDELETE操作類(lèi)似。

4.B.插入的值與父表中的某個(gè)值不匹配

C.父表中不存在與插入值匹配的記錄

解析思路:外鍵約束要求子表中的值必須存在于父表中,不匹配或不存在會(huì)導(dǎo)致插入失敗。

5.B.使用小寫(xiě)字母

C.使用下劃線分隔單詞

D.避免使用特殊字符

解析思路:外鍵約束命名應(yīng)遵循一定的命名規(guī)則,如小寫(xiě)字母、下劃線分隔和避免特殊字符。

6.B.更新的值與父表中的某個(gè)值不匹配

C.父表中不存在與更新值匹配的記錄

解析思路:如果更新后的值在父表中沒(méi)有匹配項(xiàng),外鍵約束將阻止更新。

7.A.FOREIGNKEY

B.REFERENCES

C.CONSTRAINT

D.INDEX

解析思路:外鍵約束的語(yǔ)法元素包括FOREIGNKEY、REFERENCES、CONSTRAINT和INDEX。

8.A.子表中存在與父表相關(guān)的記錄

解析思路:如果子表中存在與父表相關(guān)的記錄,刪除父表中的記錄將違反外鍵約束。

9.A.實(shí)現(xiàn)一對(duì)多關(guān)系

B.實(shí)現(xiàn)多對(duì)多關(guān)系

C.實(shí)現(xiàn)一對(duì)一關(guān)系

D.防止數(shù)據(jù)不一致

解析思路:外鍵約束常用于實(shí)現(xiàn)不同類(lèi)型的關(guān)系,包括一對(duì)多、多對(duì)多和一對(duì)一。

10.A.子表中的外鍵值在父表中存在

C.父表中的主鍵值在子表中存在

解析思路:外鍵約束確保子表中的外鍵值在父表中存在,并且父表中的主鍵值在子表中存在。

三、判斷題答案及解析思路

1.×

解析思路:外鍵約束確保子表中的所有記錄都與父表中的某個(gè)記錄相關(guān)聯(lián),但不是所有記錄都必須相關(guān)。

2.×

解析思路:創(chuàng)建外鍵約束時(shí),可以不指定ONDELETE和ONUPDATE操作,默認(rèn)為RESTRICT。

3.√

解析思路:ONDELETECASCADE操作確保刪除父表記錄時(shí),自動(dòng)刪除所有相關(guān)聯(lián)的子表記錄。

4.√

解析思路:外鍵約束確保子表中的值必須存在于父表中,防止插入不存在的記錄。

5.×

解析思路:刪除包含外鍵約束的表時(shí),外鍵約束不會(huì)自動(dòng)刪除,需要顯式刪除。

6.√

解析思路:ONDELETESETNULL操作將子表中的外鍵列設(shè)置為NULL,當(dāng)刪除父表

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論