- 相關(guān)推薦
Database工程師面試試題
1、什么是SQL Server的確定性函數(shù)和不確定性函數(shù)
只要使用特定的輸入值集并且數(shù)據(jù)庫(kù)具有相同的狀態(tài),不管何時(shí)調(diào)用,始終都能范圍相同結(jié)果的函數(shù)叫確定性函數(shù)。
幾十訪問(wèn)的數(shù)據(jù)庫(kù)的狀態(tài)不變,每次書用特定的輸入值都可能范圍不同結(jié)果的函數(shù)叫非確定性函數(shù)。
2、主鍵(Primary Key)約束和唯一性(UNIQUE)約束的區(qū)別
一個(gè)表只能由一個(gè)主鍵,一個(gè)表可以有很多個(gè)唯一鍵(UNIQUE Key)
主鍵不允許有null值,UNIQUE允許null值
3、什么是唯一索引
唯一索引可以確保索引列不包含重復(fù)的值。在多列唯一索引的情況下,該索引可以確保索引列中每個(gè)值組合都是唯一的。例如,如果在 last_name、first_name 和 middle_initial 列的組合上創(chuàng)建了唯一索引 full_name,則該表中任何兩個(gè)人都不可以具有相同的全名。
聚集索引和非聚集索引都可以是唯一的。因此,只要列中的數(shù)據(jù)是唯一的,就可以在同一個(gè)表上創(chuàng)建一個(gè)唯一的聚集索引和多個(gè)唯一的非聚集索引。
只有當(dāng)唯一性是數(shù)據(jù)本身的特征時(shí),指定唯一索引才有意義。如果必須實(shí)施唯一性以確保數(shù)據(jù)的完整性,則應(yīng)在列上創(chuàng)建 UNIQUE 或 PRIMARY KEY 約束,而不要?jiǎng)?chuàng)建唯一索引。例如,如果打算經(jīng)常查詢雇員表(主鍵為 emp_id)中的社會(huì)安全號(hào)碼 (ssn) 列,并希望確保社會(huì)安全號(hào)碼的唯一性,則在 ssn 列上創(chuàng)建 UNIQUE 約束。如果用戶為一個(gè)以上的雇員輸入了同一個(gè)社會(huì)安全號(hào)碼,則會(huì)顯示錯(cuò)誤。
4、Oracle中delete,truncate和drop的區(qū)別
Delete命令用來(lái)刪除表的全部或者一部分?jǐn)?shù)據(jù)行,執(zhí)行delete之后,用戶需要提交(commmit)或者回滾(rollback) transaction 來(lái)執(zhí)行刪除或者撤銷刪除, delete命令會(huì)觸發(fā)這個(gè)表上所有的delete觸發(fā)器。
Truncate刪除表中的所有數(shù)據(jù), 這個(gè)操作不能回滾,也不會(huì)觸發(fā)這個(gè)表上的觸發(fā)器,TRUNCATE比delete更快,占用的空間更小。
Drop命令從數(shù)據(jù)庫(kù)中刪除表, 所有的數(shù)據(jù)行,索引和權(quán)限也會(huì)被刪除,所有的DML觸發(fā)器也不會(huì)被觸發(fā),這個(gè)命令也不能回滾。
【Database工程師面試試題】相關(guān)文章:
java工程師面試題09-25
Python工程師面試試題09-26
網(wǎng)絡(luò)工程師面試試題09-25
軟件工程師面試試題09-26
Linux運(yùn)維工程師面試題08-05
軟件測(cè)試工程師面試試題08-06
網(wǎng)管系統(tǒng)維護(hù)工程師面試題09-25
應(yīng)用系統(tǒng)開發(fā)工程師面試試題08-04
面試試題精選08-08
外包公司軟件測(cè)試工程師面試試題08-10