考研複試數據庫原理面試題(四)—關係數據庫設計與設計理論

寫作目的:爲了應對考研複試中的面試,我整理了導師可能提問的地方,力求用口語化的語言描述出來。

這只是一部分,陸續還有數據庫原理的其它章節,還會推出數據結構、計算機網絡複試題整理。

數據庫原理我的參考書是《數據庫原理及應用第二版(雷景生)》,因爲一些機緣巧合選擇了這本書。不過沒關係,網上有很多關於數據庫原理的面試題,而且答案也很容易搜到。思維導圖在我的processon。如果對你有幫助就打賞一下吧。

https://www.processon.com/view/link/5e7e0107e4b027d999d2cb1d

還有其它系列的面試題整理

考研複試計算機組成原理面試題

考研複試操作系統面試題

目錄

爲什麼範式會出現?

解釋1到4範式和BC範式?

如何判斷複雜關係模式中的候選碼

什麼是數據庫設計?

數據庫設計的幾個階段和目標

數據庫設計幾個主流方法

什麼是弱實體?

概念設計的三種方法?

E-R模式合併時發生的三種衝突

邏輯設計階段主要的內容和步驟

物理設計的內容和步驟


爲什麼範式會出現?

在數據庫設計中,不合理的設計會導致數據冗餘、更新異常、插入異常、刪除異常。這些都是由於不合理的數據依賴導致的,範式理論的出現爲了解決不合理的數據依賴,是數據庫設計規範化。

解釋1到4範式和BC範式?

1NF:數據庫中的每一列都是不可分割的簡單屬性。不滿足這一條的數據庫就不能稱爲關係型數據庫。

2NF:在1NF的基礎上,非碼屬性必須完全依賴於候選碼

3NF:在2NF基礎上,任何非主屬性不依賴於其它非主屬性。

BCNF:在1NF的基礎上,所有的函數依賴,例如X->Y,決定因素X中都包含了R的一個候選碼

4NF:關係模式的屬性之間不允許有非平凡且非函數依賴的多值依賴。

規範化的過程中:

1NF到2NF消除了非主屬性對碼的部分函數依賴;

2NF到3NF消除了非主屬性對碼的傳遞函數依賴;

3NF到BCNF消除了主屬性對碼的部分函數依賴和傳遞函數依賴;

BCNF到4NF消除了非平凡且非函數依賴的多值依賴。

如何判斷複雜關係模式中的候選碼

(1)如果有屬性不在函數依賴集中出現,那麼它必須包含在候選碼中;

(2)如果有屬性不在函數依賴集中任何函數依賴的右邊出現,那麼它必須包含在候選碼中;

(3)如果有屬性只在函數依賴集的左邊出現,則該屬性一定包含在候選碼中。

(4)如果有屬性或屬性組能唯一標識元組,則它就是候選碼;

什麼是數據庫設計?

是指對於一個給定的應用環境,構造最優的數據庫模式,建立數據庫及其應用系統,使之能夠有效地存儲數據,滿足各種用戶的應用需求(信息要求和處理要求)。

數據庫設計的幾個階段和目標

1. 需求分析: 分析用戶的需求,包括數據、功能和性能需求;生成系統分析報告。

2. 概念結構設計:主要採用E-R模型進行設計,包括畫E-R圖;生成全局E-R圖

(上面兩步獨立於數據庫管理系統

3. 邏輯結構設計:通過將E-R圖轉換成表,實現從E-R模型到關係模型的轉換,進行關係規範化;

4. 數據庫物理設計:主要是爲所設計的數據庫選擇合適的存儲結構和存儲路徑;

(上面兩步與數據庫管理系統相關

5. 數據庫的實施:包括編程、測試和試運行;

6. 數據庫運行和維護:系統的運行和數據庫的日常維護

數據庫設計幾個主流方法

直觀設計法:完全憑直覺。

規範設計法:比較普遍的有新奧爾良法、基於E-R圖法、基於3NF範式法,基於抽象語法規範的設計方法。新奧爾良法:比較權威的設計法,它的設計分四個階段,就是大家耳熟能詳的需求分析、概念設計、邏輯設計、物理設計階段。

計算機輔助設計法:通過人機交互的方式來完成設計的某些過程。

什麼是弱實體?

弱實體(weak entity)是一種數據庫系統術語。其定義爲一個實體對於另一個實體(一般爲強實體,也可以是依賴於其他強實體的弱實體)具有很強的依賴聯繫,而且該實體主鍵的一部分或全部從其強實體(或者對應的弱實體依賴的強實體)中獲得,則稱該實體爲弱實體。

概念設計的三種方法?

自頂向下法:首先認定用戶關心的實體和實體之間的聯繫,建立一個初步的概念模型框架,讓後對這個全局的E-R圖進行細化。

自底向上法;又叫屬性綜合法,將需求分析說明書中的數據元素作爲基本輸入,通過對這些元素分析,把他們綜合成相應的實體和聯繫,得到局部E-R圖,然後再組合成全局E-R圖。

逐步擴張法:先定義最重要的核心概念E-R模型,然後向外擴充。

混合策略:顧名思義。

E-R模式合併時發生的三種衝突

1、屬性衝突:

屬性域衝突:屬性值的類型、取值範圍不一致。例如學生的學號是用整數還是用字符型表示?

屬性取值單位衝突。

2、命名衝突:

同名異義:不同意義的對象在不同的局部採用了相同的名字。

異義同名:通一意義的對象在不同的局部應用中具有不同的名字。

1和2中的衝突靠協商解決。

3、結構衝突:

統一對象在不同的局部有不同的身份。

①一個對象在某個局部作爲實體,而在另一個局部成了屬性。解決辦法,將實體轉化爲屬性或者將屬性轉化爲實體,使同一對象有相同的身份。

②容易對象在不同的局部應用中對應的實體屬性組成不完全相同。解決辦法,對實體的屬性取在不同局部中的並集。

③實體之間的聯繫在不同的局部應用中具有不同的類型。如在一個局部中是一對一聯繫,在另一箇中是多對多聯繫。解決辦法,根據應用的語義對實體聯繫的類型進行綜合或調整。

邏輯設計階段主要的內容和步驟

將E-R圖轉化爲關係數據模型;

關係模式規範化;

關係模式優化。

物理設計的內容和步驟

1、確定數據庫的物理結構

2、對所設計的物理結構進行評價

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章