这看起来像是一个合适的数据库设计吗?

Does this look like a proper database design?

我已经工作了几个星期,试图了解设计合适的数据库结构的所有细节。经过多次尝试,我认为我可能拥有被认为正确的东西。但是我怀疑我是否正确地连接了表和外键设置。我正在处理的数据库由几个关系组成,所有关系都围绕 song_title。链接的图像是我目前拥有的。这看起来对吗?

每首歌可以有多种颜色。

一种颜色只能有一组值。

每个颜色值只有一组 dmx 值。

每个颜色值只有一组百分比值。

每首歌只能有一种心情。

每种心情可以应用于多首歌曲。

每首歌只能有一个time_signature。

每个 time_signature 可以应用于多首歌曲。

每首歌只能有一个编曲。

每个编曲可以应用于多首歌曲。

每首歌只能有一个速度。

每个速度可以应用于多首歌曲。

每首歌只能有一个fire_cue。

每个 fire_cue 可以应用于多首歌曲。

一首歌曲可以有多个mp3文件。

每个mp3只能属于一首歌曲。

一首歌曲可以有多个img文件。

每个img只能属于一首歌曲。

没有正确正确的数据库设计方法。您在此处拥有的内容看起来经过深思熟虑,可能是一种根据您的需要设计数据库的方法。比回答这是否是一个正确的数据库设计(任何人都可以给出他们的意见并且他们可能都不同)更重要的是数据库是否适用于您的基础设施设计。

您是打算使用这个数据库还是只是在搞 ERD 和设计?如果您打算使用它,您可能会发现您的复杂性可能太高了。您可能会发现您拥有 'created' 的关系并不需要存在(甚至整个表或实体也是如此)。很难回答您的问题,因为您将在答案中收到意见。我认为你开始编写你的程序和编写查询并调用你存储在数据库中的信息来真正发现你的数据库设计是否理想是很重要的!