两个DB表与一个DB表

时间:2008-11-26 03:06:27

标签: database-design

我有一张音乐专辑表。我有第二张专辑封面表。不幸的是,并非每张专辑都有一些专辑艺术数据。因此,我需要在音乐和专辑艺术之间进行外部联接。

假设:两个表只包含int和varchars ..没有blob等。

问题

  • 将两个表合并为一个表以减少外连接要求是否更好?

3 个答案:

答案 0 :(得分:6)

我可以看到将它们保存在单独的表中的唯一原因是,如果一个相册可以包含多个艺术作品。如果每张桌子只包含,并且只会包含1件艺术品,那么将它们粘贴在同一张桌子上应该没问题。如果要在许多不同的实例中连接这两个表,则可能需要创建一个视图以简化SQL语句。

答案 1 :(得分:1)

只需使用一个表,对于没有艺术品的专辑,使用空值。我没有看到有第二张桌子的任何优势......除非你有很多共享相同艺术的专辑。

答案 2 :(得分:1)

在这种情况下,两张桌子通常意味着一对一的关系,这可能不是你想要的,虽然我猜有些专辑有多个艺术品。

所以理论上你应该将表合并为一个,除非你有一个很好的理由将它们分成两个。你为什么要把它们当成两张桌子?