powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Система с изменяющимися алгоритмами расчета.
25 сообщений из 159, страница 5 из 7
Система с изменяющимися алгоритмами расчета.
    #32204500
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и как концовка - в принципе имея абстрактный подход к хранению и обработке данных, на SQL можно очень многое реализовать, причем частенько решения будут менее трудоемки в коде и обгонять по скорости решения, аналогично реализованные на алгоритмических языках (например с вышеуказанной моделью хранения деревьев я спокойненько могу срезать с дерева одним запросом все уровни, удовлетворяющие какому то условию, на алгоритмических языках придется писать код, пользоваться рекурсией и т.д.). Не спорю, что приятней, когда SQL сам может обрабатывать иеархии, но в принципе у многих СУБД рекурсивные запросы уже есть, в следующей версии MSSQL я тоже слышал они появятся, что уже говорит о неком новом стандарте в SQL, думаю и ASA подтянется до своих больших братьев-конкурентов СУБД.
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32204949
xtony
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 c127
>> Не бывает в дереве замкнутых цепочек по определению: дерево - граф без циклов.
Хорошо. Если в дереве не быват, то давай назовем это "замкнутое пространственно-временное дерево" или как угодно еще. Тем более, что я еще сюда не приплетал спецификации, которые у меня меняют каждый нод этого дерева (и соответственно ветки на него зацепленные) в зависимости от даты действия этой спецификации. Я может быть не совсем корректно объяснил задачу, просто хотел вложить самый минимум в вопрос. То, что есть у меня в постановке задачи мое "дерево" на идеальное дерево вряд ли тянет. В нем (как говорил ASCRUS) у родителей есть дети, но и у детей есть много родителей, то есть одна и та же ветвь может быть прицеплена на любой нод (отсюда и замкнутые цепочки). Вложенность нодов неограничена. Да и как заказчику скажешь: "А вы не вводите больше, 50 вложенностей - это в нашей программе максимум" ? Где есть 50, там будет и 51 (я в этом даже не сомневаюсь).

Я сижу на сайбейзе. Стареньком. Тут в запрос больше 16 таблиц (включая таблицы во вьюхах) не включишь. Я уже не говорю об остальном. Извращаюсь.

2 ASCRUS
Еще вот интересовал вопрос по поводу разворачивания данных "на 90 градусов". То есть вытащенные строки "развернуть" в столбцы. Только сколько строчек (соответственно столбцов) будет получено - это неизвестно.
На трехзвенке это решается достаточно легко коллекциями.
Может быть такие вещи папа Карло подразумевал как "нереляционные".
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32205041
vinalik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На счет заработной платы, не разу не видел толковой программы .
Хотелось бы узнать, может есть толковое описание экономической задачи для составления мат модели. А движок для 386 можно и на ассемблере наклепать. Все времени не хватает
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32205056
папа Карло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtony:

Хорошо. Если в дереве не быват, то давай назовем это "замкнутое пространственно-временное дерево" или как угодно еще.

...

В нем (как говорил ASCRUS) у родителей есть дети, но и у детей есть много родителей, то есть одна и та же ветвь может быть прицеплена на любой нод.

называть это надо сетью или графом, но никак не деревом.
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32205061
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 xtony

