Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
МСУwinsky!пропущено... я выше говорил, что решение хорошо в контексте пользователей базы. и я говорил, что в ТАКОМ случае - триггеры хороши (вы наверное пропустили). если пользователь прилоэжения!=пользователь базы, то тут конечно триггеры уже не торты :) Строить безопасность на уровне БД - опять беспощадное зло. Так что от хвоста - еще второй аргумент, что триггера зло. В распределенных системах безопасность можно строиться самыми разными способами. Особенно, если у нас фигурируют несколько СУБД, причем различных. никто не строит безопасность на уровне БД. я этого не говорил. вы описываете один сценарий. я - совсем другой. для вашего сценария треггеры - не айс. но кроме вашего есть другие сценарии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:15 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
winsky!логирование изменений в таблице/таблицах - бизнес-лгика? Причем, как правило, эта информация даже бизнесу важнее, чем админам. Видеть дерево изменений важного документа - почему это не бизнес логика? Очень удобная и важная функция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:15 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
winsky!Алексей Кпропущено... Не единственный, но лучше, чем добавлять поле в таблицу, как это предлагалось кем-то выше. я не предлагал модифицировать исходную таблицу вообще.А я не про Вас, а про " кого-то другого ". :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:16 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
Алексей КТы опять ничего не понял. Про не идеальность мира тут уже писали. значит картинка, всё таки в тему? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:17 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
МСУwinsky!логирование изменений в таблице/таблицах - бизнес-лгика? Конечно. ок. тогда конечно, транзакшн лог, например, - это сущность, относящаяся к бизнес-логике. да? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:17 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
МСУАлексей Кпропущено... Код: sql 1. И что? Всё нормально будет работать - будут доступна историческая цепочка записей в течении недели. Никаких противоречий.Ну как, если информация о текущей транзакции ссылается на информацию о предыдущей, которая удалена? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:17 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
winsky!никто не строит безопасность на уровне БД. я этого не говорил. Разве? Код: sql 1. За твоего "сусера" уже нужно прибивать гвоздями к забору :) winsky!вы описываете один сценарий. я - совсем другой. для вашего сценария треггеры - не айс. но кроме вашего есть другие сценарии У нас один сценарий. Архитектура безопасности приложений, история изменений бизнес данных. Вроде никто о доярках и коровьих надоях не офтопит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:18 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
winsky!ну-ну. выдохните, и скажите, что такое бизнес-логика в вашем понимании что значит, в моём? есть общепринятое понимание, моё ни чем не отличается, так как я пользуюсь общим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:18 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
МСУwinsky!логирование изменений в таблице/таблицах - бизнес-лгика? Причем, как правило, эта информация даже бизнесу важнее, чем админам. Видеть дерево изменений важного документа - почему это не бизнес логика? Очень удобная и важная функция. вот опять - вы описываете совсем отличный от моего сценарий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:18 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
hVosttАлексей КТы опять ничего не понял. Про не идеальность мира тут уже писали. значит картинка, всё таки в тему? :)Согласен. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:18 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
hVosttwinsky!ну-ну. выдохните, и скажите, что такое бизнес-логика в вашем понимании что значит, в моём? есть общепринятое понимание, моё ни чем не отличается, так как я пользуюсь общим. конечно есть. вот исходя из описанного мной сцеанария и определения бизнес-логики я не считаю что данные область относится к бизнес-логике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:20 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
Алексей КСогласен. :-) а вообще, мы все сегодня молодцы! вот: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:21 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
Алексей КМСУпропущено... И что? Всё нормально будет работать - будут доступна историческая цепочка записей в течении недели. Никаких противоречий.Ну как, если информация о текущей транзакции ссылается на информацию о предыдущей, которая удалена? Ну хватит тупить, а? :) Текущая не ссылается на предыдущую! Транзакция ссылается на документ . Дерево строится на иерархии дат. Еще раз. 1. Таблица документов - Documents (DocumentId, Value1, Value2) 2. История - DocumentsHistory (DocumentId, Value1, Value2, Date, UserId, OperationId) Всё. Тут нету даже ключа DocumentsHistoryId, он и не нужен. Битых ссылок быть не может априори. Документы из Documents физически удалять нельзя, только маркировать удалением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:21 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
winsky!hVosttпропущено... что значит, в моём? есть общепринятое понимание, моё ни чем не отличается, так как я пользуюсь общим. конечно есть. вот исходя из описанного мной сцеанария и определения бизнес-логики я не считаю что данные область относится к бизнес-логике. нужно определиться, эта история или логирование.. это часть бизнеса или нет? лог будет отображаться в интерфейсе пользователя? им можно как-то из программы управлять? например, отключать? или менять логику записи/ведения истории? если да, то триггеры зло. если же это историческое логгирование живёт само по себе и никакой связи с приложением нет, то можно и триггеры. даже нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:22 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
hVosttАлексей КСогласен. :-) а вообще, мы все сегодня молодцы! вот: Не только сегодня. Всю неделю дотнетные топики в топе. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:23 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
hVosttесли же это историческое логгирование живёт само по себе и никакой связи с приложением нет, то можно и триггеры. даже нужно. И даже в этом случае не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:23 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
Алексей КhVosttпропущено... а вообще, мы все сегодня молодцы! вот: Не только сегодня. Всю неделю дотнетные топики в топе. :-) хм, ну мы тогда всю неделю молодцы теперь можно и пивка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:24 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
МСУwinsky!никто не строит безопасность на уровне БД. я этого не говорил. Разве? Код: sql 1. За твоего "сусера" уже нужно прибивать гвоздями к забору :) winsky!вы описываете один сценарий. я - совсем другой. для вашего сценария треггеры - не айс. но кроме вашего есть другие сценарии У нас один сценарий. Архитектура безопасности приложений, история изменений бизнес данных. Вроде никто о доярках и коровьих надоях не офтопит. МСУ, давайте без гвоздей. просто порассуждайте. представье, что используется только windows аутентификация, пользователь всегда известен в контексте запроса... чем плохо-то? аргументируйте. аргумент - это плохо потому что плохо и где мои гвозди - не катит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:24 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
МСУhVosttесли же это историческое логгирование живёт само по себе и никакой связи с приложением нет, то можно и триггеры. даже нужно. И даже в этом случае не нужно. ну тут уже зависит от степени придроченности ко всяким T-SQL/PL-SQL, некоторых знаешь ли не оторвёшь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:25 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
winsky!что используется только windows аутентификация сегодня только Windows, а завтра прикрутили двух-факторную на внешнем сервере.. и что делать? всё тут же отвалилось? ну уж нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:26 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
МСУАлексей Кпропущено... Ну как, если информация о текущей транзакции ссылается на информацию о предыдущей, которая удалена? Ну хватит тупить, а? :) Текущая не ссылается на предыдущую! Транзакция ссылается на документ . Дерево строится на иерархии дат. Еще раз. 1. Таблица документов - Documents (DocumentId, Value1, Value2) 2. История - DocumentsHistory (DocumentId, Value1, Value2, Date, UserId, OperationId) Всё. Тут нету даже ключа DocumentsHistoryId, он и не нужен. Битых ссылок быть не может априори. Документы из Documents физически удалять нельзя, только маркировать удалением.Ну какая разница, как строится цепочка транзакций, привязанных к документу, через явную ссылку DocHistoryID, или через DocID + LogDate. Верь мне! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:26 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
hVosttwinsky!что используется только windows аутентификация сегодня только Windows, а завтра прикрутили двух-факторную на внешнем сервере.. и что делать? всё тут же отвалилось? ну уж нет. с какого бодунища, простите? я же вам говорю, не пытайтесь сильно абстрагироваться - есть конткретно окружение, оно не изменится в обозримом будущем. в этом окружении и при описанном мною сценарии все работает просто прекрасно. это просто проверено. это НЕ универсальное решение. И, например, проектируя абсолютно новую систему, я бы врядли использовал такой подход. Но таки он имеет право на жизнь. я просто противник абсолютизма. есть у триггеров ниша своя... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:30 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
сегодня, пятницо, кстати. МСУ, какдила? :) я давно не заходил сюда... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:31 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
winsky!МСУ, давайте без гвоздей. просто порассуждайте. представье, что используется только windows аутентификация, пользователь всегда известен в контексте запроса... чем плохо-то? аргументируйте. аргумент - это плохо потому что плохо и где мои гвозди - не катит Ок. Сейчас используется только windows аутентификация. Потом еще попросится формс аутентификация. Потом роли. Роли в базе храним. А потом хук с правой, выкинули MS SQL и купили Oracle. В случае с безопасностью уровня сервере приложений - нам пох. В твоем варианте задача не выполнимая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:31 |
|
||
|
способы записи в таблицу историю
|
|||
|---|---|---|---|
|
#18+
hVosttМСУпропущено... И даже в этом случае не нужно. ну тут уже зависит от степени придроченности ко всяким T-SQL/PL-SQL, некоторых знаешь ли не оторвёшь Отрываем с помощью молотка и лома. Ну ты знаешь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 16:32 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38780272&tid=1356925]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 252ms |
| total: | 414ms |

| 0 / 0 |
