|
|
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Здравствуйте Не знал даже как правильно написать тему для данной проблемы, поэтому заранее прошу простить Решая реальную задачку столкнулся с такой бедой: Есть, предположим, табличка "Документ", и много справочников. Эта табличка содержит ссылки на справочники. И вот если какой то из них будет изменен, то старые данные на которые ссылался этот "Документ" будут потеряны(ведь у нас там только ссылка а данные в справочники поменялись)... Как же сделать так, чтобы эти данные никуда не пропадали при изменении справочников. Я для себя вижу два варианта: 1) Сказать пользователю, что мол нельзя так делать и надо создавать новый справочник 2) Дублировать поля справочников в "Документе" и при создании "Документа" копировать просто инф. из справочников. 1й способ думаю полный бред... 2й еще куда ни шло, но пугают те самые фундаменты: мол БД для того, чтобы сократить объем хранимой информ. и не дублировать ее и тд. и тп. Дублирования будет не так уж много ибо БД прямо скажем маленькая, но вот поддерживать потом как, если она начнет разрастаться... Уверен есть способы много лучше! Подскажите как быть. Литературой, советом, чем угодно! Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 17:37 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Погугли "периодические реквизиты". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 17:41 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
doofy, Как по вашему чем отличается справочник от документа?.. Ответив на этот вопрос сможете понять что у вас не так. Если наугад то неправильная организация, а не структура БД. Хотя это только догадка а не факт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 17:56 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Злой Бобр, нормальная догадка, не то что догадки товарисча до тебя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 17:57 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Злой Бобр, авторКак по вашему чем отличается справочник от документа? Чем по-вашему? авторОтветив на этот вопрос сможете понять что у вас не так. Судя по всему вы знаете? К чему загадки? Можете сказать что не так чего уж там... авторнеправильная организация, а не структура БД. Ну так я не отрицаю, речь как раз о том, что я не знаю как правильно, да и вообще каких-то методик де-факто или что-то в этом роде. В качестве примера могут быть такие таблички: Документ - Заказы Справочник - Книги Изменилось название у книги(так вот захотели) вот и все дела, и в "старом" заказе уже не та книга, что была когда-то. Это конечно не моя база, но для примера сгодится думаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 19:12 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
doofy, Сибиряков Вам дал вполне практичный совет (правда имхо именно такие слова в гугле быдут выдавать много 1С-а, что не добавит ясности) Если кратко - у элемента справочника вводятся периоды актуальности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 19:21 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
doofyИзменилось название у книги(так вот захотели) Хренасе у вас хотелки... А весь напечатанный тираж отозвали чтобы поменять обложку?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 19:27 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, авторХренасе у вас хотелки... А весь напечатанный тираж отозвали чтобы поменять обложку?.. "хотелки" не мои) Так и знал, что будут привязываться к конкретному примеру. Нельзя ли абстрагироваться от него? Ну или взять за данность - такая вот "хотелка"... это же не точь в точь как оно есть, не нравятся книги возьмите что-нибудь другое "Клиенты", например, человек, который сменил фамилию, так будет проще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 19:33 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
doofyDimitry Sibiryakov, авторХренасе у вас хотелки... А весь напечатанный тираж отозвали чтобы поменять обложку?.. "хотелки" не мои) Так и знал, что будут привязываться к конкретному примеру. Нельзя ли абстрагироваться от него? Ну или взять за данность - такая вот "хотелка"... это же не точь в точь как оно есть, не нравятся книги возьмите что-нибудь другое "Клиенты", например, человек, который сменил фамилию, так будет проще? да пофиг, пусть хоть пол сменит, тебе то какое дело? ты ж не обязан следить за его жизнью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 19:40 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
или все ж обязан может? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 19:42 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
ViPRos, Ваша правда! ) Пускай меняет)) Не обязан ему ничем. Но ведь задачу то надо как то решить Простите, я не совсем понимаю о чем вы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 19:44 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин, периоды актуальности...что то в этом может и есть...правда пока что не могу понять как мне это поможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 19:45 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин у элемента справочника вводятся периоды актуальности. +1 или более рассширенный вариант - 2 таблицы - собственно справочник с неизменными элементами - история изменений элементов с периодом актуальности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 20:24 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
doofy, "Вам шашечки или ехать?" (с) не мое но в тему. Я то знаю чем отличается. Но проблема ведь не у меня. Если думаете что вам тут начнут разжевывать теорию - очень ошибаетесь. За теорией обращайтесь к учителям. Тут только могут послать в правильном направлении. Поэтому если хотите посыла - выкладывайте что у вас и как. По другому думаю никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 20:29 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
doofy, наоборот, номер 2 --полный бред. надо делать 1. к тому же не парься так сильно, 90% справочников никогда не меняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 20:44 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
doofy, введите таблицу "история изменений" - id - id записи ваших таблиц - имя поля - старое значение - новое значение - дата, время изменения периодические реквизиты не спасут от отслеживания изменений, например, наименование справочника. изменения ссылки на справочник - решат, но не само изменение полей! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2015, 00:07 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Есть товар Велосипед трехколесный металлический у енго есть ставка НДС = 10% вдруг наш парламент решает, что нужно применить 18% это просто вариант, сложнее: этот велик возят из-за рубежа и разные таможни по-разному (ставки НДС) его растомаживают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2015, 08:17 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Уважаемый авторвведите таблицу "история изменений" - id - id записи ваших таблиц - имя поля - старое значение - новое значение - дата, время изменения Я бы сделал так: для каждой таблицы сделать историческую таблицу: - id - id записи ваших таблиц - значение - дата начала, - дата окончания -время изменения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2015, 10:06 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
SergueiУважаемый авторвведите таблицу "история изменений" - id - id записи ваших таблиц - имя поля - старое значение - новое значение - дата, время изменения Я бы сделал так: для каждой таблицы сделать историческую таблицу: - id - id записи ваших таблиц - значение - дата начала, - дата окончания -время изменения Что Вы выиграете от того что это будет отдельная таблица? Запросы на получение нужного значения будут, очевидно, сложнее. Вероятность коллизии в данных - выше. Что будет проще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2015, 12:37 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
doofy, для меня бы был основной вопрос такой: надо ли знать, что "Изделие #1" из справочника в определенный момент было переименована в "Изделие #2", а потом еще и в "Изделие №3". Если да - заморачивайтесь с периодическими реквизитами, как вам и советовали выше. Вариантов как это сделать - тысячи, от доп таблиц до просто ссылок на родительскую запись при "клонировании" и использовании одной таблицы. Если нет - делайте вместо редактирования - дублирование записи с новыми параметрами/реквизитами в справочнике и запретите редактирование справочников как таковое. Имхо самый простой вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2015, 13:01 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Mikle83doofy, для меня бы был основной вопрос такой: надо ли знать, что "Изделие #1" из справочника в определенный момент было переименована в "Изделие #2", а потом еще и в "Изделие №3". хранить все не нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2015, 14:42 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
а вот у меня вопрос - сколько записей в справочнике, связанном с "документом" ? Наверное не одна (иначе это был бы не справочник), а если не одна то ссылка в Документе должна на быть на конкретную запись из справочника. Долее с правами доступа к этой записи : при попытке удалить - предупреждение: имеются связанные документы), при попытке редактировать - предупреждение о наличии связанных документов (при большом количестве пользователей функцию редактирования в таком случае вообще исключить нужно). Другими словами - однажды созданные связи должны оставаться в первозданном виде, до тех пор пока не будут изменены из первоначальной точки создания ( т.е. в нашем случае только из Документа) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2015, 16:05 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Злой БобрТут только могут послать в правильном направлении. А могут и в не правильном) Вот такая суровая реальность)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2015, 08:46 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
doofyDimitry Sibiryakov, авторХренасе у вас хотелки... А весь напечатанный тираж отозвали чтобы поменять обложку?.. "хотелки" не мои) Так и знал, что будут привязываться к конкретному примеру. Нельзя ли абстрагироваться от него? Ну или взять за данность - такая вот "хотелка"... это же не точь в точь как оно есть, не нравятся книги возьмите что-нибудь другое "Клиенты", например, человек, который сменил фамилию, так будет проще? Тут лучше не абстрагироваться, а как раз наоборот, давайте конкретный пример. У каждого случая свое решение. Поменяли НДС? Храните НДС в заказе, а что в этом страшного. Клиент сменил ФИО? А зачем вам ФИО? Чтобы светить в списке заказов? Да и хрен с ним, пусть новое ФИО светится. Или для того чтобы какой-нибудь бланк заказа от заднего числа печатался с тем же ФИО, которое было на ту дату? Для печати я бы вообще хранил реквизиты в отдельной таблице. Т.е. при печати они сохраняются в этой таблице и печатаются из нее. Если это конечно критично в вашем случае. Или просто сохраняйте конкретный распечатанный документ (pdf). У кредитного продукта поменялась ставка, а по старым кредитам ставка должна остаться прежней? Храните ставку в конкретном договоре клиента. Ну и т.д. А в каких-то случаях, действительно, периодический справочник сгодится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2015, 08:57 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
doofyЕсть, предположим, табличка "Документ", и много справочников. Эта табличка содержит ссылки на справочники. И вот если какой то из них будет изменен, то старые данные на которые ссылался этот "Документ" будут потеряны(ведь у нас там только ссылка а данные в справочники поменялись)... Как же сделать так, чтобы эти данные никуда не пропадали при изменении справочников. Я для себя вижу два варианта: 1) Сказать пользователю, что мол нельзя так делать и надо создавать новый справочник 2) Дублировать поля справочников в "Документе" и при создании "Документа" копировать просто инф. из справочников. Может чота не понял, но по-моему все классически просто: в таком случае (при изменении справочника) делается не прямой апдейт записей, а текущая запись становится архивной (например проставляется дата архивации или поле-признак), и добавляется новая запись, т.о. все записи документов будут ссылаться на прежние данные, а для новых документов выводим только текущие актуальные записи справочника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2015, 10:33 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
doofy, Не далее как сегодня приходит заявка, надо поменять название организации в справочнике организаций. Для старого названия устанавливаю признак логического удаления (запись не удаляется, но в списках выбора уже не отображается). Создаю запись с новым названием. Это не самое правильное решение, но программа не моя, а условиям задачи удовлетворяет. Более правильное решение с датами Вам писали выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2015, 11:02 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
MUSYAKA, Вообщем как то так и делалось раньше, когда можно было сказать заказчику "делайте так" Но пользователю плевать на это, им нужно так как они просят не сделаешь ты сделают другие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2015, 16:53 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
JDS, Неплохая мысль, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2015, 16:54 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Всем спасибо! Хорошие советы. Буду пробовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2015, 16:55 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
JDSdoofyЕсть, предположим, табличка "Документ", и много справочников. Эта табличка содержит ссылки на справочники. И вот если какой то из них будет изменен, то старые данные на которые ссылался этот "Документ" будут потеряны(ведь у нас там только ссылка а данные в справочники поменялись)... Как же сделать так, чтобы эти данные никуда не пропадали при изменении справочников. Я для себя вижу два варианта: 1) Сказать пользователю, что мол нельзя так делать и надо создавать новый справочник 2) Дублировать поля справочников в "Документе" и при создании "Документа" копировать просто инф. из справочников. Может чота не понял, но по-моему все классически просто: в таком случае (при изменении справочника) делается не прямой апдейт записей, а текущая запись становится архивной (например проставляется дата архивации или поле-признак), и добавляется новая запись, т.о. все записи документов будут ссылаться на прежние данные, а для новых документов выводим только текущие актуальные записи справочника. Ограничения уникальности на название элемента справочника будет особенно удобно реализовывать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2015, 17:01 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинJDSпропущено... <>. Ограничения уникальности на название элемента справочника будет особенно удобно реализовывать :) Код: sql 1. или ваше наколенное поделие не умеет частичных индексив ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2015, 17:34 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
эттаКот Матроскинпропущено... Ограничения уникальности на название элемента справочника будет особенно удобно реализовывать :) Код: sql 1. или ваше наколенное поделие не умеет частичных индексив ? При чем тут мое "наколенное поделие", старина? ТС ничего про свой сервер не писал - может и не поддерживать. Не говоря уж про то что переносимое решение при прочих равных лучше, нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2015, 17:43 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Кот Матроскинэттапропущено... Код: sql 1. или ваше наколенное поделие не умеет частичных индексив ? При чем тут мое "наколенное поделие", старина? ТС ничего про свой сервер не писал - может и не поддерживать. Не говоря уж про то что переносимое решение при прочих равных лучше, нет?как бы очевидно обратное "переносимое решение при прочих равных" -- хуже -- как и всякая погоня за универсальностью в ущерб производительности. но не расстраивайтесь, старина, даже в оракл частичные индексы эмулируются. возможно и в вашем любимом поделии -- найдётся решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2015, 17:50 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
эттаКот Матроскинпропущено... При чем тут мое "наколенное поделие", старина? ТС ничего про свой сервер не писал - может и не поддерживать. Не говоря уж про то что переносимое решение при прочих равных лучше, нет?как бы очевидно обратное "переносимое решение при прочих равных -- хуже -- как и всякая погоня за универсальностью в ущерб производительности. . *facepalm* ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2015, 17:57 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Кот Матроскинэттапропущено... как бы очевидно обратное "переносимое решение при прочих равных -- хуже -- как и всякая погоня за универсальностью в ущерб производительности. . *facepalm* не в коня корм переносимое == отказавшееся от оптимальных частных решений при "прочих равных" (т.е. в сферическом вакууме) -- такой отказ -- всегда хуже так что можешь хоть весь фейс себе своротить , пальмом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2015, 18:04 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинНе говоря уж про то что переносимое решение при прочих равных лучше, нет? В своё время на этот счёт была хорошая фраза. Не буду переводить обратно на английский, скажу так: "Говорить о том, что Java лучше, поскольку подходит для любой ОС - примерно то же самое, что говорить, что анальный секс лучше, поскольку подходит для любого пола". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2015, 15:30 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
softwarer... пропущено "Говорить о том, что Java лучше, поскольку подходит для любой ОС - примерно то же самое, что говорить, что анальный секс лучше, поскольку подходит для любого пола". Может быть все-таки оральный? Анальный для любого пола подойдет вряд ли. Во всяком случае без дополнительных приспособлений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2015, 15:45 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Pulsar_p, ну софтварер же теоретик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2015, 15:57 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
а может и эгоист (не в обиду, уж больно пошлую фигню сказал) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2015, 15:58 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Pulsar_pАнальный для любого пола подойдет вряд ли. Взгляд на этот вопрос - это любопытный психологический момент (однако, к тематике форума имеющий отношение только через привычку некоторых мемберов делать всё через задницу) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2015, 16:08 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Ну это в Европе нынче модный тренд. Слава Богу, не у нас! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2015, 16:26 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
JDSМожет чота не понял, но по-моему все классически просто: в таком случае (при изменении справочника) делается не прямой апдейт записей, а текущая запись становится архивной (например проставляется дата архивации или поле-признак), и добавляется новая запись, т.о. все записи документов будут ссылаться на прежние данные, а для новых документов выводим только текущие актуальные записи справочника. Плохое решение! Например, клиент поменял название юридическое, а взаиморасчеты надо строить фактически по клиенту. Усложняются выборки и связи в отчетах и т.д. Второй пример, сотрудница вышла замуж и сменила ФИО. Заводить нового сотрудника не верно! Как учитывать в расчетах прежние начисления? поэтому, только механизмы учитывающие периодические изменения! выше структуру приводил! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 01:45 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Уважаемый авторПлохое решение! .... поэтому, только механизмы учитывающие периодические изменения! Вообще-то, JDS привёл один из вариантов "механизма учитывающего периодические изменения" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 02:28 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Уважаемый автор Плохое решение! Например, клиент поменял название юридическое, а взаиморасчеты надо строить фактически по клиенту. Усложняются выборки и связи в отчетах и т.д. Второй пример, сотрудница вышла замуж и сменила ФИО. Заводить нового сотрудника не верно! Как учитывать в расчетах прежние начисления? поэтому, только механизмы учитывающие периодические изменения! выше структуру приводил! 1. все верно, приведен самый простой вариант, чтобы достичь цели, о которых говорите, никто не мешает: а) завести отдельную таблицу истории б) по-прежнему обходиться одной таблицей с добавлением parent_id в) другие варианты (историю хранить в отдельном поле текущей же записи типа вложенная таблица, xml и т.п.) 2. в то же время: Уважаемый авторвведите таблицу "история изменений" - id - id записи ваших таблиц - имя поля - старое значение - новое значение - дата, время изменения Именно такой вариант приемлем, если в целом данные хранятся в базе развернутые "вертикально" (имя поля - значение), таких систем мало встречал, как и систем с таким механизмом историчности. Если же данные хранятся "горизонтально" (таблицы не из двух полей :), то для поддержания историчности типа "имя поля-старое значение-новое значение" придется довольно капитально перепиливать систему, практически все отчеты, с вероятностью 99%, придется переползать переползать на динамический скл, что совсем не делает систему внутри удобочитаемой, да и по быстродействию просядем немного. А так да, отдельная табличка - вполне нормально, не спорю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 09:44 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Уважаемый авторвведите таблицу "история изменений" - id - id записи ваших таблиц - имя поля - старое значение - новое значение - дата, время изменения Да не. Все-таки: имя поля+старое знач.+новое знач.... Представляете, как будет строиться и отрабатывать запрос, чтобы достать все поля документа? Не секрет, что бывают документы и с овер сотней полей, понятно, что не все они будут с историей, но тем не менее, для каждого надо будет отдельно доставать его значение? В общем смотря какая конечная цель и текущая структура данных, но имхо, в основном оперируют целыми записями (единственный контраргумент, кот. может быть в этом случае - место на диске, если архивные записи плодятся в диких количествах )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 09:57 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Уважаемый авторНапример, клиент поменял название юридическое, а взаиморасчеты надо строить фактически по клиенту. У Ну документ выписанный год назад не должен при сегодняшнем просмотре на него ОТЛИЧАТСЯ, от своего состояния годичной давности. Так что в нем как раз и должно быть старое наименование!!!! p.s. SCD2 - все уже давно придумано за нас ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 11:24 |
|
||
|
Дублирование информации в таблицах
|
|||
|---|---|---|---|
|
#18+
Ivan DurakНу документ выписанный год назад не должен при сегодняшнем просмотре на него ОТЛИЧАТСЯ, от своего состояния годичной давности. Так что в нем как раз и должно быть старое наименование! Там речь не о документе, а о взаиморасчетах - т.е. в отчете мы должны условно подбить баланс по одной организации, хотя у нее уже типа две записи, поэтому речь о том, чтобы основная запись клиента всегда была одна, но с историей изменения, в документах отображать исторические данные, но иметь сущность, которая бы отражала организацию в целом для удобства тех же взаиморасчетов ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 11:36 |
|
||
|
|

start [/forum/topic.php?all=1&fid=32&tid=1540471]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
155ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 506ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...