資料庫設計過程 續1

2021-04-14 12:54:01 字數 3649 閱讀 2749

二、

資料庫概念模型設計

資料庫概念模型:

(1

)能真實、充分地反映現實世界,包括事物和事物之間的聯絡,能滿足使用者對資料的處理要求。是對現實世界的乙個真實模型。 (

2)易於理解,從而可以用它和不熟悉計算機的使用者交換意見,使用者的積極參與是資料庫的設計成功的關鍵。 (

3)易於更改,當應用環境和應用要求改變時,容易對概念模型修改和擴充。 (

4)易於向關係、網狀、層次等各種資料模型轉換。

<1>.實體-關係(e-r)模型

1.1幾個基本概念

實體集

l資料庫可被建模為:

n實體集合 n

實體間聯絡.

l實體是客觀存在的物件並且與其他物件可區分.

例如: 特定的人, 公司, 事件, 植物

l實體具有屬性。例如

: 人具有姓名和位址 l

實體集是相同型別的實體的集合,他們具有相同的性質.

例如: 所有人的集合, 所有公司的集合

屬性

l實體用乙個屬性集合來表示, 即實體集中所有成員都具有的描述性特性.

例如:

customer = (customer-id, customer-name, customer-street, customer-city)

loan = (loan-number, amount)

l域– 屬性允許取值的集合 l

屬性種類:

n簡單屬性與復合屬性.

復合屬性舉例:

n單值屬性與多值屬性

e.g. 多值屬性: phone-numbers

n匯出屬性可由其他屬性計算得到

e.g.給定出生日期可計算出年齡

聯絡集

舉例:客戶和貸款帳戶之間的聯絡集

聯絡集也可具有屬性.

例如, 實體集「客戶」和「帳號」之間的「存款」聯絡集可具有屬性「存款時間」

聯絡集的度

l參加聯絡的實體集的個數.

l涉及兩個實體集的聯絡集稱為二元的.

l聯絡集可以涉及多於兩個的實體集.

–e.g.假設銀行職員可以在多個分行承擔工作, 且在不同分行有不同工作. 則在實體集 employee,job 和branch 之間有乙個三元聯絡集

l多於兩個實體集之間的聯絡較少見, 資料庫系統中的聯絡集一般多為二元的.

對映基數

l表達可與乙個實體通過聯絡集進行關聯的其他實體的個數.

l描述二元聯絡集最有用.

l二元聯絡集的對映基數只能是以下情況:

n一對一

n一對多 n

多對一

n多對多

舉例:

l(a):一對一。

對映是實體與實體之間的關係,不是實體與屬性。比如「乙個人只有乙個姓名」,是實體與屬性。而「乙個人只有乙個合法配偶」,則是男人實體集和女人實體集之間的對映。在乙個實體集中有一部分實體沒參與對映,也叫一對一對映。比如不是所有的男人或女人已婚。

l(b):一對多。比如

班級跟學生的對映。 l

注意:a中的某些元素可能未被對映到b中的任何元素。

l(a):多對一。

l(b):多對多。

l注意: a 和 b 中的某些元素可能未被對映到另一集合中的任何元素

l區分實體之間的對映數跟對映的屬性數的區別。

對映基數影響er 設計

如果每個賬戶只能有乙個客戶,可將

access-date

作為account

的屬性而不是聯絡的屬性

從account

到customer

的聯絡是多對一的

, 或等價地

, customer

到account

是一對多的

1.2 e-r圖

l矩形表示實體集

l菱形表示聯絡集 l

直線連線實體集及其屬性,實體集與聯絡集 l

橢圓表示屬性 l

雙橢圓表示多值屬性 l

虛線橢圓表示匯出屬性 l

下劃線表示主鍵屬性(見後

e-r圖聯絡的幾種表示方式

帶有復合屬性,多值屬性和匯出屬性的e-r 圖

姓名是復合屬性,即名字由姓,中間名,名構成;

**號碼是多值屬性,即乙個客戶有多個**號碼;

年齡是匯出屬性,即年齡可以由生日匯出;

帶有屬性的聯絡集(存款帶有存款日期)

資料庫 資料庫設計過程

理解企業 企業業務過程 資料處理流程 資料處理效能需求。需求 概念模型 e r圖 idef1x圖 概念模型 邏輯模型 實體 關係 實體的屬性 關係的屬性 實體的關鍵字 關係的關鍵字 復合屬性 分量屬性或復合屬性本身作為關係的屬性 多值屬性 將多值屬性和實體的關鍵字組成乙個新的關係 弱實體 從屬實體 ...

資料庫設計過程

資料庫系統設計過程 一 需求分析。需求分析階段的工作步驟 資料流圖 例項 圖書館借書的資料流 資料流採用自頂向下的分析方式 下面是乙個銷售管理子系統的資料流的分析過程的例子。先看銷售管理子系統頂層資料流圖 其中1.0 送進定單的資料流圖 其中2.0 處理定單的資料流圖 其中3.0 開發票的資料流圖 ...

資料庫設計過程

需求分析 邏輯設計 物理設計 維護優化 第一正規化 一張表應該是一張二維表,對應乙個值 bad名稱 手機號使用者資訊 年齡使用者名稱1 1322672833 5good名稱 手機號年齡 位址使用者名稱1 13226728335中國 第二正規化 消除一張表中多種依賴關係,屬性只依賴主鍵 bad 更新異...