Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: таблица связей
 
 автор: ШИМ   (07.04.2007 в 15:39)   письмо автору
 
 

Как одолеть связь МНОГИЕ ко МНОГИМ?
Ввести таблицу связей, ни соображу как это работает?
к примеру
Есть таблица заказов

таблица  ORDERS
id_order  ....    ....   
   1          ....    ....    
   2
   3


и таблица книг!

таблица   BOOK
id_book     name
   4             .......
   5
   6

В ЗАКАЗЕ МОЖЕТ БЫТЬ НЕСКОЛЬНО КНИГ, Ввожу ПРОМЕЖУТОЧНУЮ ТАБЛИЦУ СВЯЗЕЙ
Допустим в 1ом заказе 2 книги, 4я и 5я, как это вставить в таблицу связей

таблица ORDER_BOOK

 id          id_order     id_book
 1                1
 2
 3


КАКИМ ОБРАЗОМ ДАННЫЕ ВСТАВЛЯЮТСЯ В ТАБЛИЦУ СВЯЗЕЙ, КАК РАБОТАЕТ???

   
 
 автор: ШИМ   (07.04.2007 в 16:32)   письмо автору
 
   для: ШИМ   (07.04.2007 в 15:39)
 

Непойму чем ТАБЛИЦЫ СВЯЗЕЙ вобще ОБЛЕГЧАЮТ ЗАДАЧУ

   
 
 автор: cheops   (07.04.2007 в 16:34)   письмо автору
 
   для: ШИМ   (07.04.2007 в 15:39)
 

Не понятно, что вызывает затруднение? Создаёте запись в таблице ORDERS, получает сгенерированный первичный ключ при помощи функции mysql_insert_id() и вставляете для каждой из заказанных книг соответствующую строку в таблицу ORDER_BOOK, применяя только полученный только, что первичный ключ заказа из таблицы ORDERS.

   
 
 автор: ШИМ   (07.04.2007 в 16:41)   письмо автору
 
   для: cheops   (07.04.2007 в 16:34)
 

допустим вставил данные в таблицу ORDERS

id_order
7

получил первичный ключ - 7,
как теперь вставить в таблицу ORDER_BOOK

id     id_order       id_book
1           7                   5
2            7                  6

Так чтоли, должно быть?
7му заказу соответствует 5 и 6 книга??

   
 
 автор: Trianon   (07.04.2007 в 19:48)   письмо автору
 
   для: ШИМ   (07.04.2007 в 16:41)
 

Именно так. И если, например, 5 книгу запросят в 8 заказе, появится строка 3 8 5 , а таблица будет иллюстрировать соотношение m:n в полную силу.

   
 
 автор: ШИМ   (09.04.2007 в 21:52)   письмо автору
 
   для: Trianon   (07.04.2007 в 19:48)
 

Не вижу особого упрощения ситуации!
Мне посоветовали просто писать id_book в таблице заказов через разделитель, например:

id_order   id_book
3                      4|5|6

а при извлечении из БД разбивать по разделителю, но я думаю так не делают , все же создают ТАБЛИЦУ СВЯЗЕЙ!
Непойму ее приймущества???Как мне лучше сделать?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования