Обзор ссылочной целостности (визуальные инструменты для баз данных)

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

Процедура

Ссылочная целостность подразумевает выполнение всех приведенных ниже условий:

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

  • Связанные столбцы внешней таблицы имеют тот же тип и размер.

Для обеспечения ссылочной целостности необходимо соблюдение следующих правил:

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

  • Прежде, чем удалять строку из таблицы первичного ключа, необходимо удалить совпадающие с ней строки из связанной таблицы. Например, нельзя удалить строку из таблицы jobs, если задание, представляемое данной строкой, задействует сотрудников, перечисленных в таблице employee.

  • В случае, когда строка связана с другими строками таблицы, значение первичного ключа таблицы не может быть изменено. Например, нельзя изменить значение строки job_id в таблице jobs, если в таблице employee существуют связанные с ней данные о сотрудниках.