Как сделать

Как ссылочная целостность обеспечивает согласованность базы данных

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

Основной ключ

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

В зависимости от сложности базовых данных может оказаться полезным использовать составные ключи в качестве первичного ключа. Например, в таблице сотрудников, хотя номер социального страхования работает для идентификации человека, комбинация SSN и даты найма может изолировать конкретные записи сотрудников, если человек присоединился, ушел, а затем снова присоединился к компании.

Иностранный ключ

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

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

Пример правил ссылочной целостности

Рассмотрим, например, ситуацию, когда у вас есть две таблицы: сотрудники и менеджеры. Таблица «Сотрудники» имеет атрибут внешнего ключа «ManagedBy», который указывает на запись для менеджера каждого сотрудника в таблице «Менеджеры». Ссылочная целостность обеспечивает соблюдение следующих трех правил:

  • Вы не можете добавить запись в таблицу «Сотрудники», если атрибут ManagedBy не указывает на допустимую запись в таблице «Менеджеры». Ссылочная целостность предотвращает вставку неверных данных в таблицу. Любая операция, которая не удовлетворяет правилу ссылочной целостности, завершается неудачей.
  • Если первичный ключ для записи в таблице «Менеджеры» изменяется, все соответствующие записи в таблице «Сотрудники» изменяются с помощью каскадного обновления.
  • Если запись в таблице «Менеджеры» удаляется, все соответствующие записи в таблице «Сотрудники» удаляются с помощью каскадного удаления.

Вы, вероятно, не хотите каскадно удалять сотрудников, когда менеджеры уходят. Большая часть работы с базами данных на самом деле не удаляет записи, а деактивирует их. Например, таблицы персонала часто имеют флаг «активный», чтобы указать текущую занятость. Когда менеджер уходит, его или ее «активный флаг» устанавливается в ноль — запись не удаляется. Затем, когда назначается новый менеджер, записи сотрудников обновляются, чтобы отразить новое значение внешнего ключа нового менеджера.

Преимущества ограничений ссылочной целостности

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

  • Предотвращает ввод дублирующих данных
  • Запрещает одной таблице указывать на несуществующее поле в другой таблице
  • Гарантирует согласованность между «партнерскими» таблицами
  • Предотвращает удаление записи, содержащей значение, на которое ссылается внешний ключ в другой таблице
  • Предотвращает добавление записи в таблицу, которая содержит внешний ключ, если в связанной таблице нет первичного ключа
Похожие посты
Как сделать

Как получить возмещение за покупки в iTunes или App Store

Как сделать

Поверхностное перо не работает? Вот как это исправить

Как сделать

Как настроить и использовать Fire TV Recast

Как сделать

Как изменить рингтон по умолчанию на вашем iPhone