php - 为什么论坛数据库不在 3rd NF 中?

标签 php mysql sql database forum

我查看了一些重要的论坛,例如 SMF 论坛、PhpBB 或 VBulleting 论坛,我意识到它们不在 3rd FN 中。

他们有很多 NULL 字段,例如,在 SMF 论坛中,成员行可以将所有这些列都设置为 NULL:

pm_ignore_list, messageLabels, personalText, websiteTitle, websiteUrl, location, ICQ, AIM, YIM, MSN, timeFormat, userTitle, notifyAnnouncements, secretQuestion, secretAnswer, validation_code, additionalGroups, smileySet

所以...假设 18 个字段在表的任何行中都可以为 NULL。 那不是 3rd NF...

他们为什么这样做?我相信他们对 BD 了解很多...... 谢谢。

最佳答案

非规范化的首要原因是性能,这是许多论坛中臭名昭著的问题。

最初 SQL 的设计目的不是为了轻松地存储分层数据,并且有许多不太理想的模式设计试图解决此限制。

关于php - 为什么论坛数据库不在 3rd NF 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10232145/

相关文章:

php - 我想使用 fpdf 增加特定的列宽

sql - 如何检查表中的列数据是否存在于同一个表中?

sql - 查询存储过程的结果

sql - 根据单一标准从两个表中计数

php词过滤功能?

php - 使用 Laravel 4 创建搜索功能

php - IIS PHP 使用 Windows 身份验证连接到 MSSQL

php - GMail LDAP 身份验证?

php - 我正在计算答案,但不知道如何自动化

php - 看不到基于alpine linux的wordpress docker容器的启动安装页面