Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > Связь многие ко многим


Автор: Drkwv 11.6.2007, 06:37
Бывают ли методы (и какие) организации связи многие-ко-многим без сущности-связки?

Автор: Fin 11.6.2007, 14:13
Drkwv, Разжуй пожайлуста для незнаюших, что ты подрузомеваеш под "без сущности-связки"?

Автор: RatHat 14.6.2007, 11:17
Fin, подозреваю, что имеется в виду линковочная таблица...

Автор: batigoal 14.6.2007, 22:13
Цитата(Drkwv @  11.6.2007,  07:37 Найти цитируемый пост)
Бывают ли методы (и какие) организации связи многие-ко-многим без сущности-связки? 

К сожалению, бывают, и последствия их использования мы сейчас расхлебываем.

Идея заключается в том, чтобы хранить в ячейке таблицы A список ключей таблицы B. В нашем случае это сделано через Oracle-тип varray.

Разумеется, это метод имеет огромное количество недостатков (отсутствие автоматического контроля целостности, невозможность использования стандартного SQL, неудобочитаемость, непонимание со стороны просмотровщиков базы, отсутствие поддержки различными фреймворками таких фокусов и т.д.). Поэтому хотел бы узнать, откуда взялась такая задача?

Автор: Drkwv 18.6.2007, 07:56
Дело в том, что я пишу класс на PHP который реализует эту связь. Т.е. вы можете, допустим, указать в функции какие поля из двух нужных вам связанных (и в каком порядке связанных) объектов вы хотите видеть в выходном массиве - и он эту возможность предоставит. Или допустим, список связанных объектов или дерево объектов. В связи с тем, что я уже порядком подзаколупался  smile с этой хренотенью, т.к. возникает проблема - как работать с объектами, если в линковочной таблице присутствуют ссылки на объекты из трех и более разных таблиц (и в т.ч. как интегрировать в формируемый классом запрос дополнительные инструкции SQL, поскольку всего предусмотреть невозможно), решил узнать как другие эту проблему решают.

Наверняка создание таблицы связей - не единственный вариант. Будет обидно упустить из виду какой-нибудь из возможных вариантов, хотя таблица связей и кажется наиболее приемлемым.

Автор: batigoal 18.6.2007, 08:31
В случает подобной гибкости может, кстати, помочь XML.

Автор: Glip 18.6.2007, 10:22
Цитата(Drkwv @  18.6.2007,  07:56 Найти цитируемый пост)
 решил узнать как другие эту проблему решают.

http://www.onphp.org/doxy/0.10.1/d6/dfd/classUnifiedContainer.html
ну вот, как вариант.

Автор: Drkwv 18.6.2007, 11:32
Цитата(Glip @ 18.6.2007,  10:22)
Цитата(Drkwv @  18.6.2007,  07:56 Найти цитируемый пост)
 решил узнать как другие эту проблему решают.

http://www.onphp.org/doxy/0.10.1/d6/dfd/classUnifiedContainer.html
ну вот, как вариант.

спасибо, попробую разобраться..

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)