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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2011, 01:16   #1
Галия
Новичок
Джуниор
 
Регистрация: 25.11.2011
Сообщений: 6
По умолчанию БД в Access

Надо реализовать связь многие-ко-многим...
Пример: в одной аудитории могут быть столы,стулья, компьютеры. При этом, этот же набор возможен и в других аудиториях...
Подскажите, пожалуйста глупой студентке
Галия вне форума Ответить с цитированием
Старый 25.11.2011, 02:36   #2
[CODER]
Форумчанин
 
Аватар для [CODER]
 
Регистрация: 02.02.2010
Сообщений: 305
По умолчанию

нужно ввести таблицу пересечений.
Skype: CODERua
[CODER] вне форума Ответить с цитированием
Старый 25.11.2011, 03:06   #3
Blondy
Участник клуба
 
Аватар для Blondy
 
Регистрация: 07.07.2009
Сообщений: 1,385
По умолчанию

Прошу прощения, но связь многое ко многим нарушает основные принципы стуктуры базы данных. Вообще-то всегда стремятся от такой связи избавится и превратить ее в связь один ко многим.
Например, присмотритесь, на каждом стуле, компьютере, столе есть уникальный инвентарный номер. Столов, компьютеров, стульев и аудиторий может быть множество. Но компьютер именно с этим инвернарным номером стоит именно в конкретной аудитории. Это и будет связь один ко многим. А связь многое ко многим для баз данных это не комильфо)))))не серьезно)))
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan
Blondy вне форума Ответить с цитированием
Старый 25.11.2011, 10:27   #4
Галия
Новичок
Джуниор
 
Регистрация: 25.11.2011
Сообщений: 6
По умолчанию

Цитата:
Сообщение от [CODER] Посмотреть сообщение
нужно ввести таблицу пересечений.
я правильно поняла, будет три таблички и у той, которая по центру(табл.пересечений) будет связь один-ко-многим к оставшимся двум?
Галия вне форума Ответить с цитированием
Старый 25.11.2011, 10:29   #5
Галия
Новичок
Джуниор
 
Регистрация: 25.11.2011
Сообщений: 6
По умолчанию

Blondy, я слишком ленивая для вашего варианта...я лучше голову сломаю, но добьюсь многих-ко-многим, чем перепишу все компы в универе + пробирки, мензурки и т.д. и т.п.
Галия вне форума Ответить с цитированием
Старый 25.11.2011, 10:35   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
А связь многое ко многим для баз данных это не комильфо
да ну бросьте..
Такая ситуация частенько возникает в реальной практике.
(могу привести пример, если надо).
и решается, как справедливо выше отметил [CODER] через дополнительную таблицу связей (или пересечений):
Таблица1 <-> ТаблицаПересечений <-> Таблица2


Цитата:
Сообщение от Галия
я правильно поняла, будет три таблички и у той, которая по центру(табл.пересечений) будет связь один-ко-многим к оставшимся двум?
Точно так!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.11.2011, 21:06   #7
Blondy
Участник клуба
 
Аватар для Blondy
 
Регистрация: 07.07.2009
Сообщений: 1,385
По умолчанию

Сережа, выходит, что тогда получается нам просто голову морочат с нормализациями и приведениями к 1, 2, и 3 нормальным формам, не признающим связей многое ко многим? Ведь денормализация возможна только в исключительных случаях, а не как метод решения тривиальных вопросов архитектуры базы данных.
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan
Blondy вне форума Ответить с цитированием
Старый 26.11.2011, 09:33   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Blondy, нет, нам не "морочат голову"

Дело в том, что введение дополнительной таблицы это и есть дань соответствия нормализации СУБД: в этой таблице пересечений данные и к одной и к другой таблице будут относиться строго один ко многим.
Введение этой таблицы это такой технический "трюк", который позволяет "привести" исходную задачу к реляционным СУБД.
и ничего больше.

извините, если объяснил немного косноязычно, но, надеюсь, что идею смог донести...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Access+word и access+pdf xanderg Microsoft Office Access 2 07.11.2010 13:51
Запрос с датами и временем к Access [D7, Access] alexandr2010 БД в Delphi 3 26.07.2010 22:19
Есть БД на Access 2.0, нужно открыть в Access 2003 Spirit_33 Microsoft Office Access 1 23.07.2009 07:59
Access 97, открыть базу данных Access alexhol Microsoft Office Access 0 27.04.2009 12:10
Delphy и Access.вводя инфу во вторичный файл Access, она отражалась в первом ADOTable Lev БД в Delphi 0 11.11.2007 12:14