根據需求分析,我們決定使用以下資料庫表格來儲存部落格應用程式的持久性資料
tbl_user
儲存使用者資訊,包含使用者名稱與密碼。tbl_post
儲存部落格文章資訊。主要包含以下欄位title
:必填,文章標題;content
:必填,文章內文,使用 Markdown 格式;status
:必填,文章狀態,可以是以下其中一個值tags
:選填,以逗號分隔的單字列表,用於文章分類。tbl_comment
儲存文章留言資訊。每個留言都與一篇文章關聯,主要包含以下欄位author
:必填,作者姓名;email
:必填,作者電子郵件;url
:選填,作者網站網址;content
:必填,留言內容,純文字格式。status
:必填,留言狀態,表示留言是否已核准(值為 2)或未核准(值為 1)。tbl_tag
儲存文章標籤頻率資訊,用於實作標籤雲功能。此表格主要包含以下欄位name
:必填,唯一的標籤名稱;frequency
:必填,標籤在文章中出現的次數。tbl_lookup
儲存通用查詢資訊。本質上是整數值與文字字串之間的對應。前者是我們程式碼中的資料表示,後者是對應於終端使用者的呈現。例如,我們使用整數 1 代表草稿文章狀態,並使用字串 Draft
向終端使用者顯示此狀態。此表格主要包含以下欄位name
:資料項目的文字表示,將顯示給終端使用者;code
:資料項目的整數表示;type
:資料項目的類型;position
:相同類型資料項目中,此資料項目的相對顯示順序。以下實體關係 (ER) 圖顯示了上述表格的表格結構與關係。
部落格資料庫的實體關係圖
對應於上述 ER 圖的完整 SQL 陳述式可以在 部落格示範 中找到。在我們的 Yii 安裝中,它們位於檔案 /wwwroot/yii/demos/blog/protected/data/schema.sqlite.sql
中。
資訊: 我們的所有表格名稱與欄位名稱都使用小寫。這是因為不同的 DBMS 通常具有不同的區分大小寫處理方式,而我們想要避免這類問題。
我們也在所有表格名稱前加上
tbl_
前綴。這有兩個目的。首先,當這些表格需要與同一個資料庫中的其他表格共存時,前綴會為這些表格引入命名空間,這在多個應用程式使用單一資料庫的共享主機環境中經常發生。其次,使用表格前綴降低了某些表格名稱成為 DBMS 中的保留關鍵字的機率。
我們將部落格應用程式的開發劃分為以下里程碑。
發現錯字或您認為此頁面需要改進?
在 github 上編輯 !
註冊 或 登入 以發表評論。