Многие-ко-многим!!!
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
Как в Делфи реализовать связь таблиц многие-ко-многим? Используется база Access 2003.? Подскажите плиз
Если я не ошибаюсь, в любой СУБД связь "многие ко многим" реализуется путем ввода таблицы, где хранятся пары значений "поле первой таблицы - поле второй таблицы".
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
Андrey, а что собственно не получается? Если создать и связать таблицы, то это не сюда 


Андrey, а в чём смысл тупого апания темы без пояснений? На твой вопрос дан ответ во втором сообщении. Связь - это термин БД, к клиенту отношения не имеющий. Связь PK->FK это отношение один ко многим, т.е. одно значение PK из первой таблицы может использоваться в разных записях второй таблицы. Соответственно два FK в одной таблице и будут задавать связь многие ко многим, т.е. любое значение PK из каждой таблицы может использоваться в разных записях. Если объяснять на пальцах:
1-я таблица [1,2,3] вторая [101,102,103] таблица с отношением многие ко многим может содержать такие варианиы [(1,101), (1,102), (2,103),(3,103)]. Разумеется, оба FK могут ссылаться на один и тот же PK, т.е. на одну и ту же таблицу.
Если тебя ответ не устраивает по каким-то причинам, то будь добр подрудится переформулировать запрос таким образом, чтобы было понятно что тебе нужно.
1-я таблица [1,2,3] вторая [101,102,103] таблица с отношением многие ко многим может содержать такие варианиы [(1,101), (1,102), (2,103),(3,103)]. Разумеется, оба FK могут ссылаться на один и тот же PK, т.е. на одну и ту же таблицу.
Если тебя ответ не устраивает по каким-то причинам, то будь добр подрудится переформулировать запрос таким образом, чтобы было понятно что тебе нужно.
Даже самый дурацкий замысел можно воплотить мастерски
Требуется создать базу. Часть которой выглядит так как показана на рисунке. Таблицы сделаны в Accesse. База на Delphi
- Вложения
-
- DSC00197.JPG (14.04 КБ) 147 просмотров
И где на этом, прошу прощения, огрызке, связь "Многие ко многим"? Я там увидел три связи "Один к многим", а такие связи реализуются даже без введения дополнительных таблиц - просто у каждого из этих "многих" есть поле с указателем на того самого "одного".
Что касается "Требуется создать базу" - создавай! Как реализовывать связи типа "один ко многим" и "многие ко многим", было сказано.
Что касается "Требуется создать базу" - создавай! Как реализовывать связи типа "один ко многим" и "многие ко многим", было сказано.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
-
- Сообщения: 1228
- Зарегистрирован: 26 фев 2004, 13:24
- Откуда: Pietari, Venäjä
- Контактная информация:
Клиенты к пользователям, например, многие-ко-многим судя по рисункуХыиуду писал(а):И где на этом, прошу прощения, огрызке, связь "Многие ко многим"? Я там увидел три связи "Один к многим", а такие связи реализуются даже без введения дополнительных таблиц - просто у каждого из этих "многих" есть поле с указателем на того самого "одного".
2B OR NOT(2B) = FF
А тогда в чем вопрос? В задании прямо и нарисовано, как делать связь "многие ко многим"
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.