gpt4 book ai didi

database - 我应该为每张专辑制作单独的表格吗?

转载 作者:搜寻专家 更新时间:2023-10-30 22:24:43 26 4
gpt4 key购买 nike

我正在 MySQL 中进行一个关于音乐和专辑的数据库项目,我在其中列出了一些流行艺术家、他们最畅销的专辑以及其中包含的歌曲。但是当涉及到为每张专辑填写歌曲名称时,我突然不确定该怎么做。我应该为每个歌曲列表制作一个单独的表格,还是应该将来自所有不同艺术家(5 位不同艺术家)的所有歌曲(所有专辑中总共约 50 首)填写在同一张表格中(我是最终要导出数据并将其连接到 PHP 文件夹

希望问题很清楚

最佳答案

所有歌曲都应该在一个“歌曲”表中。然后,您在该表中创建一个列“Album ID”,它是返回专辑表中 ID 列的外键。这就是您知道哪首歌属于哪张专辑的方式。 (当然你在“专辑”和“艺术家”之间也有同样的关系。)

这称为“一对多”关系,是关系数据库设计的基本原则之一。

如果您发现自己创建了多个表来表示同一类型的数据项,那么您就知道自己做错了。

注意如果您想支持同一首歌曲(或轨道,更准确地说,因为一首歌曲的许多不同录音可能会被制作)可以包含在多个专辑中的想法,那么您需要实现“许多-to-many”关系,在“专辑”和“歌曲”之间有一个额外的表,其中包含专辑 ID 和歌曲 ID。每个都将分别是返回专辑和歌曲表的外键。并且为了确保不重复,这两个字段都将被指定为复合主键。这样您就可以针对不同的专辑多次在该表中列出相同的歌曲 ID。如果您想在“艺术家”和“专辑”之间的关系中拥有这种灵 active ,同样如此。

这可能是休息一下并更详细地研究关系数据库设计和数据规范化概念的好时机,然后您可以开始亲自了解这些模式并在您的模式设计中做出正确的决定。

关于database - 我应该为每张专辑制作单独的表格吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54905886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com