powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Объединение графов(множеств)
7 сообщений из 7, страница 1 из 1
Объединение графов(множеств)
    #36096187
all2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Поделитесь опытом, может кто сталкивался.
Задача такая:
Есть таблица "многие ко многим":
Код: plaintext
1.
Товар1=Товар2
Товар3=Товар2
Из этой связки мы имеем Товар3=Товар2=Товар1
В какой то момент мы соединяем еще одно множество:
Код: plaintext
1.
2.
3.
Товар4=Товар2
Товар5=Товар4
Товар6=Товар5
Товар7=Товар6
Из этого имеем Товар7=Товар6=Товар5=Товар4=(через Товар2)Товар3=Товар2=Товар1.
Связь Товар4=Товар2 оказалась неправильной, необходимо удалить все связи в этом множестве, т.е. удалить
Код: plaintext
1.
2.
3.
Товар4=Товар2
Товар5=Товар4
Товар6=Товар5
Товар7=Товар6
Подскажите, как это можно сделать?
Рассматриваются все варианты, вплоть до изменения структуры.
...
Рейтинг: 0 / 0
Объединение графов(множеств)
    #36097011
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется, надо смотреть в сторону "зависимости соединения и 5-я нормальнакя форма"
...
Рейтинг: 0 / 0
Объединение графов(множеств)
    #36097560
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmawнадо смотреть в сторону "зависимости соединения и 5-я нормальнакя форма"Подробности будут ? Как бы непонятно, причём здесь 5NF ?
all2001
Есть таблица "многие ко многим":
Код: plaintext
1.
Товар1=Товар2
Товар3=Товар2
Из этой связки мы имеем Товар3=Товар2=Товар1
В какой то момент мы соединяем еще одно множество:
Код: plaintext
1.
2.
3.
Товар4=Товар2
Товар5=Товар4
Товар6=Товар5
Товар7=Товар6
Из этого имеем Товар7=Товар6=Товар5=Товар4=(через Товар2)Товар3=Товар2=Товар1.
Связь Товар4=Товар2 оказалась неправильной, необходимо удалить все связи в этом множестве, т.е. удалить
Код: plaintext
1.
2.
3.
Товар4=Товар2
Товар5=Товар4
Товар6=Товар5
Товар7=Товар6
Подскажите, как это можно сделать?
Рассматриваются все варианты, вплоть до изменения структуры.В Вашей интерпретации больше похоже на работу с "деревом". Соответственно, смотрим в эту сторону, т.е., структуры для хранения "деревьев". Причем вполне можно обойтись без рекурсии, если пойти по пути сохранения в соответствующем поле полного пути, например, по типу "Товар1\Товар2\Товар3". Без процедурных расширений, пожалуй, не обойтись. Либо в процедурах, либо в триггерах.
...
Рейтинг: 0 / 0
Объединение графов(множеств)
    #36097612
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прогнал, это обычный граф (внимание отвлекли знаки "=").
...
Рейтинг: 0 / 0
Объединение графов(множеств)
    #36097633
all2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот. С путями вариант интересный. Спасибо, буду пробовать.
...
Рейтинг: 0 / 0
Объединение графов(множеств)
    #36100022
vinger4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
all2001
Связь Товар4=Товар2 оказалась неправильной, необходимо удалить все связи в этом множестве


Почему так - одна связь неправильная, а удаляем все связи в этом множестве? они тоже неправильные?
...
Рейтинг: 0 / 0
Объединение графов(множеств)
    #36107452
all2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vinger4all2001
Связь Товар4=Товар2 оказалась неправильной, необходимо удалить все связи в этом множестве


Почему так - одна связь неправильная, а удаляем все связи в этом множестве? они тоже неправильные?
Не факт. Но задача поставлена именно так.
Т.е. удалить
Товар4=Товар2
Товар5=Товар4
Товар6=Товар5
Товар7=Товар6
А оставить нужно, первоначальное множество.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Объединение графов(множеств)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]