資料庫設計和E R模型

2021-08-25 19:43:19 字數 3344 閱讀 3674

實體-聯絡(e-r)資料模型,它提供了乙個找出在資料庫中表示的實體以及實體間如何關聯的方法。最終,資料庫設計將會表示為乙個關聯式資料庫設計和乙個與之關聯的約束集合。

(1)概念設計(conceptual-design)階段多產生的模式提供了乙個對企業的詳細總數。用實體-聯絡模型的術語來說,概念模式定義了資料庫中表示的實體、實體的屬性、實體之間的聯絡,以及實體和聯絡上的約束。概念設計階段會導致實體-聯絡圖上的構建,提供了對模式的圖形化描述。設計者檢查此模式以確保所有資料需求都滿足,並且互相不衝突。可以檢查該設計以去除冗餘的特徵。這個階段,關注的是描述資料及其聯絡,而不是定義物理儲存細節。

(2)完善的概念模式還需指明企業的功能需求。在功能需求規格說明(specification of functional requirement)中,使用者描述將在資料上進行各類操作(或事物)。操作的例子包括修改或更新資料,搜尋並取回特定資料,以及刪除資料。設計者可以檢查所設計的模式,以確保其滿足功能需求。

(3)邏輯設計階段(logical-design phase)中,設計者將高層概念模式對映到將使用的資料庫系統的實現資料模型上。實現資料模型通常是關係資料模型,該階段通常包括將以實體-聯絡模型定義的概念模式對映到關係模式。

(4)物理設計階段(physical-design phase),該階段指明資料庫的物理特徵,這些特徵包括檔案組織格式和索引結果的選擇。

資料庫設計過程的乙個主要部分是決定如何在設計中表示各種型別的事物,『人』,『地方』。用實體這個術語來指示所有可明確識別的個體。以各種各樣的實體以多種方式互相關聯,而所有這些方式都需要在資料庫設計中反映出來。一名學生在一次開課中選課,一名教師在一次開課中授課,授課和選課就是實體間聯絡的例項。

設計乙個資料庫模式時,必須確保避免兩個主要的缺陷:

(1)冗餘:乙個不好的設計可能會出現重複資訊。冗餘也可能出現在關係模式中。資訊冗餘表達的最大問題是當隊一條資訊進行更新但沒有將這條資訊的所有拷貝都更新時,這條資訊的拷貝會變得不一致。

(2)完整:乙個不好的設計可能會使得企事業機構的某些方面難於甚至無法建模。

旨在方便資料庫的設計,是通過允許定義代表資料庫全域性邏輯結構的企業模式實現的。

(1)實體集

實體是現實世界中可區別於所有其他物件的乙個事物或物件。每個實體都有一組性質,其中一些性質的值可以唯一標識乙個實體。實體可以是實實在在的,也可以是抽象的。

實體集是相同型別即具有相同性質或屬性的乙個實體集合。

建模中,用術語抽象的表達實體集,而不是指某個個別實體的特別集合。實體集的外延是指屬於實體集的實體的實際集合。實體集不必互不相交。

實體通過一組屬性來表示。屬性是實體集中每個成員所擁有的描述性性質。為某實體集制定乙個屬性表明資料庫為該實體集中每個實體儲存相似的資訊;但每個實體在每個屬性上都有各自的值。每個實體的每個屬性都有乙個值。資料庫包括一組實體集,每個實體集包括任意數量的相同型別的實體。

(2)聯絡集

聯絡是指多個實體間的相互關聯。聯絡集是相同型別聯絡的集合。是n

實體在聯絡中扮演的功能稱為實體的角色。由於參與乙個聯絡集的實體集通常是互異的,因此角色是隱含的並且一般並不制定。聯絡的含義需要解釋時角色是很有用的。當參與聯絡集的實體集並非互異的時候就是這種情況。同樣的實體集以不同的角色參與乙個聯絡集多餘一次。在這類聯絡集中,即有時稱作自環的(recursive)聯絡集中,有必要用顯式的角色名來指明實體是如何參與聯絡例項的。

聯絡也可以是描述性屬性。考慮實體集間的聯絡集。

給定的聯絡集中的乙個聯絡例項必須是由其參與實體唯一標識的,不必使用描述屬性。

相同的實體集可能會參與到多於乙個聯絡集中。

參與聯絡集的實體集的數目稱為聯絡集的度。二元聯絡集度為2,三元聯絡集度為3。

(3)屬性

每個屬性都有乙個可取值的集合,稱為該屬性的域,或者值集。

