【问题标题】:Which database structure is better? [duplicate]哪种数据库结构更好? [复制]
【发布时间】:2021-03-30 09:16:43
【问题描述】:

我想按曲目长度列出所有艺术家的曲目。

artists     albums        tracks
----------  ------------  ------------
id          id            id
name        artist_id     album_id
            name          name 

artists     albums        tracks
----------  ------------  ------------
id          id            id
name        artist_id     album_id
            name          artist_id
                          name

第一个数据库中的数据较少,但第二个数据库中的查询更容易。哪个更好?

【问题讨论】:

  • 您确定每张专辑只有一位艺术家吗?
  • 将专辑移至其他艺术家,您也需要在第二张专辑中更新曲目
  • 这里需要定义所有的规则。例如,是否存在由一位艺术家制作但在另一位艺术家的专辑中的曲目?每首曲目可以有多个艺术家吗?每张专辑可以有多个艺术家吗?一个曲目可以属于多个专辑吗?

标签: mysql


【解决方案1】:

第一个想法是最好的(在我看来)。

在这种情况下,您避免了第二个中的冗余,从而避免了数据库中的不一致问题。

【讨论】:

    猜你喜欢
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多