【发布时间】:2014-09-23 20:49:33
【问题描述】:
好的,关于这个主题的最后一篇文章(我希望)。我一直在尝试研究我一直在构建的网站中表格的规范化,老实说我一直在努力解决它,但是在我上一篇文章之后,似乎我终于掌握了它并设置我的桌子正常。
但是,还有一个问题。如果我创建一个看似第 3 范式的表格,如果数据与该特定表格相关,是否可以接受有空白区域或空单元格?举个例子吧:
在新闻网站上我有一个Authors_Table
+----+-----------+----------+-----------------+-------------------+---------+----------+---------+
| ID | FIRSTNAME | SURNAME | EMAIL | BIO ( REQUIRED ) | TWITTER | FACEBOOK | WEBSITE |
+----+-----------+----------+-----------------+-------------------+---------+----------+---------+
| 01 | Brian | Griffin | brian@gmail.com | About me... | URL | | URL |
| 02 | Meg | Griffin | meg@gmail.com | About me... | URL | | |
| 03 | Peter | Griffin | peter@gmail.com | About me... | | URL | URL |
| 04 | Glen | Quagmire | glen@gmail.com | About me... | URL | URL | |
+----+-----------+----------+-----------------+-------------------+---------+----------+---------+
这将用于article 页面,以提供有关作者的一些详细信息,这在报纸和现代博客中很常见。现在最后 3 列 Facebook, Twitter, Website 显然与作者相关,因此与 PK (ID) 相关。正如你所知道的,并不是每个人都有 twitter 或 wesbite 或 facebook,所以这些单元格的内容相当灵活,因此在某些情况下显然会出现空单元格。
有人建议用另一种方式做,所以我制作了:
链接
+----+-------------------+
| ID | TYPE |
+----+-------------------+
| 01 | Facebook |
| 02 | Twitter |
| 03 | Website |
+----+-------------------+
作者链接
+----------+--------+------+
| AUTHOR | TYPE | LINK |
+----------+--------+------+
| 01 | 01 | URL |
| 01 | 02 | URL |
| 01 | 03 | URL |
| 02 | 02 | URL |
| 02 | 03 | URL |
| 03 | 01 | URL |
+----------+--------+------+
现在我理解了这个概念,但是拥有和使用原始表不只是“正确”吗?可以使用表单和 php 进行更新:
$update_link_sql = "UPDATE authours SET facebook = ' NEW VALUE ' WHERE id = '$author_id'";
$update_link_res = mysqli_query($con, $update_links_sql);
【问题讨论】:
标签: php mysql sql normalization