Скажем, у меня есть две таблицы, которые могут иметь связанные с ними «теги». С потенциально больше в будущем.Создание связей «taggable»
треков - id
, title
, artist
, etc...
художников - id
, name
, description
, etc...
Я хочу, чтобы иметь возможность иметь общую таблицу называемые 'метки'
теги - id
, title
, description
Как бы я построить соединяющую таблицу, чтобы создать отношения? Возможно ли, чтобы внешние ключи были применимы как к таблице artists
, так и к tracks
?
Я думал о структуре, аналогичной:
tag_relations - tag_id
(внешний ключ tags.id
) item_id
(либо artists.id
или tracks.id
)
Является ли это плохой дизайн, не имея какой-либо иностранной целостность ключа на item_id
?