На стареньком сайбейзе без курсоров не обойтись. Или как ASCRUS предлагает - денормализованую таблицу. В таблице можно любой граф записать, поскольку граф и есть отношение (бинарное) на множестве вершин. Чтоб избавиться от рекурсии на селекте можно строить т.н. транзитивное замыкание: если (b,d) и (d,f) - ребра, то добавить (b,f) в ребра, если его там нет и поставить метку, что ребро ненастоящее или длину ребра. Аналогично при удалении, но только в обратном порядке. Это тоже рекурсия, но если строить транзитивное замыкание по мере построения графа, ее может быть удасться спрятать. Цикл тогда есть ребро, т.е. строчка в таблице, вида (b,b). Ограничения на глубину - только типы полей. Это нелегкий труд, по-моему проще курсорами. Зато селект будет летать.
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32205258
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtony
Разворачивать таблицы и генерить кросстабы на SQL сложно, но можно. Решения опять же в интернете выложены. Самое очевидное, что без динамического SQL не обойтись. Дальше зависит от самих возможностей СУБД. У меня пока такой задачи не стояло, так как кросстабы требовались в основном в отчетах и тот же Crystal Report или Power Builder прекрасно с этим справляются сами. Однако чисто теоретически, если такая задача потребуется, то в Sybase ASA я наверное попробую покопать в сторону агрегатной функции List, которая группирует данные в виде списка с разделителем, т.е. следующий скрипт:
Код: plaintext
1.
2.
3.
select Group_id, List(Value, ';') as Value
from Table
group by Group_id

на выходе вернет примерно следующее:
Код: plaintext
1.
2.
3.
Group_id  Value
 1           100 ; 200 ; 300 ;
 2           0 ; 0 ; 0 ;

Далее по размышлении если применить CROSS JOIN и воспользоваться возможностью ASA этот select на выходе закатать в текстовый файл с разделителеми, создать через динамический sql соотвествующую структуру темповой таблицы, то можно по идее через оператор WatcomSQL Load этот файл считать в таблицу "легким движением руки". Думаю такой метод сработает быстрее, чем пытаться данные заполнять в темповую таблицу через динамический SQL. Сам такого не пробовал, но как говорится, копать есть куда :)
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32205525
xtony
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще есть задачка, с которой я недавно столкнулся.
Есть таблица с ParentId и TableId, которая ссылается на неограниченое количество таблиц (в моем случае их уже 12 и это количество может расти).
То есть здесь идет нереляционная связь.
Не "один ко многим", а "один ко многим таблицам".
А дальше к этой задаче мне нужно будет еще присобачить эти самые сети...
Только не такие, которые я описал - в той задаче мне только дерево из этих сетей надо было выщемить. А здесь придется по полной заморачиваться.
И расчеты по этим сетям и нереляционно связанным таблицам.
Как это делать на ООП, я себе это еще представляю.
Если я это буду писать на запросах, то месяца через два меня можно будет смело отвозить в дурку.
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32205551
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну это смотря какая СУБД использоваться будет. Если это для Sybase ASE, то в дурку ты гораздо раньше попадешь :) Но я так понимаю это для MSSQL 2000 и твоей задачи, так что тут вообще то все от тебя зависит, возможно есть шанс перепроектировать постановку так, чтобы задача выглядела более легко под релляционные модели данных.
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32206034
xtony
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2ASCRUS
Правильно ли я понимаю, что нереляционных моделей не существует?
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32206104
Sjfx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ASCRUS
Серверная часть изначально писалась на MSSQL 2000, но где то на середине пути (уже когда была готова расчетная часть) по многим причинам была переведена на Sybase ASA 8, о чем я честно говоря не только не жалею, но до сих пор очень и очень радуюсь, опять же по многим причинам.
Вах, как интересно!
Не могли бы Вы осветить несколько моментов в отношении ASA8:
- Возможность внутри оператора выборки SELECT менять переменные памяти
- Возможность отключения логов для определённых таблиц
- Таблицы-переменные?
- Массивы
- Как там с UDF, интересуют:
- наличие возможности изменения внешних объектов из UDF
- зона видимости переменных - такая же?
- насколько (не)тормознуто работают курсоры, в смысле, соотношение тормознутости
курсоров и set-ориентированных операторов не отличается ли в лучшую сторону по
сравнению с MS?
- насколько WatcomSQL похож на MS-TSQL
- сколько места занимает установленный в полном объёме сервер?

