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