資料庫 四種設計模式

2022-01-10 18:35:50 字數 2207 閱讀 7514

設計模式(design pattern)是一套被反覆使用、多數人知曉的、經過分類的、**設計經驗的總結。

一般應用於提取不同型別的物件的共同特徵。比如學校當中,對於上課而言分為

老師和學生,但對於食堂大媽或者門衛大爺而言,就看你是不是校內人員。這是一種包含

關係。即校內人員包括 學生、老師、其他工作人員。如果做乙個簽到系統,就設定校內

人員為user表,老師、學生之類的單獨成表,但是都維護同樣的userid同時作為二者的主

鍵。使之稱為1對1的關係。這種模式就是主擴充套件模式。

擴充套件表的主鍵既是擴充套件表的主鍵也是主表的外來鍵

主從模式的應用場景最多。是典型的一對多的關係。比如貼吧的實現,整個

吧就是乙個主表。而貼吧有許多的從表就是不同樓主發的帖子,而每個帖子有用很多從表

那就是每個樓所對應的資訊。

主要處理系統設計階段還不能完全確定的屬性的物件。這些物件的屬性在系統運

行時會有很大的變更,或者是多個物件之間的屬性存在很大的差異。

比如說乙個學生的表,記錄了一些學生必須有的屬性:年齡身高體重姓名什麼的。但是突然有

一天有乙個人穿越了,他就需要乙個劍術值的資料。通常需要額外兩個表來儲存這種不確定是否

會用會有的屬性。

首先需要乙個屬性模版表,就是不管這個屬性屬於誰,屬於何物,何時,

我只是證明有這麼一條額外屬性而存在。那麼上述的例子當中,屬性模板表當中就

需要新增一條屬性:(屬性**一般給屬性分類用)

id 1 屬性** 1001 屬性名稱 劍術值

但是具體劍術值是多少,這個表不去討論。儲存資料的表稱為額外屬性表,這個

表儲存的字段分別標識

1.這條資料屬於哪個人、物(角色id)

2.這條資料是什麼屬性 (屬性模板id)

3.屬性的具體值是多少 (data)

多對多模式,也是比較常見的一種資料庫設計模式,它所描述的兩個物件不分主

次、地位對等、互為一對多的關係。對於a表來說,一條記錄對應著b表的多條記錄,反過

來對於b表來說,一條記錄也對應著a表的多條記錄,這種情況就是「多對多模式」。

這個主要可以細分成兩種情況。取決於關聯表有沒有業務需求。

**:常見的四種資料庫設計模式

一般應用於提取不同型別的物件的共同特徵。比如學校當中,對於上課而言分為

老師和學生,但對於食堂大媽或者門衛大爺而言,就看你是不是校內人員。這是一種包含

關係。即校內人員包括 學生、老師、其他工作人員。如果做乙個簽到系統,就設定校內

人員為user表,老師、學生之類的單獨成表,但是都維護同樣的userid同時作為二者的主

鍵。使之稱為1對1的關係。這種模式就是主擴充套件模式。

擴充套件表的主鍵既是擴充套件表的主鍵也是主表的外來鍵

主從模式的應用場景最多。是典型的一對多的關係。比如貼吧的實現,整個

吧就是乙個主表。而貼吧有許多的從表就是不同樓主發的帖子,而每個帖子有用很多從表

那就是每個樓所對應的資訊。

主要處理系統設計階段還不能完全確定的屬性的物件。這些物件的屬性在系統運

行時會有很大的變更,或者是多個物件之間的屬性存在很大的差異。

比如說乙個學生的表,記錄了一些學生必須有的屬性:年齡身高體重姓名什麼的。但是突然有

一天有乙個人穿越了,他就需要乙個劍術值的資料。通常需要額外兩個表來儲存這種不確定是否

會用會有的屬性。

首先需要乙個屬性模版表,就是不管這個屬性屬於誰,屬於何物,何時,

我只是證明有這麼一條額外屬性而存在。那麼上述的例子當中,屬性模板表當中就

需要新增一條屬性:(屬性**一般給屬性分類用)

id 1 屬性** 1001 屬性名稱 劍術值

但是具體劍術值是多少,這個表不去討論。儲存資料的表稱為額外屬性表,這個

表儲存的字段分別標識

1.這條資料屬於哪個人、物(角色id)

2.這條資料是什麼屬性 (屬性模板id)

3.屬性的具體值是多少 (data)

多對多模式,也是比較常見的一種資料庫設計模式,它所描述的兩個物件不分主

次、地位對等、互為一對多的關係。對於a表來說,一條記錄對應著b表的多條記錄,反過

來對於b表來說,一條記錄也對應著a表的多條記錄,這種情況就是「多對多模式」。

這個主要可以細分成兩種情況。取決於關聯表有沒有業務需求。

**:常見的四種資料庫設計模式

資料庫四種設計模式

1.主擴充套件模式 主擴充套件模式通常用來將幾個相似的物件的共有屬性抽取出來,形成乙個 公共屬性表 且 公共屬性表 與 專有屬性表 是 一對一 的關係。專有屬性表 可以看做是 公共屬性表 的 擴充套件,兩者合在一起就是對乙個特定物件的完整描述,故此得名 主擴充套件模式 物件的個數不多 各個物件之間的...

mysql表的設計模式 資料庫 四種設計模式

主擴充套件模式 一般應用於提取不同型別的物件的共同特徵。比如學校當中,對於上課而言分為 老師和學生,但對於食堂大媽或者門衛大爺而言,就看你是不是校內人員。這是一種包含 關係。即校內人員包括 學生 老師 其他工作人員。如果做乙個簽到系統,就設定校內 人員為user表,老師 學生之類的單獨成表,但是都維...

設計模式筆記 四種模式 四種原則

a.簡單工廠 用乙個單獨的類來做這個建立例項的過程,這就是工廠 不符合開 封閉原剛,每次擴充套件都要更改工廠類 計算器 1.cbxtype.items.addrange new object b,策略模式 定義多種演算法,並分別封裝,之間可以互相替換,演算法的變化不影響到客戶 收銀 context ...