Показать сообщение отдельно
Старый 12.04.2011, 10:51   #9  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,895 / 5650 (194) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Возвращаясь к вопросу нормализации данных, я для себя выработал следующий простой критерий: Назначение всех неслужебных таблиц должно быть объяснимо в терминах специалистов предметной области. Типа: CustInvoiceJour - шапки накладных, CustInvoiceTrans - строки накладных, CustTrans - субконто проводок по поставщику, CustSettlement - данные о сопоставлениях (закрытии друг на друга) платежей и оплат.
Боюсь что "эта ваша" схема разложения складских проводок не в состоянии преодолеть этот простой критерий. А ведь все это придется объяснять не только разработчикам (которые, возможно, когда-то читали про нормальные формы) но и консультантам и пользователям (которые про них, скорее всего не читали).

Ну а насчет консерватизма: Каждый раз когда я вижу какое-то изменение в програмном продукте, я, совершенно точно, знаю что это приведет к дополнительным затратам для пользователя програмного продукта (по крайней мере чтобы научиться). Поэтому, в таких случаях, мне хочется понять, что же позитивного принесет пользователю (в широком смысле - от манагера проекта до бабушки-эндюзера) принесет это изменение. Боюсь что озвученных преимуществ недостаточно чтобы оправдать подобное изменение. К слову сказать, как уже было замечено sukhanchik'ом, высокая степень нормализации, несет заметное снижение производительности. А копеечный выигрыш в размере записей будет с лихвой перекрыт затратами на поддержание табличных структур данных для этих 25-30 таблиц.


Ну и наконец - по поводу документации, которая ждет нас в будущем. Я же видел документацию по версиям 4/2009. Обычно там перечислены галочки, а потом высосан из пальца жизненный пример:"Джейн работает рисовальщиком красных линий в Contoso. Заказчик просит ее нарисовать три красных линии. Джейн открывает модуль рисования красных линий и выбирает пункт меню Нарисовать Красные линии. В появившемся окне, она вводит число красных линий и нажимает Enter". И ко всему этому - штук 10 скриншотов. В общем - на практике быстрее в коде посмотреть, чем продираться через напластования банальшины и пересказа меток.
За это сообщение автора поблагодарили: Link (1), ikopyl (2), ashu (1), pm-erp (1).