24.02.2011, 16:36 | #1 |
Участник
|
1:N+N:1 == N:N ????
связка связей 1:N + N:1 равносильна N:N ?
__________________
rurik |
|
24.02.2011, 16:50 | #2 |
Moderator
|
Да. В 3.0 это была единственная возможность сделать связь такого типа. Системная N:N работает приблизительно так же. Создается объект пересечения (intersect) и две связи N:1. Отличия от мануального создания такой связи в том, что этот объект скрыт для поиска, к нему нельзя добавлять атрибуты, он не поддерживает рабочие процессы и, кажется плагины. Так же есть некоторые тонкости визуального типа: для него не создается представлений, так что при просмотре связей отображается станартное представление для связанных записей соответствующего объекта.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
|
За это сообщение автора поблагодарили: aidsua (2). |
24.02.2011, 16:52 | #3 |
Чайный пьяница
|
Эта связочка помощнее будет, потому как в эту связку можно добавить свои дополнительные поля в отличии от N:N. Но в 3.0 именно такой связкой и обходились, чтобы получить N:N.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
24.02.2011, 17:08 | #4 |
Участник
|
тогда такой вопрос:
кастомный объект "наполнение комплекта " был связан с продуктами 1:N при попытке добавить продукт выпало еррор "cannot create relationship because another exists that has a cascading action " вывод был сделан что, это из за того что данный продукт уже привязан к другому наполнению комплекта а связь1:N не позволяет такую ситуацию тогда добавили еще связь N:1 правильный ли вывод? и правильно ли сделали?
__________________
rurik |
|
24.02.2011, 17:21 | #5 |
Чайный пьяница
|
Насчёт вывода - всё правильно поняли. По поводу связи 1-N - если честно не совсем, но в том решении, что когдато писал я - я подменял обработчик кнопки "Добавить существующий" на клонирование выбранных хаписей с подменой интересующего лукапа записью, из которой был вызван диалог "Добавления существующих записей".
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
24.02.2011, 21:57 | #6 |
Участник
|
В тему (с wikipedia):
Цитата:
In systems analysis, a many-to-many relationship is a type of cardinality that refers to the relationship between two entities (see also Entity-Relationship Model) A and B in which A may contain a parent row for which there are many children in B and vice versa. For instance, think of A as Authors, and B as Books. An Author can write several Books, and a Book can be written by several Authors. Because most database management systems only support one-to-many relationships, it is necessary to implement such relationships physically via a third and fourth junction table, say, AB with two one-to-many relationships A -> AB and B -> AB. In this case the logical primary key for AB is formed from the two foreign keys (i.e. copies of the primary keys of A and B).
|
|
25.02.2011, 08:46 | #7 |
Moderator
|
Цитата:
Сообщение от u.rastegaev
тогда такой вопрос:
кастомный объект "наполнение комплекта " был связан с продуктами 1:N при попытке добавить продукт выпало еррор "cannot create relationship because another exists that has a cascading action " вывод был сделан что, это из за того что данный продукт уже привязан к другому наполнению комплекта а связь1:N не позволяет такую ситуацию тогда добавили еще связь N:1 правильный ли вывод? и правильно ли сделали?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|