我这里有4张表,它们的关系如下:
对于“band”表,我有 4 列:id、band_name、first_name、last_name。 (名字和姓氏指的是“独立艺术家”表中的列)。
对于“独立艺术家”,我有 3 列:id、first_name、last_name。
对于“act”表,我有 3 列:id、表演者、音乐。这里的调香师,我想指的是乐队和独立艺术家表。
对于“音乐”表,我有 3 列:id、song_name、release_year。
我也在这里预测 future 的变化,例如如果乐队中的团队成员想要更改他的姓氏,它会同时影响“乐队”和“独立艺术家”表。
直觉上我认为我的解决方案不好,谁能为表格提供更好的设计?谢谢。
最佳答案
这是我的建议:
波段表:
- band_id 公钥
- 乐队名称
艺术家表:
- artist_id 公钥
- 名字
- 姓氏
乐队成员表:
- band_id FK
- artist_id FK
行为表:
- act_id 公钥
- band_id FK
音乐表:
- music_id 公钥
- 歌曲名
- 发布年份
Act_Contents 表:
- act_id FK
- music_id FK
不需要单独的 Independent Artists
表。就把他们当成只有一个成员的乐队吧。而且您应该始终使用 ID 作为外键,这样您就不必担心在属性更改时更新引用;您只需更改一处,引用不受影响。
关于mysql - 如何让单列引用多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22157122/