лекция. лекция 7. Правила объявления внешнего ключа Обеспечение целостности связей без использования внешних ключей. Терминология
![]()
|
Лекция 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. Создание консольного приложения. Язык Си. Создание консольного приложения. |