Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Связь многие ко многим ;) [D5, MSSQL, ]


MVova ©   (2001-12-04 10:41:00) 

Кто знает каким способом лучше организовали связь многие ко многим для больших баз???


Desdechado   (2001-12-04 15:42:00) [1]

2 MVova
речь идет о скорости выборки? так количество таблиц особой роли не играет, зато играет роль объем перебираемых при этом данных. Если все нормализовано и построены индексы - это быстро, если ненормализовано - медленно (обрабатываются дубликаты).
учитывать надо еще и объем извлекаемых данных, т.к. это сказывается на скорости передачи, особенно на модемных каналах.

так что, рекомендую классику - 3-ю таблицу перекрестных ссылок.


MVova   (2001-12-04 14:11:00) [2]

> Val
2 вариант - по идее, отпадает напрочь, поскольку неизвестно заранее, сколько их будет
Поле связи типа Char а там 8000 накладывает ограничения но в принципе хватит ;)
>Yuvich
Но это нарушение всех правил реляционной модели.
А скорость. Как быстреее лазить по двум таблицам или по трем?


Yuvich   (2001-12-04 13:35:00) [3]

>MVova
Можно все. Но это нарушение всех правил реляционной модели. Таким образом ты "привяжешь" себя к системе потому что никто с эти работать не то чтобы не захочет - не сможет. Используй третью таблицу.


Val   (2001-12-04 13:33:00) [4]

в принципе можно, конечно..
1 вариант - а как же насчет нормализации?
2 вариант - по идее, отпадает напрочь, поскольку неизвестно заранее, сколько их будет
и при связи многие-ко-многим у вас таблица и мастер и дитейл, смотря с какой стороны смотреть :)


MVova   (2001-12-04 13:24:00) [5]

А без третей таблици можна?
У меня есть несколько идей но как будет быстрее?
1. Дублировать записи в детальной таблице но показывать клиенту одну.
2. В поле связи писать через запятую ID мастаров и при выборке искать вхождение.
Поле ID у меня VarChar(16).


Val   (2001-12-04 10:46:00) [6]

кто организовал? ;)
по сути вопроса-вообще делают таблицу развязки между таблицами со связью многие-ко-многим, чтобы были связи один-ко-многим


Наверх

Титульная страница Поиск, карта сайта Написать письмо