Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2012, 23:35   #1
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию Связь "Один ко многим", как лучше реализовать?

Всем привет.
Вобщем, для простоты - есть две таблицы:
Фильмы:
- ID
- Name
- Year
и таблица
Жанры:
- ID
- Name
Соответственно, если я верно понимаю, то один фильм может быть одного или сразу нескольких жанров.
Только вот вопрос - как реализовать связь между этими таблицами?
Думал в таблицу жанры добавить еще одно поле для хранения ID фильма, но не вариант, ибо при добавлении нового жанра придется и это поле заполнять, что выглядит бредово.
Думал создать еще одну таблицу в которой хранить ID фильма и ID жанра - но это вроде как вариант для связи "многие ко многим" - тоже видимо не катит для моего случая.
Так вот, прошу совета и помощи
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 25.03.2012, 23:52   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Думал создать еще одну таблицу в которой хранить ID фильма и ID жанра - но это вроде как вариант для связи "многие ко многим" - тоже видимо не катит для моего случая.
почему не "катит" то?!

И вы ошибаетесь. Описанная Вами связь как раз и является отношением "МНОГИЕ-КО_МНОГИМ"
(один фильм может иметь несколько жанров, один жанр может принадлежать нескольким разным фильмам).
Обычно (на практике) подобные связи организуются через дополнительную таблицу.
например,
Код:
 
 название таблицы: Films_Ganre
ID,
ID_фильма
ID_Жанра
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.03.2012, 23:53   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Это будет связь многие к многим. Третья таблица с идешками фильмов и жанров

Серж опередил

ADD При таком способе связи идентификатор самой записи таблицы связи в общем и не обязателен. Парочка двух идентификаторов запросто может служить составным уникальным ключем
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 25.03.2012 в 23:57.
Аватар вне форума Ответить с цитированием
Старый 26.03.2012, 00:13   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
ADD При таком способе связи идентификатор самой записи таблицы связи в общем и не обязателен. Парочка двух идентификаторов запросто может служить составным уникальным ключем
полностью согласен!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.03.2012, 01:12   #5
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Цитата:
один жанр может принадлежать нескольким разным фильмам
Вот еще и была подобная мысль, но не знал как ее так выразить правильно...Видимо из-за этого и проблемы возникли дальше...
Вобщем всем спасибо. С проблемой разобрался и что-то даже уже заработало
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение таблиц с со связью "Один ко многим" DenProx Microsoft Office Access 2 04.02.2011 10:24
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
Как реализовать "ретранслятор" запросов через сокеты? Kanaris Работа с сетью в Delphi 3 04.12.2009 16:58
Связь "один ко многим"? M17 SQL, базы данных 5 21.10.2009 15:07
связь один ко многим kate158 БД в Delphi 11 19.06.2009 09:13