第七章 數據庫設計
?
1.試述數據庫設計過程。
答:這里只概要列出數據庫設計過程的六個階段: ( l )需求分析; ( 2 )概念結構設計; ( 3 )邏輯結構設計; ( 4 )數據庫物理設計; ( 5 )數據庫實施; ( 6 )數據庫運行和維護。這是一個完整的實際數據庫及其應用系統(tǒng)的設計過程。不僅包括設計數據庫本身,還包括數據庫的實施、運行和維護。設計一個完善的數據庫應用系統(tǒng)往往是上述六個階段的不斷反復。
?
2 .試述數據庫設計過程各個階段上的設計描述。
答:各階段的設計要點如下: ( l )需求分析:準確了解與分析用戶需求(包括數據與處理)。 ( 2 )概念結構設計:通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體 DBMS 的概念模型。 ( 3 )邏輯結構設計:將概念結構轉換為某個 DBMS 所支持的數據模型,并對其進行優(yōu)化。 ( 4 )數據庫物理設計:為邏輯數據模型選取一個最適合應用環(huán)境的物理結構(包括存儲結構和存取方法)。 ( 5 )數據庫實施:設計人員運用 DBMS 提供的數據語言、工具及宿主語言,根據邏輯設計和物理設計的結果建立數據庫,編制與調試應用程序,組織數據入庫,并進行試運行。 ( 6 )數據庫運行和維護:在數據庫系統(tǒng)運行過程中對其進行評價、調整與修改。
?
3 .試述數據庫設計過程中結構設計部分形成的數據庫模式。
答:數據庫結構設計的不同階段形成數據庫的各級模式,即: ( l )在概念設計階段形成獨立于機器特點,獨立于各個 DBMS 產品的概念模式,在本篇中就是 E 一 R 圖; ( 2 )在邏輯設計階段將 E 一 R 圖轉換成具體的數據庫產品支持的數據模型,如關系模型,形成數據庫邏輯模式,然后在基本表的基礎上再建立必要的視圖 ( Vi 娜),形成數據的外模式; ( 3 )在物理設計階段,根據 DBMS 特點和處理的需要,進行物理存儲安排,建立索引,形成數據庫內模式。
?
5?.什么是數據庫的概念結構?試述其特點和設計策略。
答:概念結構是信息世界的結構,即概念模型,其主要特點是: ( l )能真實、充分地反映現(xiàn)實世界,包括事物和事物之間的聯(lián)系,能滿足用戶對數據的處理要求,是對現(xiàn)實世界的一個真實模型; ( 2 )易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參與是數據庫設計成功的關鍵; ( 3 )易于更改,當應用環(huán)境和應用要求改變時,容易對概念模型修改和擴充; ( 4 )易于向關系、網狀、層次等各種數據模型轉換。概念結構的設計策略通常有四種: l )自頂向下,即首先定義全局概念結構的框架,然后逐步細化; 2 )自底向上,即首先定義各局部應用的概念結構,然后將它們集成起來,得到全局概念結構; 3 )逐步擴張,首先定義最重要的核心概念結構,然后向外擴充,以滾雪球的方式逐步生成其他概念結構,直至總體概念結構; 4 )混合策略,即將自頂向下和自底向上相結合,用自頂向下策略設計一個全局概念結構的框架,以它為骨架集成由自底向上策略中設計的各局部概念結構。
?
7.學校中有若干系,每個系有若干班級和教研室,每個教研室有若干教員,其中有的教授和副教授每人各帶若干研究生;每個班有若干學生,每個學生選修若干課程,每門課可由若干學生選修。請用 E 一 R 圖畫出此學校的概念模型。
答:
各實體屬性為:
系:系編號,系名
班級:班級號,班級名
教研室:教研室號,教研室
學生:學號,姓名,學歷
課程:課程號,課程名
教員:職工號,姓名,職稱
聯(lián)系的屬性:“選修”的屬性為“成績”
轉換為關系模型如下:
系(系編號,系名,學校名)
班級(班級號,班級名,系編號)
教研室(教研室號,教研室,系編號)
學生(學號,姓名,學歷,班級號,導師職工號)
課程( 課程號,課程名)
教員(職工號,姓名,職稱,教研室號)
選修(學號,課程號,成績)
?
?
8 .某工廠生產若干產品,每種產品由不同的零件組成,有的零件可用在不同的產品上。這些零件由不同的原材料制成,不同零件所用的材料可以相同。這些零件按所屬的不同產品分別放在倉庫中,原材料按照類別放在若干倉庫中。請用 E 一 R 圖畫出此工廠產品、零件、材料、倉庫的概念模型。
答:
各實體屬性為:
產品:產品號,產品名
零件:零件號,零件名
原材料:原材料號,原材料名,類別
倉庫:倉庫號,倉庫名
各聯(lián)系的屬性為:
產品組成:使用零件量
零件制造:使用原材料量
零件存儲:存儲量
材料存放:存儲量
轉換為關系模型如下:
產品(產品號,產品名,倉庫號)
零件:零件號,零件名
原材料:原材料號,原材料名,類別,倉庫號,存放量)
倉庫(倉庫號,倉庫名)
產品組成(產品號,零件號,使用零件量)
零件組成(零件號,原材料號,使用原材料量)
零件儲存(零件號,倉庫號,存儲量)
?
9?.什么是數據庫的邏輯結構設計?試述其設計步驟。
答:數據庫的邏輯結構設計就是把概念結構設計階段設計好的基本 E 一 R 圖轉換為與選用的 DBMS 產品所支持的數據模型相符合的邏輯結構。設計步驟為 : ( l )將概念結構轉換為一般的關系、網狀、層次模型; ( 2 )將轉換來的關系、網狀、層次模型向特定 DBMS 支持下的數據模型轉換; ( 3 )對數據模型進行優(yōu)化。
?
11、第七題中設計的關系模型中的各個關系模式都只有一個碼,且都是唯一的決定因素,所以屬于BCNF,不會發(fā)生更新異常。