К примеру ASA полностью интегрирован с Java
- Ну, полностью - это когда жаба-движок встроен так же плотно, как и WatcomSQL,
чтобы жабой можно было полностью заменить нативный язык; насколько я понимаю, такого нет ?
- UDF (не SP) на Java? Накладные расходы на вызовы жабят?
- Доступ из жава-процедур к переменным вызывающей процедуры на WatcomSQL?

в ASA UDF не могут возвращать набор данных
- а склепать временную таблицу или @Tbl table, чтоб они не удалились при выходе из UDF?

есть поддержка глобальных переменных
- а-а-а, это вещь! - менять-то их в UDF-ах можно (надеюсь) ?

Если это для Sybase ASE, то в дурку ты гораздо раньше попадешь :)
- а это как понимать? ASE вроде как продвинутее будет ?
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32206113
папа Карло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возможно есть шанс перепроектировать постановку так, чтобы задача выглядела более легко под релляционные модели данных.

хехе... :) классический пример как русские девелоперы решают задачи. :) они требования меняют.
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32206169
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Sjfx
я попробую ответить (ASA - как первая любовь :-))

- Возможность внутри оператора выборки SELECT менять переменные памяти
UDF позволяет менять переменные, при этом она может входить в оператор SELECT

- Возможность отключения логов для определённых таблиц
не знаю
- Таблицы-переменные?
Временные таблицы

- Массивы
Есть
- Как там с UDF, интересуют:
- наличие возможности изменения внешних объектов из UDF
- зона видимости переменных - такая же?

допустимы любые операторы DDL
локальные и глобальные переменные

- насколько (не)тормознуто работают курсоры, в смысле, соотношение тормознутости
курсоров и set-ориентированных операторов не отличается ли в лучшую сторону по
сравнению с MS?

не знаю

- насколько WatcomSQL похож на MS-TSQL
это другой язык, но ASA поддерживает два диалекта - WatcomSQL и TransactSQL

- сколько места занимает установленный в полном объёме сервер?
Про последние версии не скажу, дистрибутив (без инсталлятора, естественно) версии 5.5 можно было носить на дискете

про java пропущено - не знаю

- а склепать временную таблицу или @Tbl table, чтоб они не удалились при выходе из UDF?
можно

есть поддержка глобальных переменных
- а-а-а, это вещь! - менять-то их в UDF-ах можно (надеюсь) ?

можно

- а это как понимать? ASE вроде как продвинутее будет ?
ASE - это тот самый сервер, у которого общие корни :-) с MS SQL, а ASA - это детище Watcom, Sybase пока его не сильно трогает, испортить до конца не успела :-)
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32206171
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 папа Карло

хехе... :) классический пример как русские девелоперы решают задачи. :) они требования меняют.
Не требования, а постановку. за последние 10 лет ни разу не встречал корректной постановки задачи :-(
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32206180
папа Карло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ок. что понимается под постановкой задачи? с примерами пожалуйста некорректной и корректной для того-же примера. :)
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32206280
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 папа Карло

>>возможно есть шанс перепроектировать постановку так, чтобы задача выглядела более легко под релляционные модели данных.

>хехе... :) классический пример как русские девелоперы решают задачи. :) они требования меняют.

Тут наверное лучше было бы сказать не "перепроектировать", а "переформулировать" постановку задачи, т.е. сформулировать по-другому эквивалентным образом. Слово "перепроектировать" использовано не очень удачно, но о чем идет речь понятно и подход совершенно правильный. А вот настоящей классикой является то, что некоторые русские девелоперы не слушают собеседника.

2 xtony

>Еще есть задачка, с которой я недавно столкнулся.
Есть таблица с ParentId и TableId, которая ссылается на неограниченое количество таблиц (в моем случае их уже 12 и это количество может расти).
То есть здесь идет нереляционная связь.
Не "один ко многим", а "один ко многим таблицам".
А дальше к этой задаче мне нужно будет еще присобачить эти самые сети...
Только не такие, которые я описал - в той задаче мне только дерево из этих сетей надо было выщемить. А здесь придется по полной заморачиваться.
И расчеты по этим сетям и нереляционно связанным таблицам.

