資料庫設計模式 主擴充套件模式

2021-08-31 08:09:23 字數 798 閱讀 8550

(一)主擴充套件模式

主擴充套件模式,通常用來將幾個相似的物件的共有屬性抽取出來,形成乙個「公共屬性表」;其餘屬性則分別形成「專有屬性表」,且「公共屬性表」與「專有屬性表」都是「一對一」的關係。

「專有屬性表」可以看作是對「公共屬性表」的擴充套件,兩者合在一起就是對乙個特定物件的完整描述,故此得名「主擴充套件模式」。

假設某公司包括如下6種型別的工作人員:採購員、營銷員、庫房管理員、收銀員、財務人員和諮詢專家,採用主擴充套件模式進行設計,如下圖所示。

無論哪種型別的工作人員,都要訪問公司的辦公軟體,所以都有「登陸**」和「登入密碼」;並且作為一般屬性,「姓名」、「性別」、「身份證號」、「入職時間」、「離職時間」等屬性,都與個人所從事的工作崗位無關,所以可以抽取出來作為公共屬性,建立「公司員工」表。

很顯然,公司委派員工採購哪些商品是「採購員」的專有屬性,這是由公司的實際業務特點決定的。換句話說,公司不可能把採購任務放到「營銷員」身上,也不可能放到「庫房管理員」身上,「採購商品」屬性就是「採購員」的專用屬性。

「採購員」表的主鍵與「公司員工」表的主鍵是相同的,包括欄位名稱和字段的實際取值;「採購員」表的主鍵同時是「公司員工」表主鍵的外來鍵。在pdm圖里可以看到「採購員」表中的「員工id」字段後面有乙個「」標記,這個標記就說明「員工id」欄位既是「採購員」表的主鍵,同時也是該錶的外來鍵。

「公司員工」表是主表,「採購員」表是擴充套件表,二者是「一對一」的關係,兩個表的字段合起來就是對「採購員」這個物件的完整說明。同理,「公司員工」表和其他5個表之間也都分別構成了「一對一」的關係。

對於主表來說,從表既可以沒有記錄,也可以有唯一一條記錄來對主表進行擴充套件說明,這就是「主擴充套件模式」。

(一)主擴充套件模式

之2 主擴充套件模式,通常用來將幾個相似的物件的共有屬性抽取出來,形成乙個 公共屬性表 其餘屬性則分別形成 專有屬性表 且 公共屬性表 與 專有屬性表 都是 一對一 的關係。專有屬性表 可以看作是對 公共屬性表 的擴充套件,兩者合在一起就是對乙個特定物件的完整描述,故此得名 主擴充套件模式 假設某公...

資料庫設計模式 名值模式

三 名值模式 名值模式,通常用來描述在系統設計階段不能完全確定屬性的物件,這些物件的屬性在系統執行時會有很大的變更,或者是多個物件之間的屬性存在很大的差異。1.使用名值模式進行設計時,如果對 其他屬性 僅作瀏覽儲存 不作其它任何特殊處理,則通常會設計乙個 屬性模板 表,該錶的資料記錄在系統執行時動態...

資料庫設計 繼承模式

一 繼承模式 繼承模式,可以看作是 主從模式 的一種特殊情況 或者說是 變形 它所代表的兩個物件也是 一對多 的關係。它與 主從模式 的區別是,繼承模式 中從表的主鍵是復合主鍵,並且復合主鍵中必定包含主表的主鍵列。根據從表繼承主表的列的數量,繼承模式又分以下兩種情況 1.從表繼承主表的全部列 在這種...