根据对需求的分析,我们决定使用以下数据库表来存储博客应用程序的持久数据
tbl_user
存储用户信息,包括用户名和密码。tbl_post
存储博客文章信息。它主要包含以下列title
:必需,文章标题;content
:必需,文章正文内容,使用 Markdown 格式;status
:必需,文章状态,可以是以下值之一tags
:可选,用于对文章进行分类的逗号分隔词列表。tbl_comment
存储文章评论信息。每个评论都与一篇文章相关联,并且主要包含以下列author
:必需,作者姓名;email
:必需,作者电子邮件;url
:可选,作者网站 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 上编辑它 !
注册 或 登录 才能评论。