Не есть хорошо понимать проблема. Что такое нереляционная (или реляционная) связь? Если ты хочешь строчкам таблицы поставить в соответствие таблицы, то во-первых можно в строчки положить имя таблицы, во-вторых всегда есть системная таблица (если нет - можно завести), содержащая информацию о таблицах и их ID. Можно на нее сослаться по ID. Оба эти подходы эквивалентны, абсолютно реляционны и в результате строят искомое (если я правильно понял задачу) отношение на множестве таблиц. Это и есть твоя таблица с ParentId и TableId. Формально я не вижу проблемы вообще, другое дело что на процедурном языке может проще получится. А может и нет, смотря что потом требуется с этим всем делать.
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32206281
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 ASCRUS

Решение с "select ... List(...)" классное. Жаль только ASA - зависимое, на ASE, MSSQL не прокатит по-моему. Буду использовать по возможности.

2 Sjfx
>- сколько места занимает установленный в полном объёме сервер?

Если нужен просто сервер, то достаточно скопировать один екзешник и пару длл, общим весом примерно 5М, прописать в пути все. Это будет абсолютно полноценный сервер, работающий в сети, но без сервисных утилит. С утилитами командной строки еще 4М нужно добавить. А если полностью с GUI и документацией, то метров 50 получится.
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32206756
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127
Спасибо за переформулировку мой действительно неудачно выраженной мысли. Дело в том, что я примерно знаю, о чем пишет xtony - задача у него не из легких - расчеты потребления теплоэнергии абонентами, где существует сложное дерево подключение абонентов к теплосетям. Первое что действительно приходит на ум любому ООП программисту - считать все это дело графами. И тут конечно SQL уже не в помощь. Однако работая раньше в РАО я видел аналогичную задачу - расчет потребления электроэнергии, которую в бытность во времена Союза один программист решил без всяких графов. Работала она и на старых совестких машинах, работает прекрасно и сейчас на ДОСовом Foxpro. Не знаю как это уж назвать по научному, но расчет велся поэтажно, т.е. разом по каждому уровню глубины подключений. Это было возможно, так как следующий узел-абонент всегда зависел от показаний предыдущего узла-абонента и например самый последний уровень подключения никак не зависел в расчетах от корня. Кстати такая методика расчета прекрасно "перекладывается" на SQL, это я и имел ввиду.

Sjfx
Думаю PL99 развеял Ваши сомнения в ASA. Как меня самого не удивляет, но для сервера рабочих групп ASA слишком много всего умеет. Радует, что в отличие от MSSQL он достаточно гибок, не требователен к ресурсам и в тоже время обладает всеми качествами современного SQL сервера (развитый SQL, нормальные средства администрирования, отладка, мощный оптимизатор запросов, графический план запросов, репликация, кроссплатформенность, решения для мобильных устройств, криптография БД, поддержка работы с сжатыми БД и т.д.). С учетом того, что ASA в непрерывном развитии и даже в периодически выходящих паках не только ошибки четко и быстро исправляются, но и он обрастает новым функционалом без смены версии, лично я считаю что для задач среднего обьема (учет, бухгалтерия и т.д.) ASA гораздо приятней и удачней, чем MSSQL. Но повторюсь это мое личное мнение, так что ничего страшного против MSSQL я не говорил :)
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32206847
xtony
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 c127

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

2ASCRUS

Переделывать под технологию клиент-сервер нашу прогу... это даже необсуждаемо.

Кстати, вот еще одна фишка. Системы с обратной связью - знакомое название? Теория автоматического управления? Гидро-система вещь замкнутая, и начальные параметры будут корректироваться в зависимости от расчитанных результатов. Или это тоже линейная задача? Тогда зачем меня учили два года этой ТАУ? Зачем мне все эти АЧХ и ФЧХ, если все оказывается так просто?
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32207657
папа Карло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127

