Blog資料庫設計之Tags表設計

2022-02-05 23:08:54 字數 832 閱讀 9352

blog中一篇文章可以有多個tag,乙個tag也可能包含很多文章,關於什麼是tag,您可以先看看

這篇文章

。tag在使用過程中會有以下的幾種操作:

1、新增

2、刪除

就這個問題我諮詢過不少同行,大部分的回答是在文章表中建立乙個存貯tag id的字串型別字段,每個tagid之間使用特殊字元分割,但我覺得這不是乙個好的方法,違反了資料庫使用的初衷,前幾天受同學一句話的提醒,想出了下圖中的這種模型:

為了更明白的說清關係,圖中的字段沒設定太多,主要是中間加了個articlerelation表,用來記錄tags和aritcles之間的對映關係,每個關係一條記錄。

用下面的select可以選出一篇文章的所有tags:

select tags.name from tags

join articlerelation

on tags.id = articlerelation.tagid

join articles

on articles.id=articlerelation.articlesid

用下面的select可以選出乙個tag下面的所有文章:

select articles.id,articles from articles

join articlerelation

on articles.id=articlerelation.articlesid

join tags

on tags.id = articlerelation.tagid

資料庫設計經驗之 表的設計

1 定義一些字典表,在命名字段並為其指定資料型別的時候要保證一致性,可以在字典表裡定義常用字段的名稱 型別 列舉值及其對應的意思。列舉值可以用整型 有大小關係,例如 許可權級別 或短字元 便於擴充,例如 渠道標識 這樣在實際表記錄中字段值可以較小,對於大表可以省空間,同時提高表掃瞄的效率。2 盡量不...

資料庫表設計

在軟體的開發中,資料庫表的設計是十分基礎和重要的工作。資料庫表是軟體具體實現的基石,如果表設計的不合規範就會出現資料冗餘,跟業務脫節等問題,等出現問題後再做大的調整相應的依賴表的編碼測試等工作也會進行大的調整這樣就會造成極大的資源消耗。因此在專案一開始設計表的時候就要注意表設計的規範性問題。資料庫 ...

資料庫表設計

什麼是設計三正規化 1.1 設計表的依據 按照這個三正規化設計的表不會出現資料冗餘 三正規化都有哪些 第一正規化 任何一張表都有乙個主鍵,並且每乙個字段原子性不可以再分 例子不滿足第一正規化 學生標號 學生姓名 001jaden zjl 123.com,13029199039 002haoyue w...