考虑这样的场景:一首歌曲(Song)可能由不同的调教师(Producer)分别调教不同的虚拟歌手(Singer),或者一个调教师使用了多个声库(Vocal Library),现有表结构不足以表示这种关系。另外还缺少专辑(Album)实体,制作人关联(relationsProducer)还缺少工作类型(Job)关系。
建议如下:
1.新增“声库(Vocal Library)”表:作为独立实体,关联到歌手(Singer)。
2.将“调教”行为独立于制作人关系(relationsProducer),建议创建一个专门的关联表(例如 relationsTuning),用于记录 (Song, Producer, Vocal Library) 的三元关系,以表示“哪位调教师使用了哪个声库参与了哪首歌”。
3.新增“专辑(Album)”表:并建立歌曲与专辑的关系(一首歌可属于多张专辑,一张专辑包含多首歌)。
4.在 relationsProducer 表中增加 job 字段,以区分制作人在一首歌中的具体职责。
Translated by LLM:
Consider the following scenario: a Song may involve different Producer working on different virtual Singers, or a single tuner may use multiple vocal libraries The current table structure is insufficient to represent these relationships. Additionally, the Album entity is missing, and the table relationsProducer lack a job type relationship.
Proposed changes:
Add a "Vocal Library" table: As an independent entity linked to the virtual singer .
Separate the "tuning" activity from the producer relations (relationsProducer). It is recommended to create a dedicated junction table (e.g., relationsTuning) to record the ternary relationship (Song, Producer, Vocal Library), representing "which tuner used which vocal library on which song."
Add an "Album" table: Establish relationships between songs and albums (a song can belong to multiple albums, and an album can contain multiple songs).
Add a "job" field to the relationsProducer table to specify the producer's specific role on a song.
Song 1 : n Producer
Song 1 : n Singer
Song 1 : n Vocal Library
Song 1 : n (Producer n : n Vocal Library)
Singer 1 : n Vocal Library
Album n : n Song
考虑这样的场景:一首歌曲(Song)可能由不同的调教师(Producer)分别调教不同的虚拟歌手(Singer),或者一个调教师使用了多个声库(Vocal Library),现有表结构不足以表示这种关系。另外还缺少专辑(Album)实体,制作人关联(relationsProducer)还缺少工作类型(Job)关系。
建议如下:
1.新增“声库(Vocal Library)”表:作为独立实体,关联到歌手(Singer)。
2.将“调教”行为独立于制作人关系(relationsProducer),建议创建一个专门的关联表(例如 relationsTuning),用于记录 (Song, Producer, Vocal Library) 的三元关系,以表示“哪位调教师使用了哪个声库参与了哪首歌”。
3.新增“专辑(Album)”表:并建立歌曲与专辑的关系(一首歌可属于多张专辑,一张专辑包含多首歌)。
4.在 relationsProducer 表中增加 job 字段,以区分制作人在一首歌中的具体职责。
Translated by LLM:
Consider the following scenario: a Song may involve different Producer working on different virtual Singers, or a single tuner may use multiple vocal libraries The current table structure is insufficient to represent these relationships. Additionally, the Album entity is missing, and the table relationsProducer lack a job type relationship.
Proposed changes:
Add a "Vocal Library" table: As an independent entity linked to the virtual singer .
Separate the "tuning" activity from the producer relations (relationsProducer). It is recommended to create a dedicated junction table (e.g., relationsTuning) to record the ternary relationship (Song, Producer, Vocal Library), representing "which tuner used which vocal library on which song."
Add an "Album" table: Establish relationships between songs and albums (a song can belong to multiple albums, and an album can contain multiple songs).
Add a "job" field to the relationsProducer table to specify the producer's specific role on a song.