Файл: Правила объявления внешнего ключа Обеспечение целостности связей без использования внешних ключей. Терминология.ppt
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.01.2024
Просмотров: 113
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Лекция 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 ACTIONCREATE 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 Ограничения, накладываемые внешними ключами нетрудно запрограммировать в приложениях на этапе ввода данных; Программным путем можно удалить записи, связанные с записями другой таблицы, не используя каскадное удаление;
Без внешних ключей придется удалять все логически связанные записи явным образом;
Прием множественного удаления;