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


Определение внешних ключей


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

  • удаление записей родительской таблицы;
  • модификация значений полей родительской таблицы, на которые ссылаются поля внешнего ключа дочерней таблицы.

Основная цель ссылочной целостности заключается в недопустимости наличия "висячих" ссылок из дочерних таблиц на родительскую таблицу.

Для проверки действия механизма внешних ключей перепишем содержимое таблиц Books и Copies в одноименные таблицы базы данных Dubl_Biblia. Такая возможность довольно просто реализуется в утилите ISQL. Для решения поставленной задачи необходимо в среде этой утилиты установить соединение с и произвести экспорт содержимого таблиц в текстовые файлы. Это могут сделать владельцы таблиц, пользователи, имеющие привилегию SELECT () для этих таблиц, и администратор базы данных.

Экспорт в данном случае реализуется следующими операторами:

/* Экспорт в текстовые файлы каталога C:\temp содержимого таблиц Books и Copies */ UNLOAD TABLE Stepanov.Books TO 'c:\temp\books.txt'; UNLOAD TABLE Stepanov.Copies TO 'c:\temp\copies.txt'

После этого следует опять же в утилите ISQL подключиться к базе данных Dubl_Biblia. При этом отсоединение от произойдет автоматически. Теперь требуется выполнить операторы, осуществляются импорт данных:

/* Импорт из текстовых файлов содержимого таблиц Books и Copies */ LOAD TABLE Stepanov.Copies FROM 'c:\temp\copies.txt'; LOAD TABLE Stepanov.Books FROM 'c:\temp\books.txt'

Выполнять операторы LOAD имеют право владельцы таблиц, пользователи, имеющие привилегию INSERT () для этих таблиц, и администратор базы данных.

Для проверки результатов копирования достаточно просмотреть содержимое таблиц при помощи оператора SELECT ().

Внешние ключи могут создавать:

  • пользователи - владельцы родительской и дочерней таблиц;
  • пользователи с полномочиями ALTER () для дочерней и REFERENCES () - для родительской таблиц;
  • администратор базы данных.




- Начало -  - Назад -  - Вперед -



Книжный магазин