實體集的屬性是將實體集對映到域的函式。由於乙個實體集可能有多個屬性,每個實體可以用一組(屬性,資料值)對來表示,實體集的每個屬性對應乙個這樣的對。

e-r模型中的屬性型別:

(1)簡單和復合屬性。不能劃分為更小的部分-簡單。可以劃分為更小的屬性(其他屬性)-復合。name address

*(2)單值和多值(花括號將屬性括住)。id,phonenumber 適當情況下,可對多值屬性的取值數目上設定上、下界。

(3)派生屬性。這類屬性的值可以從別的相關屬性或實體派生出來。

基屬性-儲存的屬性   派生屬性的值不儲存,需要的時候算出來。

e-r企業模式可定義一些資料庫中的資料必須要滿足的約束。

也叫基數比率,乙個實體通過乙個聯絡集能關聯的實體的個數。

一對一:a中的乙個實體至多與b中的乙個實體相關聯,且b中的乙個實體也至多與a中乙個實體相關聯。

一對多:a中的乙個實體可以與b中的任意數目(零哥或多個)實體相關聯,而b中乙個實體至多與a中乙個實體相關聯。

多對一:a中的乙個實體至多與b中的乙個實體相關聯,b中的乙個實體可以與a中的任意數目(零哥或多個)實體相關聯

多對多:a中的乙個實體可以與b中的任意數目(零哥或多個)實體相關聯,b中的乙個實體可以與a中的任意數目(零哥或多個)實體相關聯

乙個特定聯絡集的適當的對映基數依賴於該聯絡集所建模的顯示實際的情況。

(2)參與約束

若實體集e中的每個實體都參與到聯絡集r的至少乙個聯絡中,實體集e在聯絡集r中的參與稱為全部的。

若e中只有部分參與到聯絡集r的聯絡中,實體集e在聯絡集r中的參與稱部分。                            

(3)碼

必須有乙個區分實體集的實體的方法。概念上,各個實體是互異的,但從資料庫觀點來看,區別必須通過屬性來表明。

乙個實體的屬性的值必須可唯一標識該實體。乙個實體集中不允許兩個實體對於所有屬性具有完全相同的值。

實體的碼是可以區分每個實體的屬性集。

如果實體集間主碼的屬性名稱不是互不相同的,重新命名這些屬性以區分它們;實體集的名字加上屬性名可構成唯一的名稱。如果乙個實體集不止一次參與某個聯絡集,則使用角色名代替實體集名構成唯一的屬性名。

聯絡集的主碼結構依賴於聯絡集的對映基數。

五、實體-聯絡圖

e-r圖可圖形化表示資料庫的全域性邏輯結構。簡單清晰,使e-r模型廣泛應用的重要性質。

(1)基本結構

分成兩部分的矩形代表實體集,陰影部分包含實體集的名字,第二部分包含實體集中所有屬性的名字。

菱形代表聯絡集。

未分割的矩形代表聯絡集的屬性。構成主碼的屬性以下劃線標明。

線段將實體集連線到聯絡集。

虛線將聯絡集屬性連線到聯絡集。

雙線顯示實體在聯絡集中的參與度。

雙菱形代表連線到弱實體集的標誌性聯絡集。

(2)對映基數

設計資料庫ER模型

最近在作報告的時候,經理說需要畫er圖。對於我這個不是科班出身的同學,畫er圖還真沒做過。er圖確實聽說過,大概也知道用來做什麼,但具體是什麼樣子就不得而知了。於是在google開始搜尋。構成e r圖的基本要素是實體型 屬性和聯絡,其表示方法為 實體型 entity 具有相同屬性的實體具有相同的特徵...

資料庫ER模型

er模型轉換關聯式資料庫的 一般規則 1 將每乙個實體型別轉換成乙個關係模式,實體的屬性為關係模式的屬性。2 對於二元聯絡,按各種情況處理,如下面所示。二元關係 er圖轉換成的關係 聯絡的處理 主鍵外來鍵 1 1 2個關係 模式a模式b 有兩種 處理方式 1 1 把模式b的主鍵,聯絡的屬性加入模式a...

資料庫 E R模型

實體 客觀存在並可相互區別的事物稱為實體。可以是具體的人 事 物或抽象的概念。屬性 實體所具有的某一特性稱為屬性。乙個實體可以由若干個屬性來刻畫。聯絡 現實世界中事物內部以及事物之間的聯絡。在資訊世界中反映為實體內部的聯絡和實體之間的聯絡。矩形框 表示實體,在框中記入實體名。菱形框 表示聯絡,在框中...