|
Foreign key VS triggers
|
|||
---|---|---|---|
#18+
Ну що ты докопался до общины, аки пьяный до радио? В природе можно сделать всё что сделать можно. Просчитавши все влияющие факторы и возможные последствия в конкретном частном случае. Тебе что, обязательно нужно чтоб папа разрешил? Чтоб в случае чего было кого ругать? Не буду я вникать в каждый частный случай, у меня своих выше крыши. С принципами знаком, опасности знаешь - вперёд на мины. Самостоятельно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2006, 21:11 |
|
Foreign key VS triggers
|
|||
---|---|---|---|
#18+
SextonУгу, намек понял.Никуя ты не понял!... Амрис привел тебе пример (один из) шустрого Гонзалеса. Теперь обдумай когда, что и с чем будет. Если не получается в уме - рисуй на бумажке. SextonНо блокировку я подразумевал делать в триггерах детали, а не с приложения-клиента... Если в этом способе такое допустимо, почему недопустимо в вышеприведенном Начинаешь доставать... Кроме того, удивляешь упорством достойным лучшего применения. Перечитай топик, со второго раза думаю должно дойти. Топики Дилайна тоже перечитай - вижу что не осмыслил, т.к. там это тоже обсуждалось вроде. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2006, 21:47 |
|
Foreign key VS triggers
|
|||
---|---|---|---|
#18+
Ой, пост Амриса не заметил. Заметил бы, не стал бы наезжать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2006, 21:48 |
|
Foreign key VS triggers
|
|||
---|---|---|---|
#18+
Спокойно, любители загадок. Видимо, на этом короткая дискуссия по вопросу замены FK на триггеры с блокоровкой мастер-записи и закончится, поэтому резюмирую свое мнение. Кто захочет поправить, дополнить, послать - пожалуйста. Следующие триггеры можно использовать как замену FK, не запрещая удаление из мастера и не используя монопольный режим, в случае, когда одновременное редактирование одного и того же мастера (и его деталей) происходит не часто (влияет лишь на вероятность возникновения lock-конфликта): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37.
Посты Di_LIne просмотрел бегло, вроде бы ничего подходящего по теме не заметил. Но и других топиков хватает, но обсуждения блокировки мастера для замены FK не обнаружил, вполне возможно, плохо смотрел. Меня это интересует только с теоретической стороны. Для себя пока практической нужды не вижу в этом. Не все бойцы - турнирные, Amris, или не всегда. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2006, 04:18 |
|
Foreign key VS triggers
|
|||
---|---|---|---|
#18+
SextonСпокойно, любители загадок.Сенкс на добром слове. Желание помочь, если где запутаешься в следующий раз, поубавилось. Sextonв случае, когда одновременное редактирование одного и того же мастера (и его деталей) происходит не частоВсе, дальше можно не читать, потому как неинтересно. SextonМетод, безусловно, проктологический.Впрочем, сам же и сознался. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2006, 04:47 |
|
Foreign key VS triggers
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам SextonСпокойно, любители загадок.Сенкс на добром слове. Желание помочь, если где запутаешься в следующий раз, поубавилось. Рустам , а почему это выражение воспринято с негативным смыслом? Как уже тут было замечено, в других форумах "серьезный технический тон" (со второй частью высказывания по поводу "жлобства" совсем не согласен). А в этом форуме редко отвечают напрямую, все больше загадками (впрочем, вопросы задают еще большими загадками, и я не исключение). Но именно это заставляет лишний раз подумать, что несомненно приносит только пользу. Так что в "любители загадок" в данном случае я вложил положительный смысл. Сама идеология "общественного" продукта Firebird распологает к не стандартному мышлению и общению. Гаджимурадов Рустам Sextonв случае, когда одновременное редактирование одного и того же мастера (и его деталей) происходит не частоВсе, дальше можно не читать, потому как неинтересно. Но вероятность lock-конфликтов в базе - норма жизни (если не wait, конечно). Конечно, если у одного мастера тысячи деталей, а сотни машинисток хотят долбить детали именно этого мастера, то его блокировка может стать серьезной проблемой. Но, по крайней мере, блокировка мастера - более мягкий способ в смысле разграничения доступа, чем монопольный режим работы. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2006, 05:23 |
|
Foreign key VS triggers
|
|||
---|---|---|---|
#18+
Sexton Рустам , а почему это выражение воспринято с негативным смыслом?Хм... А я должен был ему обрадоваться? Ладно, здесь не архив учета грехов и обид, посему забудем. SextonКак уже тут было замеченоМлин, нашел аворитета. Кроме того, там же ему и ответили. SextonА в этом форуме редко отвечают напрямую, все больше загадками (впрочем, вопросы задают еще большими загадками, и я не исключение). Но именно это заставляет лишний раз подумать, что несомненно приносит только пользу.Неправда, что все больше загадками. На большую часть (может даже и на все) вопросов новичков есть ответы (прямо или косвенно) в архивах форума и на ibase.ru. Впрочем насчет пользы загадок ты сам часть правды уже выдал - думать (хотя бы пытаться) иногда полезно. SextonНо вероятность lock-конфликтов в базе - норма жизни (если не wait, конечно).1. При wait тоже легко возникают конфликты. Я не знаю откуда Вы вообще себе в голову вбили, что раз "ждем", значит обязательно дождемся "птицы счастья завтрашнего дня" в виде отсутствия конфликтов (куча нюансов да и вообще этот метод очень-очень чреват, потому его каждому не посоветуешь). 2. lock-конфликты в чистом виде не единственный важный момент темы. SextonНо, по крайней мере, блокировка мастера - более мягкий способ в смысле разграничения доступа, чем монопольный режим работы.Пустопереливание, виток №2. Что ты подразумеваешь под "монопольный режим работы"? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2006, 05:37 |
|
Foreign key VS triggers
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам SextonНо вероятность lock-конфликтов в базе - норма жизни (если не wait, конечно).1. При wait тоже легко возникают конфликты. Я не знаю откуда Вы вообще себе в голову вбили, что раз "ждем", значит обязательно дождемся "птицы счастья завтрашнего дня" в виде отсутствия конфликтов (куча нюансов да и вообще этот метод очень-очень чреват, потому его каждому не посоветуешь). Я wait не использую, но само название располагает не думать, что и тут могут быть конфликты. Вообщем, об этом мне надо еще почитать, хотя бы для общего развития. Гаджимурадов Рустам Sexton [quot Sexton]Но, по крайней мере, блокировка мастера - более мягкий способ в смысле разграничения доступа, чем монопольный режим работы.Пустопереливание, виток №2. Что ты подразумеваешь под "монопольный режим работы"? kdv Поэтому, при замене FK триггерным контролем целостности должны быть соблюдены условия: - записи из справочника никогда не удаляются, или удаляются в монопольном режиме (см. транзакции reserving в статье по транзакциям) - столбец первичного ключа справочника никогда не модифицируется (можно создать такой запрет триггером before update). Вообщем-то задачка замены FK на триггеры возникает не часто, так что может и не стоит, действительно, тратить на обсуждение время. А то я и сам увлекаюсь "шахматными этюдами" и других отвлекаю. Общие понятия тут понятны - в любом случае придется приделывать костыли, а обсасывать тонкости - какого цвета костыли и из чего их делать - имеет смысл, если уж приспичит это практиковать. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2006, 05:52 |
|
Foreign key VS triggers
|
|||
---|---|---|---|
#18+
SextonНо, по крайней мере, блокировка мастера - более мягкий способ в смысле разграничения доступа, чем монопольный режим работы.Да. SextonВообщем-то задачка замены FK на триггеры возникает не часто, так что может и не стоит, действительно, тратить на обсуждение время. А то я и сам увлекаюсь "шахматными этюдами" и других отвлекаю.Засим закончим, т.к. мне это тоже малоинтересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2006, 06:13 |
|
Foreign key VS triggers
|
|||
---|---|---|---|
#18+
а ни какого мастера по замене FK на триггеры нет в IBExpert? Чет влом руками всё писать. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2015, 12:29 |
|
Foreign key VS triggers
|
|||
---|---|---|---|
#18+
Vad72, а ты точно уверен, что оно того стоит? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2015, 12:33 |
|
Foreign key VS triggers
|
|||
---|---|---|---|
#18+
Симонов ДенисVad72, а ты точно уверен, что оно того стоит? я на 90% уверен, что не стоит, но хотел узнать, может "умные" люди уже всё продумали. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2015, 13:16 |
|
Foreign key VS triggers
|
|||
---|---|---|---|
#18+
Vad72, я в том смысле откуда уверенность что индексы тебе мешают и надо FK заменять? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2015, 13:23 |
|
Foreign key VS triggers
|
|||
---|---|---|---|
#18+
Симонов ДенисVad72, я в том смысле откуда уверенность что индексы тебе мешают и надо FK заменять? попались на глаза "статьи" типа http://koder.kz/articles/firebird-chto-ne-nado-delat Не надо увлекаться ссылочной целостностью больше чем это требуется Не рекомендуется делать FK от больших таблиц на короткие справочники, в которых никогда не выполняются update и delete. Рекомендуется замещать такие FK контролем на триггерах и явным запретом модификации справочника в его триггерах. Кроме того, излишнее увлечение каскадным удалением, в совокупности с удалением через триггеры, может сильно запутать логику или привести к непредсказуемым удалениям или ошибкам нарушения целостности. подумал, может и мне что-то там замутить вместо FK. Тут что, экономия в объеме базы данных получим на выходе? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2015, 13:54 |
|
|
start [/forum/topic.php?fid=40&msg=39100598&tid=1562523]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 258ms |
total: | 397ms |
0 / 0 |