|
|
|
Проектирование БД с нуля
|
|||
|---|---|---|---|
|
#18+
softwarer Создаваемых ервином ограничений FK достаточно, а вот если речь идёт о триггерах.... Триггерная реализация плохо способна отработать моменты одновременных операций, особенно если помнить ещё и про возможность rollback. То, что в случае FK-реализации сервер может сделать за счёт внутренней магии, при триггерной реализации нужно делать излишне сильными блокировками. В ERWin-шаблонах, сколь мне помнится, таких блокировок не делалось, следовательно будут потери целостности [Простите, но по тем словам, которые Вы произносите - непохоже, чтобы Вы вдумчиво проанализировали эти шаблоны и доработали их. А даже если и доработать - производительность...] softwarer , спасибо за развернутый ответ. Вдумчиво не проанализировал, это есть. Есть надежда на то, что довольно сильная формализация предметной области позволит обойтись малыми силами по написанию триггеров. Все через хранимые процедуры, их родимых. Каким будет мнение, возможно ли обойтись как бы без этих вот триггеров или нет? [и бывает такое - требуется рабочий комплект сервер+клиент уже вчера, приходится изучать только то, что видится необходимым на данный момент] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2009, 16:59 |
|
||
|
Проектирование БД с нуля
|
|||
|---|---|---|---|
|
#18+
_erwinerКаким будет мнение, возможно ли обойтись как бы без этих вот триггеров или нет?За все БД не скажу, но для SQL Server 2005|2008, если писать все на процедурах (особенно с 0), триггера - лишнее. Они нужны в тех случаях, когда по каким-то причинам невозможно отказаться от "прямой" записи изменений в таблицы "извне". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2009, 18:56 |
|
||
|
Проектирование БД с нуля
|
|||
|---|---|---|---|
|
#18+
blestКакими Case средствами лучше пользоваться (интересует наиболее быстрые для скорого понимания и удобные, но в тоже время чтобы функционал мощный был) ? Использую MySQL Workbench . Не перегруженная функционалом, удобная среда. Удобно рисовать диаграмму, редактировать таблицы, писать хранимки. Если есть возможность, то лучше использовать SE редакцию, так как в OSS-версии заблокированы некоторые довольно полезные возможности (например, отображение диаграммы в различных нотациях, синхронизация с базой данных, reverse engeneering и т.д.). Но OSS, по крайней мере, умеет генерировать из проекта SQL-скрипт, чего уже может быть вполне достаточно. Одним из факторов, повлиявших на выбор данной среды, является то, что ее разработчиком является компания-разработчик MySQL. Один из замеченных недостатков - слегка глючная прорисовка диаграммы при наличии большого числа таблиц и связей. Надеюсь в будущем это поправят :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2009, 12:30 |
|
||
|
Проектирование БД с нуля
|
|||
|---|---|---|---|
|
#18+
_erwinerВдумчиво не проанализировал, это есть. Есть надежда на то, что довольно сильная формализация предметной области позволит обойтись малыми силами по написанию триггеров. Все через хранимые процедуры, их родимых. Каким будет мнение, возможно ли обойтись как бы без этих вот триггеров или нет? Возможно - всё. А вот насколько будет хорошо.... Вы сейчас называете то, что в общем вообще не имеет отношения к вопросу. Вот представьте, у Вас есть две таблицы, мастер-деталь, и набор ХП для обращения с ними. Допустим, один пользователь вызывает хп add_detail (master_id => 1), другой в это же самое время вызывает хп delete_master (master_id => 1). Что спасёт целостность в этом случае? Модератор: merged softwarerОтвет: если есть Ответ: если есть FK - спасёт FK. Если его нет - надо делать что-то другое. Например, блокировать мастера. Можно в триггере, можно в ХП. И если делать свои блокировки - нужно продумывать все варианты во всех комбинациях, да ещё так, чтобы не убить производительность. Это, назовём так, непросто, а вполне вероятно что и невозможно. DeColo®esЗа все БД не скажу, но для SQL Server 2005|2008, если писать все на процедурах (особенно с 0), триггера - лишнее. Мне кажется, Вы упустили из вида, что речь идёт о триггерах проверки ссылочной целостности, которые настроенный по умолчанию ErWin генерит вместо внешних ключей. [и бывает такое - требуется рабочий комплект сервер+клиент уже вчера, приходится изучать только то, что видится необходимым на данный момент][/quot] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2009, 12:47 |
|
||
|
Проектирование БД с нуля
|
|||
|---|---|---|---|
|
#18+
softwarer , большое вам как говорится человеческое спасибо! Теперь понятнее стало, в каком направлении грызть гранит науки проектирования БД дальше. [вспомнилось: человек человеку не волк и не друг, а учитель ©] :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2009, 18:28 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36007689&tid=1543228]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 448ms |

| 0 / 0 |
