Файл: Правила объявления внешнего ключа Обеспечение целостности связей без использования внешних ключей. Терминология.ppt

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 12.01.2024

Просмотров: 32

Скачиваний: 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 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. Создание консольного приложения.
Язык Си. Создание консольного приложения.