2016-03-06 2 views
0

я создал 3 таблицы в музыкальных треков базы данных Track (идентификатор, альбом, жанр) Альбом (идентификатор, название) Внесенный (исполнитель, трек, роль)Как определить внешний ключ в MySQL

Я выбрал Id как первичные ключи для первой таблицы (я бы, альбом) для второй таблицы.

Нужен ли мне первичный ключ в моей третьей таблице? Каков мой внешний ключ? Как указать свой внешний ключ? Каковы уникальные идентификаторы в моей третьей таблице? Я попытался заполнить его, используя дорожки в качестве внешнего ключа (ссылка на таблицу треков, столбец id), но это дает мне ошибку. Может ли кто-нибудь помочь?

+1

Ваш проект базы данных хорош (я пропустил номер трека в таблице «Трек»). Правильный внешний ключ, который вы пытаетесь создать. Что такое сообщение об ошибке? –

ответ

0

Для третьей таблицы, мы можем иметь два внешние ключи:

  • REFERENCING художник таблицу (предполагая, что у нас есть таблица художника с идентификатором и именем).
  • Ссылка на таблицу треков.

Синтаксис внешнего ключа должен выглядеть следующим образом (в создании таблицы сценария):

CONSTRAINT fk_contributed_track FOREIGN KEY 
REFERENCS track(id) 

Here является примером создания таблицы сценария с внешним ключом.

Что касается первичного ключа, это зависит от бизнес-правил (т. Е. Может ли один художник иметь несколько ролей для трека). Однако для простой конструкции я бы рекомендовал иметь цифровой ключ auto increment.

+0

Отлично! Это сработало! Благодарю. – Mariana

+0

Буду признателен, если вы сможете принять мой ответ, так как это вам помогло. –

Смежные вопросы