русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Каскадирование обновлений


Дата добавления: 2013-12-23; просмотров: 1077; Нарушение авторских прав


Введение

Каскадирование ссылочной целостности

Создание ограничения FOREIGN KEY

Когда использовать ограничения FOREIGN KEY

Рассмотрите использование ограничения FOREIGN KEY когда:

■ Данные в одном или нескольких столбцах может содержать только те значения, которые содержатся в определенном столбце (или столбцах) той же самой или другой таблице.

■ Строки в таблице не должны удаляться, пока существуют строки в другой таблице, которые зависят от них.

 

Вы можете создать ограничения FOREIGN KEY при использовании раздела CONSTRAINT уровня столбца или уровня таблицы в операторах CREATE TABLE или ALTER TABLE. Следующий код демонстрирует, как используется оператор Transact-SQL для добавления ограничения FOREIGN KEY к таблице Sales.SalesOrderHeaderбазы данных AdventureWorks. В примере создается ограничение внешнего ключа FK_SalesOrderHeader_Customer_CustomerID, которое устанавливает ссылочную связь между столбцом CustomerIDтаблицы Sales.SalesOrderHeaderи столбцом CustomerIDтаблицы Sales.Customer.

 

ALTER TABLE [Sales].[SalesOrderHeader] WITH CHECK ADD CONSTRAINT

[FK_SalesOrderHeader_Customer_CustomerID] FOREIGN KEY([CustomerID])

REFERENCES [Sales].[Customer] ([CustomerID])

 

 

 

Ограничение FOREIGN KEY включает опцию CASCADE, которая позволяет любое изменение значения столбца, для которого определено ограничение UNIQUE или PRIMARY KEY, чтобы распространить это изменение на любые зависимые значения внешних ключей. Это действие известно как каскадирование ссылочной целостности.

Разделы REFERENCES операторов CREATE TABLE и ALTER TABLE поддерживают разделы ON DELETE и ON UPDATE. Эти разделы позволяют Вам определять поведение каскадирования ссылочной целостности. Возможные значения включают NO ACTION, CASCADE, SET NULL, и SET DEFAULT. NO ACTION является значением по умолчанию.



 

Раздел ON UPDATE ограничения FOREIGN KEY определяет поведение при попытке оператором UPDATE изменить значение первичного ключа, на которое ссылаются значения внешних ключей других таблиц. В следующей таблице описываются возможные значения раздела ON UPDATE и их действия.

Опция Действие
NO ACTION   Определяет, что если сделана попытка обновить ключевое значение в строке, на которую ссылаются внешние ключи в существующих строках другой таблицы, то возникает ошибка, и отменяется оператор UPDATE.
CASCADE Определяет, что если сделана попытка обновить ключевое значение в строке, на которую ссылаются внешние ключи в существующих строках другой таблицы, то все значения столбцов, которые составляют внешний ключ, также обновляются новым значением, определенным для ключа.
SET NULL Определяет, что если была попытка обновить строку в столбце первичного ключа, на которую ссылаются значения внешних ключей других таблиц, то все значения, которые составляют внешний ключ, устанавливаются в null. Все столбцы внешнего ключа целевой таблицы должны допускать null значения для этого ограничения.
SET DEFAULT Определяет, что если сделана попытка обновить строку в ключевых столбцах, на которые есть ссылки из других таблиц, то все значения соответствующих внешних ключей устанавливаются в значение по умолчанию. Все столбцы внешнего ключа целевой таблицы должны иметь определение DEFAULT для этого ограничения. Если столбец допускает null значения и нет никакого явного набора значений по умолчанию, то null значение неявно становится значением по умолчанию для этого столбца. Любые определенные (не null) значения, которые установлены из-за ON UPDATE SET DEFAULT, должны иметь соответствующие значения в первичной таблице, чтобы поддержать ограничения внешнего ключа.

 



<== предыдущая лекция | следующая лекция ==>
Определение | Проверка ограничения


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.