我正在开发一个小型音乐网站。我是一名前端开发人员,对数据库的了解不多。我想出了这个网站的数据库设计。你能建议改进它吗?
我可能有几个问题是..
- 如何更改它以支持多位艺术家对一首歌曲?
- 歌曲表中可以有专辑还是必须是单独的表?我认为我没有任何其他关于专辑的内容要存储,但将专辑放在歌曲表中是否不切实际?
非常感谢。
我正在开发一个小型音乐网站。我是一名前端开发人员,对数据库的了解不多。我想出了这个网站的数据库设计。你能建议改进它吗?
我可能有几个问题是..
非常感谢。
在我的脑海中,我可能会选择这样的东西:
该数据模型具有以下特点:
对于一首歌曲的多个艺术家,您可以有一个单独的表,其中每一行都有该歌曲中艺术家的歌曲 ID 和艺术家 ID,因此带有多个艺术家的歌曲的 ID 将有一行带有该歌曲 ID 的每个艺术家。典型的 N 对 N 关系构建。
至于将专辑(可能是名称)放在歌曲表中,如果您没有关于专辑的任何其他信息,那么它在自己的表中看起来有点傻。但是,只要您拥有除名称以外的任何专辑特定信息(例如,专辑的发行日期可能与其单首歌曲的发行日期不同;此外,一首歌曲可以出现在多个专辑中),您会有麻烦了。
如果您想让一首歌曲有多个艺术家,您需要在艺术家和歌曲之间有另一个表,其中包含一首歌曲和一个艺术家 ID。
我还建议为专辑制作一个自己的表格,如果您实际上没有任何东西可以存储在其中,因为编辑标题名称非常容易,您可以在一个地方完成。而且我可以想象将图像存储到相册中会很有趣;)
此外,尽管用户名是唯一的,但通常总是使用整数作为主键。