資料庫 面試題

2021-07-14 12:08:20 字數 1906 閱讀 9998

正規化

第一正規化(1nf)

所謂第一正規化(1nf)是指在關係模型中,所有的域都應該是原子性的,而不能是集合、陣列、記錄等非原子資料項。

第二正規化(2nf)

在1nf基礎上消除非主屬性對主碼的部分函式依賴。

第三正規化(3nf)

在2nf基礎上消除非主屬性對主碼的傳遞函式依賴。

巴斯-科德正規化(bcnf)

在3nf基礎上消除主屬性對主碼的部分與傳遞依賴。

關係模式r∈1nf。若函式依賴集合f中的所有函式依賴x→y(y不包含於x)的左部都x都是主碼而不是主碼的子集,則r∈bcnf。

關係型資料庫設計中,達到bcnf就可以了!

什麼是索引?sql server裡的索引型別?

索引是乙個資料結構,用來快速訪問資料庫表裡的資料。sql server中,有兩種型別的索引:聚集索引非聚集索引。聚集索引在索引的葉級儲存資料(行),並按照聚集鍵的大小順序儲存行資料,物理順序和邏輯順序一致,由於存在這種排序,所以每個**只會有乙個聚集索引。非聚集索引在索引的葉級有乙個行識別符號(用於標識行的位置),它允許每個**有多個非聚集索引。

什麼是主鍵?什麼是外來鍵?

主鍵是**裡的(乙個或多個)字段,只用來唯一標識**裡的行。外來鍵是乙個用來建立兩個**之間關係的約束。這種關係一般都涉及乙個**裡的主鍵欄位與另外乙個表(可能是同一表)裡的字段。那麼這些相連的字段就是外來鍵。

觸發器的作用?

觸發器是一中特殊的儲存過程,主要是通過事件來觸發而被執行的。它可以強化約束,來維護資料的完整性和一致性,可以跟蹤資料庫內的操作從而不允許未經許可的更新和變化。可以聯級運算。如,某錶上的觸發器上包含對另乙個表的資料操作,而該操作又會導致該錶觸發器被觸發。

什麼是儲存過程?用什麼來呼叫?

儲存過程是乙個預編譯的sql語句,優點是允許模組化的設計,就是說只需建立一次,以後在該程式中就可以呼叫多次。如果某次操作需要執行多次sql,使用儲存過程比單純sql語句執行要快。可以用乙個命令物件來呼叫儲存過程。

索引的作用?和它的優點缺點是什麼?

索引就一種特殊的查詢表,資料庫的搜尋引擎可以利用它加速對資料的檢索。它很類似與現實生活中書的目錄,不需要查詢整本書內容就可以找到想要的資料。索引可以是唯一的,建立索引允許指定單個列或者是多個列。缺點是它減慢了資料錄入的速度,同時也增加了資料庫的尺寸大小。

維護資料庫的完整性和一致性,你喜歡用觸發器還是自寫業務邏輯?為什麼?

我是這樣做的,盡可能使用約束,如check,主鍵,外來鍵,非空字段等來約束,這樣做效率最高,也最方便。其次是使用觸發器,這種方法可以保證,無論什麼業務系統訪問資料庫都可以保證資料的完整新和一致性。最後考慮的是自寫業務邏輯,但這樣做麻煩,程式設計複雜,效率低下。

什麼是事務?什麼是鎖?

事務就是被繫結在一起作為乙個邏輯工作單元的sql語句分組,如果任何乙個語句操作失敗那麼整個操作就被失敗,以後操作就會回滾到操作前狀態,或者是上有個節點。為了確保要麼執行,要麼不執行,就可以使用事務。要將有組語句作為事務考慮,就需要通過acid測試,即原子性,一致性,隔離性和永續性。

鎖:在dbms中,鎖是實現事務的關鍵,鎖可以保證事務的完整性和併發性。與現實生活中鎖一樣,它可以使某些資料的擁有者,在某段時間內不能使用某些資料或資料結構。當然鎖還分級別的。

什麼叫檢視?

檢視是一種虛擬的表,具有和物理表相同的功能。可以對檢視進行增,改,查,操作,檢視通常是有乙個表或者多個表的行或列的子集。對檢視的修改不影響基本表。它使得我們獲取資料更容易,相比多表查詢。

面試題 資料庫

今天面試,遇到資料庫方面的問題,由於好久沒接觸過,很多都忘記了,回來查了資料,整理一下 1 觸發器與儲存過程的區別 觸發器 是一種特殊型別的儲存過程,當使用下面的一種或多種資料修改操作在指定表中對資料進行修改時,觸發器會生效 update insert 或 delete。觸發器可以查詢其它表,而且可...

資料庫面試題

這個主要是給自己看的,答案都是網上搜的 乙個叫department的表,裡面只有乙個字段 name 一共有4條紀錄,分別是a,b,c,d,對應四個球對,現在四個球對進行比賽,用一條sql語句顯示所有可能的比賽組合 select a.name,b.name fromdepartment a,depar...

資料庫面試題

主鍵 超鍵 候選鍵 外來鍵 主鍵 資料庫表中對儲存資料物件予以唯一和完整標識的資料列或屬性的組合。乙個資料列只能有乙個主鍵,且主鍵的取值不能缺失,即不能為空值 null 超鍵 在關係中能唯一標識元組的屬性集稱為關係模式的超集。乙個屬性可以作為乙個超鍵,多個屬性組合在一起也可以作為乙個超鍵。超鍵包含候...