Тут наверное лучше было бы сказать не "перепроектировать", а "переформулировать" постановку задачи, т.е. сформулировать по-другому эквивалентным образом. Слово "перепроектировать" использовано не очень удачно, но о чем идет речь понятно и подход совершенно правильный. А вот настоящей классикой является то, что некоторые русские девелоперы не слушают собеседника.

там было сказано: "шанс перепроектировать постановку так, чтобы задача выглядела более легко под релляционные модели". дело в том, что я не видел ни одного спека нормально написанного "под реляционные модели", зато видел с сотню спеков (по 100-700 страниц) писанных "как кому в голову взбредет", но всегда в каком-нибудь "определенном формате". в мои задачи всегда входило "положить это на реляционную модель". именно поэтому я так скептически и отнесся к данной фразе. :) как показывает моя жизненная практика мне всегда самомому приходилось "задавать вопросы" и делать анализ (включая бизнес на моем текущем месте).

некоторые русские девелоперы не слушают собеседника

некоторые не слушают, некоторые _слушают_ но могут не понимать что человек _донести_ хочет.
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32207782
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 xtony

>Реляционная связь подразумевает под собой, когда много таблиц могут ссылаться на одну по ключевому полю (как на справочник, например).

Это называется внешний ключ (foreign key).

>Что делать, когда одна таблица с полем ParentId ссылается по этому полю на много таблиц с ключевыми полями Id? Предложение ввести таблицу-посредника ни к чему не приводит (тогда на эти же таблицы начинает ссылаться таблица-посредник - получаем тоже самое, только с еще промежуточной таблицей).

Вроде понял теперь. Эта проблема тут обсуждась пару месяцев назад, только не помню где именно. Возможное решение: создать таблицу table_id - общий первичный ключ для множества тех таблиц, на которые нужно ссылаться (например {table_NNN| 0<NNN<n}). Пусть каждая из table_NNN ссылается на table_id. Добавление записей в любую table_NNN идет через table_id (чтоб получить правильный первичный ключ). ParentId тоже будет ссылаться на table_id. Внешние ключи заводятся без проблем. Все работает, все довольны.

2 папа Карло

>... в мои задачи всегда входило "положить это на реляционную модель". ....

Все именно так и есть, вопрос снят.
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32208018
Jinn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
c127
2 xtony

>Реляционная связь подразумевает под собой, когда много таблиц могут ссылаться на одну по ключевому полю (как на справочник, например).
Это называется внешний ключ (foreign key).

Ссылка - еще не внешний ключ. foreign key предназначен для поддержки ссылочной целостности. Используется так же для возможности каскадного удаления. В некоторых случаях необязателен, ресурсы жрет, гад :)

>Что делать, когда одна таблица с полем ParentId ссылается по этому полю на много таблиц с ключевыми полями Id? Предложение ввести таблицу-посредника ни к чему не приводит (тогда на эти же таблицы начинает ссылаться таблица-посредник - получаем тоже самое, только с еще промежуточной таблицей).

Вроде понял теперь. Эта проблема тут обсуждась пару месяцев назад, только не помню где именно. Возможное решение: создать таблицу table_id - общий первичный ключ для множества тех таблиц, на которые нужно ссылаться (например {table_NNN| 0<NNN<n}). Пусть каждая из table_NNN ссылается на table_id. Добавление записей в любую table_NNN идет через table_id (чтоб получить правильный первичный ключ). ParentId тоже будет ссылаться на table_id. Внешние ключи заводятся без проблем. Все работает, все довольны.

Мне кажется, это не самое лучшее решение. Тут можно предложить два решения.

1. Выделить из всех таблиц поля, идентичные по назначению (Наименование, обозначение и т.п.) и объединить их в одну таблицу. Таким образом мы сможем одним запросом получить необходимые выходные данные по всем параметрам одновременно. К этой таблице привязываются другие таблицы, содержащие индивидуальные параметры, необходимые для частного описания групп.
2. Если не требуется общая картина (тогда непонятно назначение подобной структуры), то можно установить у всех частных таблиц сквозной идентификатор и делать ссылку на него (без возможности поддержки ссылочной целостности). Таким образом мы можем получить любые данные по каждой индивидуальной группе.

