240 likes | 401 Views
No. 6 資料庫系統設計. 溫丹瑋 marian_wen@gmail.com 10/29/2004. 何為關聯式資料庫系統. “ 關聯 ” (Relationship) :藉由表格的形式找出資料的方法 " 關聯 " 必須經由二個資料表中相同的意義及資料類型的欄位來實現 ( 欄位名稱不一定要相同 ). 分割資料表並建立關聯的優點. 節省儲存空間 減少輸入錯誤 方便資料修改. 主鍵及連外鍵. 通常每個資料表只有一個欄位設定為主鍵, 但有時可能沒有一個欄位具有唯一性 , 此時可考慮使用兩個或多個欄位組合起來做為主鍵。 連外鍵 :連結其他資料表之用.
E N D
No. 6 資料庫系統設計 溫丹瑋 marian_wen@gmail.com 10/29/2004
何為關聯式資料庫系統 • “關聯” (Relationship):藉由表格的形式找出資料的方法 • "關聯" 必須經由二個資料表中相同的意義及資料類型的欄位來實現 (欄位名稱不一定要相同)
分割資料表並建立關聯的優點 • 節省儲存空間 • 減少輸入錯誤 • 方便資料修改
主鍵及連外鍵 • 通常每個資料表只有一個欄位設定為主鍵,但有時可能沒有一個欄位具有唯一性,此時可考慮使用兩個或多個欄位組合起來做為主鍵。 • 連外鍵:連結其他資料表之用
資料的完整性 • 資料完整性 (Data Integrity):用來確保資料庫中資料的正確性及可靠性。 • 實體完整性 (Entity Integrity):為了確保資料表中的記錄是“ 唯一” 的。我們設定主鍵就是為了達成實體完整性 • 區域完整性 (Domain Integrity):是為了確保資料在允許的範圍中 • 參考完整性 (Referential Integrity):用來確保相關資料表間的資料一致。
資料表的關聯種類 • 一對一關聯 • 一對多關聯 • 多對多關聯
Access 中關聯的表示方式 • 在 Access 中, 若建立資料表關聯時若未建立強迫參考完整性, 則不論一對一或一對多的關聯, 都會以下圖的方式表示:
Access 中關聯的表示方式 • 請雙按關聯, 開啟編輯關聯交談窗:
Access 中關聯的表示方式 • 當建立了參考完整性後, 在關聯上就會明確標示出兩個資料表間的關聯類型: 練習建立資料庫的關聯
如何設計一個完善的資料庫 • 操作介面設計:就 Access 而言,操作介面設計就是表單的設計,或是以程式語言 所撰寫的操作介面。 • 結構設計:結構設計是指設計出適當且最佳化的資料表。
系統分析的步驟 (1) • 了解客戶需求 • 針對客戶需求, 確定設計範圍 • 收集和分析資料 • 概念設計階段 • 將收集的資料, 經過分析及整理後, 產生一個能符合使用者需求的資料庫模型, 並以簡單的形式表現出來
系統分析的步驟 (2) • 邏輯設計階段 • 主要工作是將概念設計階段產生的結果, 轉換為實際使用的資料表 • 此階段的工作可分為轉換為資料表及資料表正規化等兩項 • 建立資料庫 • 接著要將結果建到資料庫中
ERD的目的及功能 • ERD的目的 ERD的目的是用來描述資料儲存裡紀錄間的關係。 • ERD的功能 • 系統發展人員與資料庫管理師(DBA)的溝通工具。 • 利用ERD描述資料需求,最後再轉換成實際的檔案。 • 用來檢驗資料流程圖中的檔案是否正確。
編號 意義 圖示 1 實體名稱 一般實體 弱勢實體 2 屬性名稱 3 屬性 屬性名稱 4 多值屬性 一般關係 5 弱勢關係 6 實體名稱 ERD的組成元件
實體 實體 • 所謂實體就是系統中必須儲存的資料。 • 實體可分為一般實體及弱勢實體兩種,在這裡須注意的是,弱勢實體的存在與否,是取決於某個一般實體,即當它所依賴的實體不復存在 • 時,則該弱勢實體也不復存在。 • 一般實體的圖形符號為一單框長方形,如表2.2之編號(1)所示。 • 弱勢實體的圖形符號則以雙框長方形符號來表示之,如表2.2之編號(2)所示。
屬性 • 屬性的符號以橢圓形代表之,如表2.2之編號(3)所示。 • 屬性代表實體的一個性質,對應到資料記錄裡的一個欄位。 • 主鍵( Primary Key , PK ):在屬性中畫上底線,表為唯一識別值且不能為空值( Null )。 • 複合屬性:該屬性的每一個部份都要再細分為另一個屬性,並與原來 的複合屬性連接。 • 多值屬性:則以雙框橢圓形表示之,其就是把多個相同屬性之屬性內容綜合起來,屬性的符號如表2.2之編號(4)。
家屬:姓名 家屬:年齡 家屬:關係 學號 學生 相 等 於 家屬:姓名 N 家屬:年齡 1 學號 學生 家屬 家屬:關係 圖2.4 多值屬性 範例如下圖2.4所示:
老闆 1 聘用 N 員工 1 親屬 N 家屬 關係 • 關係代表實體(型別)的案例與實體(型別)的案例之間的關係,或資料記 • 錄與資料記錄間之關聯。 • 簡單來說其就是用來記錄系統中兩個實體間所發生的任何關聯。 • 一般關係:以單框菱形來表示,如表2.2之編號(5) • 弱勢關係:以雙框菱形來表示之,如表2.2之編號(6)所示。 範例如下圖2.5所示:
註冊 系所 學生 修課 學生 科目 管理 校長 學校 關係的種類 ►實體與實體之間的關係可分為: (1)1對1:例如校長與學校兩個實體,它們之間存在1對1的管理關係 (2)1對多:例如系所與學生兩個實體,它們之間存在1對多的註冊關係 (3)多對多:例如學生與科目兩個實體,它們之間存在多對多的修課關係
ERD的建立方法與步驟 • 建立ERD時首先要確立實體中的資料項,並確立該實體之鍵(Key)。所謂的鍵指的是可以唯一決定該實體的資料項。 • 建立ERD的步驟如下: • 確定所有的實體及其資料項。 • 定義實體的鍵。 • 確立實體間之對應關係。 • 經由鍵的結合,連接相關的實體及關係。
M 時間 購買 數量 客戶檔 產品檔 關聯物件指標(Associative Object Type Indicator) • 關聯物件指標又可稱為關聯實體指標(Associative Entity Indicator)[Yourdon],它除了紀錄兩個實體間的關聯外,也利用一個實體,紀錄了一些關聯以外的其他資訊,而這個紀錄其他資訊的實體,則稱為關聯實體。圖形描述如下圖2.7所示:
學生 大學部 研究所 超類別實體指標 • 它由以下兩類實體組成: • 超類別:記錄所有子類別皆必須擁有的資料,如圖2.7中的學生類別 • 子類別:記錄每個子類別個別擁有的資料,如圖2.7中的大學部和研究所類別。 其圖形描述如圖2.8所示:
代號 名稱 編號 姓名 年齡 M 1 工作於 員工 部門 1 姓名 M 年齡 家屬 親屬關係 關係 圖2.9 一個完整的實體關係圖 完整範例