Разработка приложений баз данных для СУБД Sybase SQL Anywhere



       

Вы подготовили данные для создания внешнего ключа


:

Books_Copies

на базе поля:

    Code_book.

Пояснение 2. Информация о родительской таблице.

Родительская таблица:

    Books

адресуемым поле:

   Code_book.

Щелкните мышью по кнопке Готово для создания внешнего ключа.

Целью шагов 1-6 мастера Add Foreign Key является подготовка к выполнению операторов ALTER TABLE. После щелчка мышью по кнопке Aioiai (шаг 6) начнется выполнение этого оператора. Его результатом будет появление нового внешнего ключа Books_Copies. Данный факт выражается в появлении одноименного элемента в папке Foreign Keys таблицы Copies (см. рис. 69).

Рис. 69. Обновленное содержание папки Foreign Keys

Кроме того в папке Referenced By таблицы Books отображается наличие через внешний ключ ссылку на эту таблицу из таблицы Copies.

Для создания в утилите ISQL внешнего ключа Books_Copies требуется выполнить следующие SQL-операторы:

//Создание внешнего ключа ALTER TABLE Stepanov.Copies ADD "Books_Copies " NOT NULL FOREIGN KEY(Code_book) //внешний ключ //состоит из поля Code_book REFERENCES /* он ссылается на поле Code_book таблицы Stepanov.Books */ Stepanov.Books(Code_book) ON UPDATE CASCADE /* каскадное обновление полей внешнего ключа дочерней таблицы при изменение адресуемых полей родительской таблицы */ ON DELETE RESTRICT /* запрещение удаления записей родительской таблицы, на которую имеются ссылки из дочерей таблицы */ // CHECK ON COMMIT /* признак проверки целостности только при выполнении оператора COMMIT */ COMMENT // комментарий к внешнему ключу ON FOREIGN KEY Stepanov.Copies.Books_Copies IS 'Внешний ключ для поддержания ограничений ссылочной целостности между таблицами Copies и Books'

Для того, чтобы убедиться в утилите ISQL, в том что внешний ключ Books_Copies действительно был создан необходимо при помощи оператора SELECT проанализировать системное представление SYS.SYSFOREIGNKEYS.

Рассмотрим на примерах действие внешнего ключа Books_Copies по обеспечению ссылочной целостности. Для этого приведем по одному фрагменту из таблиц Copies и Books (табл. 15, 16).



Содержание раздела