Firebird Documentation IndexПереход с MS SQL на Firebird → Трюки с SQL
Firebird Home Firebird Home Пред.: Синтакс SQLFirebird Documentation IndexУровень выше: Переход с MS SQL на FirebirdСлед.: Доступ клиентов

Трюки с SQL

Трюк: использование каскадных изменений
Трюк: использование обновляемых представлений (views)

Этот раздел описывает некоторые трюки СУБД Firebird, используемые для эмуляции поведения СУБД MS SQL и для исключения «обходных путей» СУБД MS SQL.

Трюк: использование каскадных изменений

Версии СУБД MS SQL до 2000 не поддерживают каскадные обновления и удаления. Ссылочные ключи при изменениях всегда откатывались (rolled back).

В СУБД MS SQL указанная проблема решается комбинированием хранимых процедур и триггеров, и вместе с тем исключается явная декларация ссылочной целостности (foreign key). В свою очередь, такое поведение делает ссылочную целостность неявной вместо наличия явно декларируемой ссылочной целостности, а это означает, что различные утилиты не смогут распознавать наличие отношений между таблицами и работать с этими отношениями.

При переносе базы данных все такие «обходные пути» могут быть опущены - СУБД Firebird полностью поддерживает каскадные обновления и удаления через декларативную ссылочную целостность. (СУБД Firebird до версии 2.0 имеет проблемы с индексами с низкой селективностью, которые часто образуются и используются в реализации декларативной ссылочной целостности, и ситуация с которыми усугубляется нежелательностью создания параллельных индексов с хорошей селективностью во избежание введения оптимизатора в заблуждение. Версия 2.0 решает эту проблему. - прим. перев.)

Трюк: использование обновляемых представлений (views)

Версии СУБД MS SQL до 2000 не поддерживали полностью обновления для представлений, основанных на соединениях. Это было основным вопросом, так как представления обычно считались необновляемыми («только для чтения»); существовало некоторое количество ограничений, чтобы сделать такие представления обновляемыми.

В СУБД Firebird также существуют некоторые ограничения, но эти ограничения рассматриваются только для автоматического обновления. Если СУБД не в состоянии самостоятельно произвести обновления, Вы можете создать триггеры для представления, чтобы реализовать необходимую логику работы.

Пред.: Синтакс SQLFirebird Documentation IndexУровень выше: Переход с MS SQL на FirebirdСлед.: Доступ клиентов
Firebird Documentation IndexПереход с MS SQL на Firebird → Трюки с SQL