2013-10-17 25 views
0

我熟悉数据库规范化技术,但我正在努力处理某种情况。我有近100个文件,每个文件至少有一个作者。我想创建功能,用户可以向作者查询特定于文档的文档,具体到多年,或者直接显示所有文档。我正在努力的部分是根据一个或多个作者的文档请求。特定数据库规范化 - 作者/文档

这里是我的关系细目:作者有很多文件,文件有很多作者,文件有一年,文件有一个标题。这是我必须与之合作的。

这里是我的关系表迄今:

作者表

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

文件表

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

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

回答

3

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

documentAuthor 
-------------- 
documentId 
authorId
+0

您的意思是“多对多”? – RBarryYoung

+0

@RBarryYoung我相信我的意思是两个;更新。 – Kermit