|
|
|
Использование триггеров в EAV
|
|||
|---|---|---|---|
|
#18+
Алексей КлючниковЧто то меня отнесло от темы.. так как с борьбой с зацикливанием в EAV с триггерами. авторПерекрывающие друг друга объекты -- звучит.. слабо предложить структуру под это? допустим можно изобретать велосипед в виде ООБД на РСУБД или свой маппинг, но изобретать свои связи в ООП или "Перекрывающие друг друга объекты" - это слишком. :) IMHO нужен сначала не проектировщик БД, а проектировщик предметной области или аналитик. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 17:37 |
|
||
|
Использование триггеров в EAV
|
|||
|---|---|---|---|
|
#18+
авторСвязь подразумевает ХП, или ХП подразумевает связь, от перемены мест слагаемых, в данном случае, ничего не меняется. Ускользает только смысл отличия свяи от объекта, получаются некие перекрывающие друг друга объекты. Связь - это не действие с объектом (пп. 1-3), а отношение между объектами (п. 4). Обычно, разные действия получаются при взаимодействии объектов разного типа и в зависимости от вызвавшей их причины 8) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 17:54 |
|
||
|
Использование триггеров в EAV
|
|||
|---|---|---|---|
|
#18+
Алексей Ключниковтак как с борьбой с зацикливанием в EAV с триггерами. А в чем проблема-то с зацикливанием ? Я все понять не могу. Как не банально это звучит, но в триггере всего лишь нужно _проверять_, добавлены ли необходимые с вашей т.з. строки в таблицы и, _если нет_ то добавлять. Эта проверка и избавляет от зацикливания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 18:00 |
|
||
|
Использование триггеров в EAV
|
|||
|---|---|---|---|
|
#18+
Alexey Kudinov Алексей Ключниковтак как с борьбой с зацикливанием в EAV с триггерами. А в чем проблема-то с зацикливанием ? Я все понять не могу. Как не банально это звучит, но в триггере всего лишь нужно _проверять_, добавлены ли необходимые с вашей т.з. строки в таблицы и, _если нет_ то добавлять. Эта проверка и избавляет от зацикливания. Решение в лоб. Значит так тому и быть. А потом посмотрим.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 19:07 |
|
||
|
Использование триггеров в EAV
|
|||
|---|---|---|---|
|
#18+
Алексей Ключников Alexey Kudinov Алексей Ключниковтак как с борьбой с зацикливанием в EAV с триггерами. А в чем проблема-то с зацикливанием ? Я все понять не могу. Как не банально это звучит, но в триггере всего лишь нужно _проверять_, добавлены ли необходимые с вашей т.з. строки в таблицы и, _если нет_ то добавлять. Эта проверка и избавляет от зацикливания. Решение в лоб. Значит так тому и быть. А потом посмотрим.. О добавлении каких строк говорил этот человек... и что такое зацикливание? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 19:41 |
|
||
|
Использование триггеров в EAV
|
|||
|---|---|---|---|
|
#18+
RENaissance Petro123 триггеры - прошлое тысячилетие И давно??? З.Ы Ссылку не кинете почитать...для просветления? использовать или не использовать триггеры - это давние идеологические войны, но если конкретно ссылку, то здесь Выполняйте все проверки ссылочной целостности и верности данных, используя ограничения (внешние ключи и проверки доменной целостности), вместо использования триггеров, т.к. это быстрее. Ограничьте использование триггеров только для задач аудита, специальных задач и проверок, которые не могут быть выполнены с использованием ограничений. Ограничения также сохраняют Ваше время, т.к. Вам не надо писать код для этих проверок, позволяя системе управления базами данных делать все это за Вас. смежные темы: Тригеры или хранимые процедуры Зачем триггеры? Создать триггер и избежать рекурсии Переносить ли код триггера в ХП Удалить подчиненные записи в той же таблице ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 20:42 |
|
||
|
Использование триггеров в EAV
|
|||
|---|---|---|---|
|
#18+
Да вроде давно известен "общий подход", Алексей Ключников. Когда в триггере пишите обновление данных используйте, при необходимости, параметр "не выполнять триггеры". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 21:48 |
|
||
|
Использование триггеров в EAV
|
|||
|---|---|---|---|
|
#18+
Роман Дынник т.к. это быстрее т.к. Вам не надо писать код все зависит от того, считаете вы пп 1-3 правилами или законами (ограничениями целостности). при нарушении законов система перейдет в недопустимое состояние и вам не дадут денек на цветные мелки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 06:26 |
|
||
|
Использование триггеров в EAV
|
|||
|---|---|---|---|
|
#18+
Роман Дынник Выполняйте все проверки ссылочной целостности и верности данных, используя ограничения (внешние ключи и проверки доменной целостности), вместо использования триггеров, т.к. это быстрее. Ограничьте использование триггеров только для задач аудита, специальных задач и проверок, которые не могут быть выполнены с использованием ограничений. Ограничения также сохраняют Ваше время, т.к. Вам не надо писать код для этих проверок, позволяя системе управления базами данных делать все это за Вас. Извините конечно, но Вы забыли написать IMHO . З.Ы Указанные Вами темы прочитал. Ничего нового: каждый "тянет" в свою сторону, забывая о компромиссе, и готов "гланды вырывать через одно место", лишь бы реализовывать свою задачу тем инструментом, который он (они) считает ЕДИНСТВЕННО ПРАВИЛЬНЫМ. З.З.Ы Еще раз извините, но меня интересовала официальная ссылка , например (да и желательно) из BOL, т.к. для меня это практически единственный официальный документ (в котором я не нашел статьи на счет устарелости триггеров). В любом случае, спасибо. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 08:09 |
|
||
|
Использование триггеров в EAV
|
|||
|---|---|---|---|
|
#18+
RENaissanceкаждый "тянет" в свою сторону Я о том же. Каждый выбирает себе сам, в зависимости от условий и задачи... Для меня лично триггеры создают больше проблем чем решают их, поэтому я их использую редко. Для кого-то это, наоборот, очень удобный механизм, и этот кто-то тоже будет по-своему прав. Ссылки приведены для того, чтобы показать что незачем поднимать "религиозные войны", которым уже не один год. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 09:53 |
|
||
|
Использование триггеров в EAV
|
|||
|---|---|---|---|
|
#18+
Роман Дынник RENaissanceкаждый "тянет" в свою сторону Я о том же. Каждый выбирает себе сам, в зависимости от условий и задачи... Для меня лично триггеры создают больше проблем чем решают их, поэтому я их использую редко. Для кого-то это, наоборот, очень удобный механизм, и этот кто-то тоже будет по-своему прав. Ссылки приведены для того, чтобы показать что незачем поднимать "религиозные войны", которым уже не один год.Дык, если бы не было Роман ДынникВобщем же случае рекомендации такие - не использовать триггеры ни в EAV модели, ни в "нормальной" реляционной, а использовать хранимые процедурыили было бы указано, что это IMHO, то не было бы и поводов их поднимать :) Я, лично, тоже стараюсь избегать триггеров, но давать рекомендацию отказываться от них "в общем случае" я бы не рискнул. В любом подходе есть свои "за" и "против" и в их число не должно входить субъективное мнение. P.S. IMHO ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 18:58 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34159107&tid=1544867]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 530ms |

| 0 / 0 |
