Задачка от которой меня выворачивает на изнанку ((

АлексейК
Дата: 01.06.2004 13:43:40
есть две таблички в которых храняться сведения о планируемых и фактических поступлениях соответственно план и платеж

план:
КодПлана наименование КодСвязи(ставится КодПлатежа) КодГруппы
платеж:
КодПлатежа наименование КодСвязи(ставится КодПлана) КодГруппы



записи могут быть связаны либо по коду связи 1 к 1 или быть объеденены в группу в которую может попасть несколько планов и платежей

соответственно если связь 1-1 то заполняется поле код связи а код группы пустой
если связь Многие-Многие то заполняется поле код группы а код связи пустой

вручную соображаю легко что к чему, надо сделать кнопку...

перед тем как написать код написал комментарии как должно быть, написать код по готовому алгоритму - проблем не будет. но вот проверить алгоритм никак , аж кишки переворачиваются ))


'Если коды групп пусты и коды связи пусты то объединить записи поставив в поле связи взаимообразно плану - код платежа и наоборот платежу код плана'
'Если код группы платежа пуст а плана нет то поставить плану код группы платежа'
        'Если у плана есть код связи то поставить платежу с соответствующим кодом данную группу, убрать код связи платежа, убрать код связи у плана'
'Если код группы плана пуст а платежа нет то поставить платежу код группы плана'
        'Если у платежа есть код связи то поставить плану с соответствующим кодом данную группу, убрать код связи плана, убрать код связи у платежа'
'Если код группы плана не пуст и код группы платежа не пуст обновить во всех записях плана в которых стоит текущий код группы на код платежа'
'Если коды групп платежа и плана пусты а код связи платежа или плана не пуст то указать для записей отвечающих условиям связи плана и платежа новый код группы'

думаю что какую - нибудь ситуацию забыл, но никак не дочитать до конца
paparome
Дата: 01.06.2004 13:49:25
Алексей

Я может не прав, но все же

1 к 1 - это частный случай Многие ко многим
Может всегда через код группы работать?

Или еще лучше (имхо) создать промежуточную таблицу для связи многие ко многим?
АлексейК
Дата: 01.06.2004 14:00:31
2 paparome

видимо так и надо сделать...

сделал двоякое объединение для оптимизации быстродействия при выводе результатов в отчеты (при 1 - 1 более простой алгоритм) , но оценивая небольшие объемы информации видимо действительно следует пренебречь быстродействием и сделать структуру более понятной..