特定数据库规范化 - 作者/文档

时间:2013-10-17 16:14:22

标签: database normalization

我熟悉数据库规范化技术,但我正在努力应对某种情况。我有近100份文件,每份都至少有一位作者。我想创建一些功能,用户可以询问特定于作者的文档,特定于年份,或者仅显示所有文档。我正在努力的部分是根据作者或作者的文件请求。

这是我的关系细分:作者有很多文件,文件有很多作者,文件有一年,文件有一个标题。这就是我必须要做的事情。

到目前为止,这是我的关系表:

作者表

+----------+-------------+
|   id     |   name      |
+----------+-------------+
|    1     | David Noyce |
+----------+-------------+

文件表

+----------+--------------------+----------+-----------+-----------+
|   id     |       title        |  BLOB    |   Year    |   ????    |
+----------+--------------------+----------+-----------+-----------+
|    1     |   Car Crashes, WI  |  stuff   |   2013    |     ?     |
+----------+--------------------+----------+-----------+-----------+

我假设我希望作者ID(s)成为我的????在我的文档表中,如果每个文档只有一个作者,那可能会很好地工作,但事实并非如此。将文档与许多作者联系起来的最佳方式是什么?

1 个答案:

答案 0 :(得分:3)

您只需添加一个联结表,允许文档和作者之间存在一对多或多对多的关系。

documentAuthor
--------------
documentId
authorId