В обоих случаях количество групп неограничено. Есть еще один способ, но он вообще никому не нравится, считается замороченным, хотя для меня он намного лучше :)
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32209055
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Jinn

Не приумножай сущности без необходимости. Эквивалентно: программист должен быть ленивым. (C) не помню чьи.
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32209214
Jinn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
c127
Не приумножай сущности без необходимости. Эквивалентно: программист должен быть ленивым. (C) не помню чьи.

Ты хочешь сказать, что предложенное тобой решение менее геморойно? Попробуй получить общий отчет по всем table_NNN, где нас интересует только общие данные. Например поля: "Номер документа" "Наименование" "Цена", где: "Номер документа" - из таблицы DOC_TABLE, "Наименование" и "Цена" - из таблиц TABLE_NNN.
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32210369
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Jinn
>Ты хочешь сказать, что предложенное тобой решение менее геморойно?

Вовсе нет. Я хочу сказать, что ты додумываешь постановку задачи.

>Попробуй получить общий отчет по всем table_NNN,...

Например, где в постановке слово "отчеты". Мы даже примерно не знаем из какой области задача, какой смысл сейчас обсуждать отчеты.

Еще я не понял чем твой вариант 1 принципиально отличается от варианта 2 и чем вариант 2 отличается от предложенного мной. Общие поля о которых ты пишешь это в моем случае первичный ключ. Только у меня еще и целостность поддерживается. Понимаю, что мы уже давно в офтопике, но проблема интересная.

2 xtony

>Переделывать под технологию клиент-сервер нашу прогу... это даже необсуждаемо.

А зачем тогда спрашивать? И потом не технологию, а постановку задачи, не под клиент-сервер, а под реляционную структуру и не преределывать а переформулировать. Почувствуйте разницу. Никто же не агитирует тебя все на свете засовывать в РСУБД, нужно же знать меру. Но иногда полезно посмотреть (не переделывать, а просто посмотреть) на задачу под другим углом зрения.
...
Рейтинг: 0 / 0
Система с изменяющимися алгоритмами расчета.
    #32210505
Jinn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
c127

>Ты хочешь сказать, что предложенное тобой решение менее геморойно?

Вовсе нет. Я хочу сказать, что ты додумываешь постановку задачи.

"Мишка Шизман башковит - у него предвиденье ..." (с) В.С.Высоцкий

Нормальный разработчик должен иметь опыт и смотреть дальше постановки. Именно это позволяет развивать систему без гимора, не напрягаясь. Лень матушка ... :)

>Попробуй получить общий отчет по всем table_NNN,...

Например, где в постановке слово "отчеты". Мы даже примерно не знаем из какой области задача, какой смысл сейчас обсуждать отчеты.

Еще я не понял чем твой вариант 1 принципиально отличается от варианта 2 и чем вариант 2 отличается от предложенного мной. Общие поля о которых ты пишешь это в моем случае первичный ключ. Только у меня еще и целостность поддерживается. Понимаю, что мы уже давно в офтопике, но проблема интересная.

Про отчеты - см. выше. Если данные хранятся - то потребуются для отчетов.

Про варианты - практически ничем, кроме уменьшения количества таблиц на одну. Твой вариант с таблицей - не более чем использование секвенции в оракле плюс регистрация. И нафига нам поддерживать ссылочную целостность в таблицах, которые сами являются первичными, так сказать? В моем же варианте 1 - мы можем без проблем получить некоторую первичную информацию. Например: наименование товара, код учета, номер склада. А все его параметры мы можем получить отдельным запросом.
...
Рейтинг: 0 / 0
25 сообщений из 159, страница 5 из 7
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Система с изменяющимися алгоритмами расчета.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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