首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过多个表保证FK关系

通过多个表保证FK关系
EN

Database Administration用户
提问于 2013-08-20 21:02:18
回答 1查看 74关注 0票数 0

我使用MySQL / InnoDB,并使用外键来保存跨表的关系。在下面的场景(下面描述)中,“管理器”与“记录标签”相关联,“艺术家”也与“记录标签”相关联。创建“专辑”时,它与“艺术家”和“经理”相关联,但艺术家和管理人员都需要与同一recordLabel相关联。如何保证与当前表设置的关系,或者是否需要重新设计表?

EN

回答 1

Database Administration用户

发布于 2013-09-20 12:02:04

为了执行我认为您所要求的内容(在制作专辑时,艺术家和经理应该在同一家公司工作),同时允许艺术家和经理在他们的职业生涯中四处走动,您可以尝试将艺术家<-> manager <->标签关系考虑为专辑链接的一个实体:

代码语言:javascript
复制
Artist                   ArtistManager
=============            ==============
ArtistID (PK) <--------- ArtistID  (FK)      Album
                  .----- ManagerID (FK)      ============
                  |  .-- LabelID   (FK)      AlbumID (PK)
Manager           |  |   AMCID     (PK) <--- AMCID   (FK)
==============    |  |
ManagerID (PK) <--'  |
                     |
                     |
Label                |
============         |
LabelID (PK) <-------'

尽管我怀疑这些要求可能存在缺陷:可能有多位艺术家在一张专辑上进行协作,在这种情况下,可能有一个经理,或者他们可能在某个特定项目下工作,如果他们当时可能并不都为同一张唱片工作(跨标签项目并非闻所未闻)。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/48435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档