Многие-ко-многим!!!

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Андrey
Сообщения: 9
Зарегистрирован: 12 ноя 2006, 12:43

Как в Делфи реализовать связь таблиц многие-ко-многим? Используется база Access 2003.? Подскажите плиз
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Если я не ошибаюсь, в любой СУБД связь "многие ко многим" реализуется путем ввода таблицы, где хранятся пары значений "поле первой таблицы - поле второй таблицы".
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Андrey
Сообщения: 9
Зарегистрирован: 12 ноя 2006, 12:43

Up !!!!!!!!!!!!!
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

Андrey, а что собственно не получается? Если создать и связать таблицы, то это не сюда ;)
Изображение
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

Андrey, а в чём смысл тупого апания темы без пояснений? На твой вопрос дан ответ во втором сообщении. Связь - это термин БД, к клиенту отношения не имеющий. Связь PK->FK это отношение один ко многим, т.е. одно значение PK из первой таблицы может использоваться в разных записях второй таблицы. Соответственно два FK в одной таблице и будут задавать связь многие ко многим, т.е. любое значение PK из каждой таблицы может использоваться в разных записях. Если объяснять на пальцах:
1-я таблица [1,2,3] вторая [101,102,103] таблица с отношением многие ко многим может содержать такие варианиы [(1,101), (1,102), (2,103),(3,103)]. Разумеется, оба FK могут ссылаться на один и тот же PK, т.е. на одну и ту же таблицу.

Если тебя ответ не устраивает по каким-то причинам, то будь добр подрудится переформулировать запрос таким образом, чтобы было понятно что тебе нужно.
Даже самый дурацкий замысел можно воплотить мастерски
Андrey
Сообщения: 9
Зарегистрирован: 12 ноя 2006, 12:43

Требуется создать базу. Часть которой выглядит так как показана на рисунке. Таблицы сделаны в Accesse. База на Delphi
Вложения
DSC00197.JPG
DSC00197.JPG (14.04 КБ) 146 просмотров
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

И где на этом, прошу прощения, огрызке, связь "Многие ко многим"? Я там увидел три связи "Один к многим", а такие связи реализуются даже без введения дополнительных таблиц - просто у каждого из этих "многих" есть поле с указателем на того самого "одного".
Что касается "Требуется создать базу" - создавай! Как реализовывать связи типа "один ко многим" и "многие ко многим", было сказано.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

Хыиуду писал(а):И где на этом, прошу прощения, огрызке, связь "Многие ко многим"? Я там увидел три связи "Один к многим", а такие связи реализуются даже без введения дополнительных таблиц - просто у каждого из этих "многих" есть поле с указателем на того самого "одного".
Клиенты к пользователям, например, многие-ко-многим судя по рисунку
2B OR NOT(2B) = FF
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

А тогда в чем вопрос? В задании прямо и нарисовано, как делать связь "многие ко многим"
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить