powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование БД с нуля
5 сообщений из 30, страница 2 из 2
Проектирование БД с нуля
    #36006069
_erwiner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer
Создаваемых ервином ограничений FK достаточно, а вот если речь идёт о триггерах.... Триггерная реализация плохо способна отработать моменты одновременных операций, особенно если помнить ещё и про возможность rollback. То, что в случае FK-реализации сервер может сделать за счёт внутренней магии, при триггерной реализации нужно делать излишне сильными блокировками. В ERWin-шаблонах, сколь мне помнится, таких блокировок не делалось, следовательно будут потери целостности [Простите, но по тем словам, которые Вы произносите - непохоже, чтобы Вы вдумчиво проанализировали эти шаблоны и доработали их. А даже если и доработать - производительность...]
softwarer , спасибо за развернутый ответ.
Вдумчиво не проанализировал, это есть. Есть надежда на то, что довольно сильная формализация предметной области позволит обойтись малыми силами по написанию триггеров. Все через хранимые процедуры, их родимых.
Каким будет мнение, возможно ли обойтись как бы без этих вот триггеров или нет?
[и бывает такое - требуется рабочий комплект сервер+клиент уже вчера, приходится изучать только то, что видится необходимым на данный момент]
...
Рейтинг: 0 / 0
Проектирование БД с нуля
    #36006416
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_erwinerКаким будет мнение, возможно ли обойтись как бы без этих вот триггеров или нет?За все БД не скажу, но для SQL Server 2005|2008, если писать все на процедурах (особенно с 0), триггера - лишнее.
Они нужны в тех случаях, когда по каким-то причинам невозможно отказаться от "прямой" записи изменений в таблицы "извне".
...
Рейтинг: 0 / 0
Проектирование БД с нуля
    #36007630
mcrss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blestКакими Case средствами лучше пользоваться (интересует наиболее быстрые для скорого понимания и удобные, но в тоже время чтобы функционал мощный был) ?

Использую MySQL Workbench . Не перегруженная функционалом, удобная среда. Удобно рисовать диаграмму, редактировать таблицы, писать хранимки. Если есть возможность, то лучше использовать SE редакцию, так как в OSS-версии заблокированы некоторые довольно полезные возможности (например, отображение диаграммы в различных нотациях, синхронизация с базой данных, reverse engeneering и т.д.). Но OSS, по крайней мере, умеет генерировать из проекта SQL-скрипт, чего уже может быть вполне достаточно.
Одним из факторов, повлиявших на выбор данной среды, является то, что ее разработчиком является компания-разработчик MySQL.
Один из замеченных недостатков - слегка глючная прорисовка диаграммы при наличии большого числа таблиц и связей. Надеюсь в будущем это поправят :)
...
Рейтинг: 0 / 0
Проектирование БД с нуля
    #36007689
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_erwinerВдумчиво не проанализировал, это есть. Есть надежда на то, что довольно сильная формализация предметной области позволит обойтись малыми силами по написанию триггеров. Все через хранимые процедуры, их родимых.

Каким будет мнение, возможно ли обойтись как бы без этих вот триггеров или нет?
Возможно - всё. А вот насколько будет хорошо....

Вы сейчас называете то, что в общем вообще не имеет отношения к вопросу. Вот представьте, у Вас есть две таблицы, мастер-деталь, и набор ХП для обращения с ними. Допустим, один пользователь вызывает хп add_detail (master_id => 1), другой в это же самое время вызывает хп delete_master (master_id => 1). Что спасёт целостность в этом случае?

Модератор: merged
softwarerОтвет: если есть

Ответ: если есть FK - спасёт FK. Если его нет - надо делать что-то другое. Например, блокировать мастера. Можно в триггере, можно в ХП. И если делать свои блокировки - нужно продумывать все варианты во всех комбинациях, да ещё так, чтобы не убить производительность. Это, назовём так, непросто, а вполне вероятно что и невозможно.

DeColo®esЗа все БД не скажу, но для SQL Server 2005|2008, если писать все на процедурах (особенно с 0), триггера - лишнее.
Мне кажется, Вы упустили из вида, что речь идёт о триггерах проверки ссылочной целостности, которые настроенный по умолчанию ErWin генерит вместо внешних ключей.

[и бывает такое - требуется рабочий комплект сервер+клиент уже вчера, приходится изучать только то, что видится необходимым на данный момент][/quot]
...
Рейтинг: 0 / 0
Проектирование БД с нуля
    #36008853
_erwiner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer , большое вам как говорится человеческое спасибо!
Теперь понятнее стало, в каком направлении грызть гранит науки проектирования БД дальше.
[вспомнилось: человек человеку не волк и не друг, а учитель ©] :)
...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование БД с нуля
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]