структура таблицы бд

KotOFF

Новичок
Есть таблица фильмов:
id - 1 title - один дома
id - 2 title - другой фильм
id - 3 title - один дома 2
Вопрос: нужно создать вторую таблицу "приквелы и сиквелы фильмов", что бы объединить фильмы, для примера
film_id - 1
film_id - 3
В этой таблице нужно еще одно поле, по которому можно было бы выводить приквелы сиквелы определенного фильма. Вопрос в том, каким значением заполнять это поле??? Генерировать случайный набор букв и цифр для определенных фильмов, то есть
film_id - 1 key a1b2c3d4
film_id - 3 key a1b2c3d4
Или можно решить этот вопрос как то по другому???
 

Andkorol

Новичок
В этой таблице нужно еще одно поле, по которому можно было бы выводить приквелы сиквелы определенного фильма. Вопрос в том, каким значением заполнять это поле???
Заполнять идентификатором этого самого определенного фильма.
«Основной» фильм ведь не может быть сам себе же приквелом или сиквелом – это уже в дополнение/продолжение к нему потом снимают приквелы/сиквелы.
 

KotOFF

Новичок
Если у меня будет например 3 фильма и больше, как с этим быть???ваш пример выглядел бы вот так:
film_id - 1 key - 1
film_id - 3 key - 1
film_id - 100 key - 1
Но теперь я не смогу узнать что фильм 100 есть приквелом фильма 3 и наобород, как с этим быть???
 

Andkorol

Новичок
Но теперь я не смогу узнать что фильм 100 есть приквелом фильма 3 и наобород, как с этим быть???
Если фильм 100 является приквелом фильма 3 – то в таблице так и должно быть прописано:
film_id - 100 key - 3

Вообще, тебе стóит определиться с понятиями «сиквел», «приквел», и отношениям между ними – в рамках текущей задачи.
Возможно, придется вводить ещё и явный указатель непосредственно на тип отношений между фильмами – являются ли эти отношения сиквелом, или же приквелом.
В БД также без проблем можно указывать несколько отношений между объектами:
film_id - 100 key - 1
film_id - 100 key - 3
Но будет ли это правильным с точки зрения хронологии и временных отношений между фильмами одной сюжетной линии – вот в этом я не уверен.
Скорее всего, несмотря на возможное неограниченное количество связанных фильмов в сюжетной серии, прямая связь между эпизодами в большинстве случаев будет 1:1.
 

KotOFF

Новичок
Я думал сделать как в описании темы, при добавлении приквела создаем в таблицы "связи" 2 фильма с общим ключем, при добавлении к этим фильмам нового приквела создаем тот же ключ. Думаю так будет правильней???
 

WMix

герр M:)ller
Партнер клуба
фильмы складываешь в таблицу фильмов. вторая табличка просто связь между фильмами
id1, id2, type поле тип не обязательно но можешь более детально описать свою cвязь.
 

KotOFF

Новичок
фильмы складываешь в таблицу фильмов. вторая табличка просто связь между фильмами
id1, id2, type поле тип не обязательно но можешь более детально описать свою cвязь.
В вашем варианте будет связь каждый с каждым! я думаю можно реализовать это как то иначе???
 

Adelf

Administrator
Команда форума
@KotOFF, наадо ввести отдельную таблицу... франшиз чтоли. и будет

франшиза - Один дома - id 1

фильмы:
Один дома 1 - id_франшизы - 1. Можно еще порядковый номер в ней.. чтобы показывая все фильмы одной франшизы показать их в правильном порядке.
Один дома 2 - id_франшизы - 1
 

KotOFF

Новичок
@KotOFF, наадо ввести отдельную таблицу... франшиз чтоли. и будет

франшиза - Один дома - id 1

фильмы:
Один дома 1 - id_франшизы - 1. Можно еще порядковый номер в ней.. чтобы показывая все фильмы одной франшизы показать их в правильном порядке.
Один дома 2 - id_франшизы - 1
И я об этом. Франшиза - это и есть 2 поле во второй таблице, об этом я и говорил в описании темы! Трудность будет только в запросе, нужно будет вывести связанные фильмы по второму полю, то есть ключу, пример:
film_id - 1 key - 1
film_id - 3 key - 1
film_id - 100 key - 1
мы знаем что эти 3 фильма связаны по определенному ключу, зашли на страницу с фильмом id 3, нужно одним запросом вывести сиквелы и приквелы фильма id 3, то есть id 1 и id 100
помогите составить запрос??
 

Adelf

Administrator
Команда форума
select from films where type = type того фильма, который ты выводишь.

Не показывать текущий фильм в этом списке можешь хоть в запросе(AND id <> 3) хоть потом в PHP уже отфильтровать
 

KotOFF

Новичок
подумай еще раз
Я думаю так:
film_id - 1 key - ключ 1
film_id - 3 key - ключ 1
film_id - 100 key - ключ 1
film_id - 55 key - ключ 2
film_id - 77 key - ключ 2
зашел на страницу с фильмом ай ди 3 ( я знаю что сиквели приквелы этого фильма ай ди 1 и ай ди 100), теперь нужно одним запросом вывести эти 2 приквела сиквела. Это можно реализовать если по айди фильма 3 узнать ключ связи, а уже потом вывести по этому ключу фильмы ай ди 1 и 100, только это 2 запроса( я думаю что все это можно реализовать одним запросом, только вопрос как??? Помогите с запросом???
 

Adelf

Administrator
Команда форума
делай два запроса. заколебали экономить на спичках. у тебя пока слишком мало опыта, чтобы понимать где надо экономить, а где не надо.
 
Сверху