|
su.dbms.sql- SU.DBMS.SQL ------------------------------------------------------------------ From : Serg Vasiltsoff 2:5020/400 09 Apr 2001 23:12:54 To : All Subject : Re: Дремина хитрость 2 -------------------------------------------------------------------------------- > Реальный пример: Справочник "Основные средства". > Есть несколько подразделений, работающих с этим справочником: Со справочником не работают, его _смотрят_, на то он и правочник. Если с ним _работают_, то это уже - основная таблица под названием "основные средства". К слову, справочник, как правило, называется "типы основных средств", и его действительно только смотрят. > 1) Бухгалтерия (0100 счет). Hужны поля Код, Hаименование, % амортиз, > Вид деятельности и тп... > 2) Транспортный отдел (учет ГСМ). Автомобили - это ОС. Марка, Завод изготовитель, > номер ГИБДД, пробег и пр. > 3) РМЦ (Ремонтно Механический цех) производит ОС - чертеж, > состав и пр.. > > В каждом этом отделе нужны только свои поля, как вы решаете эту проблему? Делается, например, хранилище дополнительных полей из (примитив) двух таблиц - типы полей и значения полей. Дальше продолжать? Значения ссылаются на основную таблицу (в идеале - Id основного средства) и на описатель. кому и с чем работать - элементарно раздается на уровне соотношений пользователь - описатель - допустимое действие. Дальше - вьюшки / триггера / процедуры. P.S.Я не оспариваю подход и работоспособность проекта, по всему видно, что система достаточно продумана (по-своему) и даже работает, но это - нетипичное использование SQL сервера, что и является причиной "наездов" со стороны "аборигенов" ;) Идеальной коррекцией ситуации станет введение третьего уровня - сервера приложений и перевод клиента с общения с сервером (SQL) на общение с сервером приложений, а уже сервер приложений будет делать всю грязную работу по составлению и исполнению запросов. В этом случае Ваша система - близка к идеалу, ибо сочетает (ценой дублирования системного каталога) гибкость настроек и легкость дальнейшего роста. --- ifmail v.2.15dev5 * Origin: Lime Systems (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms.sql/1200537853499.html, оценка из 5, голосов 10
|