Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Именованные ограничения
Именованные ограничения
При объявлении ограничения на уровне таблицы или на уровне столбца вы можете именовать ограничение, используя предложение CONSTRAINT. Если вы опустите предложение CONSTRAINT, Firebird сгенерирует уникальное системное имя ограничения. Ограничения хранятся в системной таблице RDB$RELATION_CONSTRAINTS.
Хотя присваивание имени ограничению необязательно, назначение описательного имени в предложении CONSTRAINT сделает ограничение удобным при поиске для изменения или удаления или когда его имя появляется в сообщении о нарушении ограничения. Помимо преимуществ документирования такой стиль особенно полезен для отделения определений ключа от определений столбцов в скриптах.
Имена для PRIMARY KEY и FOREIGN KEY
Именование ограничения имеет особый смысл для ограничений PRIMARY KEY и FOREIGN KEY, особенно в Firebird 1.5 и выше. Существует возможность перекрыть "родные" для Firebird ограничения по именованию ключей.
Во всех версиях указанное имя будет перекрывать имя по умолчанию iNTEG nn и будет применено к ограничению. Однако:
* в версии 1.5 и более поздних поддерживающий ограничение индекс будет иметь то же самое имя, что и ограничение;
* в версии 1.0.x будет использовано имя индекса по умолчанию (RDB$PRIMARYnn или RDB$FOREIGNnn).
! ! !
ПРИМЕЧАНИЕ. Существующие имена ограничений останутся без изменений при переводе базы данных с сервера версии 1.0.x на сервер версии 1.5.
. ! .
Поведение при именовании ограничений более подробно описывается в следующем разделе и в следующей главе.
- ГЛАВА 4 Именованные и неименованные каналы
- 3. Схемы отношений. Именованные значения кортежей
- 4. Ограничения ссылочной целостности
- Выявить возможные ограничения
- Именованные шаблоны
- Ограничения
- Недостатки и ограничения
- Погоны как функционал самоограничения
- Ограничения метода отображения файлов
- Именованные каналы
- 12.1. Ограничения по времени
- 8.4.6. Ограничения на вычет расходов для платежей в офшорные юрисдикции