摘自http://www.51testing.com/html/53/15150753-3722362.html
1.觸發(fā)器的作用?
觸發(fā)器是一類特殊的存儲(chǔ)過(guò)程,主要是通過(guò)事件來(lái)觸發(fā)而被執(zhí)行的麻汰。它可以強(qiáng)化約束,來(lái)維護(hù)數(shù)據(jù)的完整性和一致性预皇,可以跟蹤數(shù)據(jù)庫(kù)內(nèi)的操作從而不允許未經(jīng)許可的更新和變化撤蚊。可以聯(lián)級(jí)運(yùn)算宜肉。如匀钧,某表上的觸發(fā)器上包含對(duì)另一個(gè)表的數(shù)據(jù)操作,而該操作又會(huì)導(dǎo)致該表觸發(fā)器被觸發(fā)谬返。
2.什么是存儲(chǔ)過(guò)程之斯?用什么來(lái)調(diào)用?
存儲(chǔ)過(guò)程是一個(gè)預(yù)編譯的SQL語(yǔ)句遣铝,優(yōu)點(diǎn)是允許模塊化的設(shè)計(jì)佑刷,就是說(shuō)只需要?jiǎng)?chuàng)建一次,以后在該程序中就可以調(diào)用多次酿炸。如果某次操作需要執(zhí)行多次SQL瘫絮,使用存儲(chǔ)過(guò)程比單純SQL語(yǔ)句執(zhí)行要快√钏叮可以一個(gè)命令對(duì)象來(lái)調(diào)用存儲(chǔ)過(guò)程麦萤。
3.索引的作用?它的優(yōu)點(diǎn)缺點(diǎn)是什么扁眯?
索引就是一種特殊的查詢表壮莹,數(shù)據(jù)庫(kù)的搜索引擎可以利用它加速對(duì)數(shù)據(jù)的檢索。它很類似與現(xiàn)實(shí)生活中書(shū)的目錄恋拍,不需要查詢整本書(shū)內(nèi)容就可以找到想要的數(shù)據(jù)垛孔。索引可以是唯一的,創(chuàng)建索引允許指定單個(gè)列或者是多個(gè)列施敢。缺點(diǎn)是它減慢了數(shù)據(jù)錄入的速度周荐,同時(shí)也增加了數(shù)據(jù)庫(kù)的尺寸大小狭莱。
4.在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體間聯(lián)系的是?B
A屬性
B二維表
C網(wǎng)狀結(jié)構(gòu)
D樹(shù)狀結(jié)構(gòu)
[解析]關(guān)系模型實(shí)體間的聯(lián)系采用二維表來(lái)表示,簡(jiǎn)稱表概作。選項(xiàng)C為網(wǎng)狀模型實(shí)體間的聯(lián)系腋妙,選項(xiàng)D為層次模型實(shí)體間的聯(lián)系,選項(xiàng)A屬性刻畫(huà)了實(shí)體讯榕。
5.數(shù)據(jù)庫(kù)中事務(wù)隔離分為4個(gè)級(jí)別骤素,其中允許“不可重復(fù)讀”的有?(求解釋) BC
A SERIALIZABLE
B READ COMMITTED
C READ UNCOMMITTED
D REPEATABLE READ
C:出現(xiàn)臟讀愚屁,幻讀济竹,不可重復(fù)讀。
B:出現(xiàn)幻讀霎槐,不可重復(fù)讀送浊。
D:出現(xiàn)幻讀
A:不出現(xiàn)上述問(wèn)題。
Read Uncommitted:不隔離數(shù)據(jù)丘跌,對(duì)于事務(wù)使用的數(shù)據(jù)袭景,其他事務(wù)也能修改刪除。
Read Committed:不允許讀取沒(méi)有提交的數(shù)據(jù)闭树,只有其他事務(wù)提交了數(shù)據(jù)耸棒,你才能訪問(wèn)。
Repeatable Read:事務(wù)中用到的數(shù)據(jù)都被鎖定报辱,其他事務(wù)不能修改和刪除与殃。
Snapshot:快照隔離
Serilizable:事務(wù)要用到的數(shù)據(jù)全部鎖定,不允許其他事務(wù)添加碍现,修改奈籽,刪除。
6.事務(wù)日志用于保存C
A程序運(yùn)行過(guò)程
B程序的執(zhí)行結(jié)果
C對(duì)數(shù)據(jù)的更新操作
D對(duì)數(shù)據(jù)的查詢操作
記錄數(shù)據(jù)庫(kù)事務(wù),最大限度地保證數(shù)據(jù)的一致性與安全性
重做日志文件:含對(duì)數(shù)據(jù)庫(kù)所做的更改記錄鸵赫,這樣萬(wàn)一出現(xiàn)故障可以啟用數(shù)據(jù)恢復(fù),一個(gè)數(shù)據(jù)庫(kù)至少需要兩個(gè)重做日志文件
歸檔日志文件:是重做日志文件的脫機(jī)副本,這些副本可能對(duì)于從介質(zhì)失敗中進(jìn)行恢復(fù)很必要躏升。
7.要?jiǎng)h除表A中數(shù)據(jù)辩棒,使用TRUNCATE TABLE A。運(yùn)行結(jié)果是膨疏?A
A表A中的約束依然存在
B表A被刪除了
C表A中的數(shù)據(jù)被刪除了一半一睁,再次執(zhí)行時(shí),將刪除剩下的一半數(shù)據(jù)行
D表A中不符合檢查約束要求的數(shù)據(jù)被刪除佃却,而符合檢查約束要求的數(shù)據(jù)依然保留
刪除表的語(yǔ)句為:DROP TABLE table_name;
而DELETE和TRUNCATE TABLE都是刪除表中的數(shù)據(jù)的語(yǔ)句者吁,它們的不同之處在于:
1、TRUNCATE TABLE比DELETE的速度快饲帅;
2复凳、TRUNCATE TABLE是刪除表的所有行瘤泪,而DELETE是刪除表的一行或者多行(除非DELETE不帶WHERE語(yǔ)句);
3育八、在刪除時(shí)如果遇到任何一行違反約束(主要是外鍵約束)对途,TRUNCATE TABLE仍然刪除,只是表的結(jié)構(gòu)及其列髓棋、約束实檀、索引等保持不變,但DELETE是直接返回錯(cuò)誤按声;
4膳犹、對(duì)于被外鍵約束的表,不能使用TRUNCATE TABLE签则,而應(yīng)該使用不帶WHERE語(yǔ)句的DELETE語(yǔ)句须床。
5、如果想保留標(biāo)識(shí)計(jì)數(shù)值怀愧,要用DELETE侨颈,因?yàn)門(mén)RUNCATE TABLE會(huì)對(duì)新行標(biāo)志符列搜用的計(jì)數(shù)值重置為該列的種子。