Здравствуйте, MadHuman, Вы писали:
MH> Если Sum(Сотрудник.ИсполняемыеДолжности.ЗанимаемаяСтавка, по ШтатнойЕдинице) > ШтатнаяЕдиница.РазрешенныхСтавок то ругаемся "Число ставок по дложности такой=то превышает кол-во разрешенных".
Бизнес-правило в чистом виде ...
MH>Что бы хотелось: некую надстройку над БД, в которой описывалась структура предметной области данных, связи между ними. И самое главное — какой-то язык и engine запросов, чтобы проще описывать подобные запросы к данным. Понятно что на хитрых выборка и гиганстских агрегациях данных это все в разы будет медленнее прямых запросов, но для этого такая надстройка и не будет испольоваться (будут использоваться прямые SQL запросы к БД). Специфика приложения — небольшие точечные выборки, но по сложной модели данных — и большое их кол-во и часто могут меняться. Всякие Cache , ObjectDB и т.п. объектные БД не подходят, тк в качестве хранилища используется РБД MSSQL и ее менять на "настоящие" объектные БД нет смысла.
Возможно, имеет смысл написать бизнес-логику на классах, а маппинг на БД сделать через подходящий для ваших средств разработки OPF (Object Persistent Framework) -- по этому словосочетанию можно и погуглить -- есть как коммерческие, так и бесплатные. Для Java например есть Hibernate -- it's for free.
MH>Буду признателен за ссылки по теме и просто за дельные мысли, а также есть интерес в приобретении готовых решений или поучаствовать в подобных проектах (возможно и финансово)...
Возможно вам подойдут и бесплатные