Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Есть ли в Cache возможность реализовать темпоральную базу данных? / 13 сообщений из 13, страница 1 из 1
13.09.2007, 10:10
    #34796550
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли в Cache возможность реализовать темпоральную базу данных?
Уважаемые участники форума, скажите пожалуйста, есть ли в Cache возможность организовать темпоральную базу данных? при этом чтоб она отвечала всем трем правилам нормализации .
Допустим есть некое свойство типа "Фамилия", сначала оно было равно допустим "Иванова", потом человек вышел замуж и поменял фамилию допустим с 01.01.2007 на "Петрова". Соответственно приказы до этой даты на сотрудника были на старую фамилию, а с 01.01.2007 уже на новую.
Подскажите пожалуйста как мне реализовать такой процесс "не перенасыщая" базу?
Извиняюсь заранее, если такая тема уже существует.
...
Рейтинг: 0 / 0
13.09.2007, 10:19
    #34796577
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли в Cache возможность реализовать темпоральную базу данных?
Как бы вы решали эту задачу не на каше?
...
Рейтинг: 0 / 0
13.09.2007, 11:09
    #34796782
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли в Cache возможность реализовать темпоральную базу данных?
У нас все отслеживается по ID гражданина. Этому ID есть подчиненая табличка со старыми ФИО и датой смены...
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
13.09.2007, 11:37
    #34796910
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли в Cache возможность реализовать темпоральную базу данных?
сейчас это реализовано (не мной) так: в информации о человеке лежит его фамилия и в приказе лежит его фамилия (и не только), т.е. база не отвечает НИКАКИМ требованиям нормализации.
1. Я думаю можно сделать так: свойство фамилия сделать %List(%Array) и дополнительно вести свойство в котором будет записано какое поле с какого числа и по какому основанию было изменено, а дальше отслеживать все измененные поля если запрос не на текущую дату. (помоему геморойно).
2. Тоже самое что предложил krvsa + основание
3. может быть есть еще какие варианты? хотелось бы учесть все
...
Рейтинг: 0 / 0
13.09.2007, 11:55
    #34796998
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли в Cache возможность реализовать темпоральную базу данных?
Нормализация же преследует определенные цели - борьба с аномалиями изменения, удаления и т.д (насколько я это по крестьянски понимаю).

Но в приведенном вами примере далеко не факт, что это аномалия. Возможно, в приказе вообще фамиля должна лежать текстом и не должна изменяться вслед за изменением справочника сотрудников.

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

Если же переделывате существующую базу и страшно что-то поломать, то текущее значение проще хранить в основной таблице (как по старому), а значения истории (которых раньше не было) - проще хранить в отдельной таблице.
...
Рейтинг: 0 / 0
13.09.2007, 14:10
    #34797687
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли в Cache возможность реализовать темпоральную базу данных?
пока ничего не переделываю но планы строятся, хочу исполнить граммотно
...
Рейтинг: 0 / 0
14.09.2007, 16:29
    #34801605
Rus000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли в Cache возможность реализовать темпоральную базу данных?
согласен с Блок А.Н. насчет целесообразности ведения хронолгического справочника сотрудников. Больше в нем минусов а плюсов чуть
...
Рейтинг: 0 / 0
16.09.2007, 15:51
    #34803317
FenderJB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли в Cache возможность реализовать темпоральную базу данных?
Классическая проблема ведения архива изменений
Когда начал писать серьезные приложения с использованием объектов , сразу возник этот вопрос.
Если тупо создавать дополнительные таблицы для каждого свойства каждой таблицы это просто кошмар.
Тем не менее я эту проблему решил не выходя за рамки объектной парадигмы Cache.
Короче нужно, чтобы в глобале ^Person было нечто вроде

^Person(id,"archiv",n)=$lb(prop,value.....)

для этого надо организовать в объекте Person свойство archiv типа array

ну а дальше все просто
...
Рейтинг: 0 / 0
16.09.2007, 18:46
    #34803472
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли в Cache возможность реализовать темпоральную базу данных?
Угу. Так удобно делать, если эта информация потом никому не нужна, кроме как посмотреть, например историю текстовых полей.

И если историю эту цеплять придется к каким нибудь таблицам - очень неудобно.
Например, попробуйте организовывать например историю тарифов - работать с этим будет очень тяжко.

Кстати у нас сохраняется в истории весь объект - так намного проще восстановить историю его изменения в хронологическом порядке.

В общем, все как всегда - надо на месте посмотреть, что же именно будет удобнее.
...
Рейтинг: 0 / 0
17.09.2007, 08:46
    #34803831
FenderJB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли в Cache возможность реализовать темпоральную базу данных?
Блок А.Н.
Кстати у нас сохраняется в истории весь объект - так намного проще восстановить историю его изменения в хронологическом порядке.

Я об этом не знал. А можно об этом поподробней
...
Рейтинг: 0 / 0
17.09.2007, 09:13
    #34803866
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли в Cache возможность реализовать темпоральную базу данных?
Не, у нас никакой автоматики, все тем же array реализовано, хвалиться то нечем.
В в массиве лежит объект, который содержит часть объекта, по которой нужно вести историю.

Восстановить историю объекта нам так показалось проще.
...
Рейтинг: 0 / 0
17.09.2007, 09:27
    #34803888
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли в Cache возможность реализовать темпоральную базу данных?
Ой попалитесь вы сосвоими массивамии коллекциями... Ой попалитесь... Поезду нужны ровные рельсы.
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
17.09.2007, 09:50
    #34803947
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли в Cache возможность реализовать темпоральную базу данных?
Знаем, уже выковыривали эти array из некоторых классов.

Но дело в том, что в в критичных по скорости местах (массовая обработка) мы объекты не используем, только COS и SQL.
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Есть ли в Cache возможность реализовать темпоральную базу данных? / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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