Автор Тема: Ассоциация одной записи с несколькими записями из другой таблицы  (Прочитано 4394 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Есть запись в таблице (table1) , которая должна быть проассоциирована с несколькими записями из другой таблице (table2). Например, таблица фильмов, каждый из которых относится к нескольким жанрам.

Кто как решает подобные задачи?

Хранить в определенном поле таблицы table1 идентификаторы из table2, к которым  относится данная запись, разделенными запятой?

Или заводить третью таблицу в которой будут только два поля
Key1 и key2 и в ней, соответственно, хранить все ассоциации?

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля

Оффлайн Z@

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Я делаю так.
В таблице жанром есть поля: название жанра и его ид
в таблице фильмов поля: ид, ид жанра, название фильма
 - Независимый учет кликов

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Z@
ну и как у тебя фильм может иметь несколько жанров ?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Z@

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Разве такое бывает?
обычно у жанра несколько фильмов. Если связи типа много ко много то тогда надо 3-ю таблицу делать. А если много к одному то хватит и двух.
 - Независимый учет кликов

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Z@
ты вопрос автора темы внимательно прочитал ?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
А правильно ли в таком случае получать список жанров для работы с ним таким путем:

$q
=mysql_query("SELECT genre FROM id_genres WHERE id=".$id);
while (
$x=mysql_fetch_row($q)) $arr[]=$x;

?

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Z@
hanslinger

И при чем тут Subj?

tserbis
Спасибо, так и сделал.
И удалять связи при удалении записей проще, и отслеживать ассоциации проще.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28