Добавил:
Факультет ИКСС, группа ИКВТ-61 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / lektsii / лекция 7.ppt
Скачиваний:
43
Добавлен:
03.04.2019
Размер:
94.21 Кб
Скачать

Лекция 7. Внешние ключи и ссылочная целостность

Терминология;

Синтаксис объявления внешнего ключа;

Правила объявления внешнего ключа;

Обеспечение целостности связей без использования внешних ключей.

Терминология

Внешний ключ — средство для объявления зависимости ключа одной таблицы от ключа другой.

Ссылочная целостность — средство для наложения ограничения на операции над таблицами, имеющими внешний ключ.

Порождающей называется таблица, содержащая оригинальные значения ключей.

Порожденной называется таблица, которая ссылается на ключевые значения в порождающей таблице.

Терминология

Ключевые значения из порождающей таблицы используются для связывания двух таблиц.

Вчастности, индекс в порожденной таблице ссылается на индекс порождающей таблицы.

Его значения должны соответствовать значениям в порождающей таблице или иметь значение типа NULL, чтобы показать, что в порождающей таблице нет связанной записи.

Такой индекс порожденной таблицы называется

внешним ключом.

Синтаксис объявления внешнего ключа

Синтаксис объявления внешнего ключа в порожденной таблице имеет следующий вид, где необязательные элементы указываются в квадратных скобках:

FOREIGN KEY [index_name] (index_columns) REFERENCES tbl_name (index_columns) [ON DELETE action]

[ON UPDATE action]

[MATCH FULL | MATCH PARTIAL]

RESTRICT | CASCADE | SET NULL | NO ACTION

CREATE TABLE parent ( par_id INT NOT NULL, PRIMARY KEY (par_id) )TYPE=INNODB;

CREATE TABLE child( par_id INT NOT NULL, child_id INT NOT NULL,

PRIMARY KEY (par_id, child_id),

FOREIGN KEY (par_id) REFERENCES parent (par_id) ON DELETE CASCADE

)TYPE=INNODB;

Правила объявления внешнего ключа

ON DELETE CASCADE

ON DELETE SET NULL

PRIMARY KEY

UNIQUE

Обеспечение целостности связей без использования внешних ключей

Ограничения, накладываемые внешними ключами нетрудно запрограммировать в приложениях на этапе ввода данных;

Программным путем можно удалить записи, связанные с записями другой таблицы, не используя каскадное удаление;

Без внешних ключей придется удалять все логически связанные записи явным образом;

Прием множественного удаления;

Лекция 9. Семинар «Создание клиентов MySQL»

Специальные возможности при создании собственных программ

Интерфейсы APIдля MySQL

Java Database Connectivity (JDBC). Создание консольного приложения на Java.

Язык сценариев PHP. Понятия HTML, создание web-страницы.

Язык сценариев Perl. Создание консольного приложения.

Язык Си. Создание консольного приложения.

Соседние файлы в папке lektsii