Обзор ссылочной целостности (визуальные инструменты для баз данных)
Ссылочная целостность представляет собой систему правил, обеспечивающих допустимость связей между строками связанных таблиц и предотвращающих случайное удаление или изменение данных.
Процедура
Ссылочная целостность подразумевает выполнение всех приведенных ниже условий:
Совпадающий столбец первичной таблицы является первичным ключом или имеет ограничение уникальности.
Связанные столбцы внешней таблицы имеют тот же тип и размер.
Для обеспечения ссылочной целостности необходимо соблюдение следующих правил:
В столбце внешнего ключа связанной таблицы можно вводить только значения, существующие в ее первичном ключе. В столбце внешнего ключа можно также задать значение NULL. Например, невозможно указать, что задание выдано сотруднику, для которого нет данных в таблице employee, но при этом можно указать, что определенному сотруднику задание не выдано. Для этого необходимо задать в столбце job_id таблицы employee пустое значение.
Прежде, чем удалять строку из таблицы первичного ключа, необходимо удалить совпадающие с ней строки из связанной таблицы. Например, нельзя удалить строку из таблицы jobs, если задание, представляемое данной строкой, задействует сотрудников, перечисленных в таблице employee.
В случае, когда строка связана с другими строками таблицы, значение первичного ключа таблицы не может быть изменено. Например, нельзя изменить значение строки job_id в таблице jobs, если в таблице employee существуют связанные с ней данные о сотрудниках.
См. также