2010-10-04 4 views
0

У меня есть следующая таблица - Актер, Актрисы, Режиссер & Кино.От многих до многих отношений

Первые 2 таблицы имеют много разных отношений с кинематографическим столом.

Итак, я создал таблицу Celebrity_Movie, которая имеет первичный ключ всех этих таблиц как внешний ключ.

Так что мой вопрос: как вставить записи в таблицу Celebrity_Movie.

Потому что может быть несколько актеров, актрис в фильме . например В фильме «Гонка» есть несколько актеров & несколько актрис. Итак, как заполнить данные в Celebrity_Movie таблице для фильма «Гонка»?

Actor table 
Actor_id Actor_name 
1  Amitabh 
2  Akshay kumar 
3  Hritik roshan 
4  Amir khan 
5  R. Madhavan 
6  Sharman joshi 
7  Ajay devgan 
8  Tushar 
9  Arshad varsi 

Actress 
Actress_id Actress_name 
1   Aishwairya 
2   Katrina 
3   Bipasha 
4   Sameera reddy 
5   Kareena 
6   Amrita rao 

Director 
Direct_id Direct_name 
1   Abbas_Mustan 
2   Priyadarshan 

Movie 
Movie_id Movie_name 
M1  Race 
M2  Golmal2 
M3  3 Idiots 
+0

Какую базу вы используете? –

ответ

1

Вам нужны три таблицы отношений «многие ко многим», потому что вы хотите связать таблицы режиссера, актера и актрисы с фильмами.

Есть несколько способов сделать это:

1) Вероятно, лучше всего просто создать три различных таблиц отношений:

Actors_Movies 
    id 
    actor_id # foreign key 
    movie_id 

Actresses_Movies 
    id 
    actress_id 
    movie_id 

Directors_Movies 
    id 
    director_id 
    movie_id 

Другие способы являются более сложными, когда один присоединиться к таблице используется для различные типы объединений (Актер, Актриса, Директор). Для начала я рекомендую три таблицы Join.

Добавлено Если вы хотите, чтобы многие-ко-многим для актера/актрисы, самый простой способ, чтобы переопределить «Talent» таблицы вместо таблиц Актер/Актриса обрабатывать как:

Talent table 
    id 
    name 
    actor # boolean: true means an actor, false means an actress 

Talent_Movie # many to many 
    id 
    talent_id 
    movie_id 
1

Как уже говорилось ранее, вам нужны три таблицы «многие-ко-многим».

Возможно, вам предлагается использовать только один стол человека и включить пол человека. Кроме того, вы можете добавить «роль» в таблицу отношений, чтобы указать, какую роль у него есть (актер/режиссер и т. Д.) В данном фильме.

+0

Роль - хороший план, потому что ... ну, Клинт Иствуд, например, снялся и снялся в собственных фильмах несколько раз сейчас ... –