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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.01.2012, 14:23   #1
Dexes
Пользователь
 
Регистрация: 27.12.2011
Сообщений: 86
По умолчанию MySQL и "многие ко многим"

Подскажите пожалуйста, как правильно реализовать связь "многие ко многим" в MySQL?
Есть таблица "users" (user_id, name) и есть таблица "rooms" (room_id, number) многим пользователям доступны многие комнаты.
Как правильно реализовать связь?
Может быть добавить в таблицу "users" поле access_id
Добавить таблицу "access" (access_id, room_id)
Тогда связь будет: одному пользователю соответсвует множество access_id, и одному room_id соответсвует множество access_id.
В таком случае вывод всех пользователей и соответсвующих им комнат будет:
Код:
Select users.*, rooms.*
From users inner join access on users.access_id = access.access_id inner join rooms on access.room_id = rooms.room_id;
Есть ли еще какие-нибудь варианты? В чем ошибки этого (если он не верен)?

Последний раз редактировалось Dexes; 04.01.2012 в 14:54.
Dexes вне форума Ответить с цитированием
Старый 04.01.2012, 15:22   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Лучше в таблицу access добавить поля user_id и room_id, т.е. сделать ее дочерней как по отношению users, так и по отношению к rooms
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связь многие ко многим %$PROregRAMi$t% Microsoft Office Access 9 11.06.2011 23:30
Заполнение таблиц с со связью "Один ко многим" DenProx Microsoft Office Access 2 04.02.2011 10:24
Связь "один ко многим"? M17 SQL, базы данных 5 21.10.2009 15:07
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
Многие ко многим ("")(Э_Є)("") БД в Delphi 1 12.03.2009 01:18