With nocheck

ADD CONSTRAINT StudentIDGroupForeign

FOREIGN KEY (IDGroup) REFERENCES SGroup(IDGroup)

В этом случае независимо от содержания таблиц результат будет следующим.

The command(s) completed successfully.

Задание 9

Ввести ограничение на оценку в отношении Успеваемость. Оценка не должна превышать 5 баллов. Номер семестра не должен превышать 10.

Задание 10

Создать внешние ключи во всех таблицах, используя опцию Foreign Key, при этом установить опцию каскадного удаления там, где это необходимо.

Задание 11

Удалить первичный ключ в отношении Student.

Задание 12

Проследить за изменением ограничения Foreign key в отношениях, связанных с отношением Student. Еще раз восстановите все удаленные ограничения.

Отключение и подключение ограничений

Отключить можно как отдельное ограничение, указав его имя, так и все, используя опцию ALL

Синтаксис команды:

ALTER TABLE <имя таблицы>

[CHECK| NOCHECK]

{CONSTRAINT <имя ограничения>| ALL}

FOREIGN KEY [REFERENCES<имя таблицы> (<имя столбца> [,…n])] | CHECK (<имя столбца> [,…n])}

Пример 25

Задача.

Отключить все ограничения в таблице Progress.

Решение.

ALTER TABLE Progress

NOCHECK CONSTRAINT ALL

Пример 26

Задача.

Подключить все ограничения в таблице Progress.

Решение.

ALTER TABLE Progress

CHECK CONSTRAINT ALL

Пример 27

Задача.

Отключить ограничение в ProgressMarkCheсk для столбца Mark таблицы Progress.

Решение.

ALTER TABLE Progress

NOCHECK CONSTRAINT ProgressMarkCheсk

После выполнения последней команды вы сможете ввести, например, 1 (единицу) в столбец Mark. Если Вы не намерены проверять ранее введенные данные, то синтаксис команды должен быть аналогичным синтаксису следующего примера (см. Пример 28), в противном случае синтаксис команды должен быть аналогичен следующему примеру (см. Пример 29)

Пример 28

Задача.

Подключить ограничение в ProgressMarkCheck для столбца Mark таблицы Progress.

Решение.

ALTER TABLE Progress

СHECK CONSTRAINT ProgressMarkCheck

Пример 29

Задача.

Подключить ограничение в ProgressMarkCheck для столбца Mark таблицы Progress и проверить корректность всех ранее введенных значений на соответствие этому ограничению.

Решение.

ALTER TABLE Progress


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: