![...](/f/5ce02a3b9cab072e4ba5e4b701c31b79.jpg)
Сущность и ссылочная целостность важны в реляционных базах данных.
Целостность объекта и ссылочная целостность - это две формы целостности данных, которые особенно важны в реляционных базах данных. Реляционные базы данных разбивают хранилище данных на элементы, которые обычно необходимо снова объединить, чтобы получить значимые результаты. Без гарантий этих двух типов целостности данные могут быть потеряны или дублированы.
Реляционные базы данных
Системы управления реляционными базами данных представляют собой наиболее широко применяемую сегодня в мире модель баз данных. Реляционная модель полагается на «нормализованные» данные. Нормализация - это процесс, выполняемый в процессе проектирования базы данных, чтобы гарантировать, что таблицы хранящие данные не имеют повторяющихся данных и не могут создавать повторения или потери при объединении вместе
Видео дня
Справочные данные
Большинство приложений баз данных используют два разных типа данных: данные транзакции и справочные данные. Например, очень простая база данных склада будет записывать транзакции движения запасов. Представьте себе запись транзакции, такую как: позиция 1010, количество 5, направление исходящего. Менеджер может пожелать увидеть отчет с этими данными с указанием названия и описания позиции, а также номера позиции. Эти данные являются атрибутами разных объектов, которые описывают каждую часть на складе. Это справочная таблица.
Нормализация
В примере с базой данных хранилища таблица транзакций должна содержать только идентификатор детали. Если бы такие детали, как имя и описание, содержались в таблице транзакций, это вызвало бы ненужное повторение. Любой товар всегда имеет одно и то же имя и описание, и эти детали относятся к детали, а не к транзакции. В этом примере системы детализация деталей хранится в другой таблице. Каждая запись в таблице должна быть однозначно идентифицирована одним полем или комбинацией полей, называемых первичным ключом. Разделение повторяющихся групп называется «нормализацией».
Целостность сущности
В примере базы данных хранилища первичный ключ таблицы частей должен быть атрибутом, который однозначно идентифицирует каждую запись. Это целостность сущности. Как правило, числовые поля лучше использовать для первичного ключа, чем текстовые поля. В таблице деталей лучшим полем для первичного ключа будет номер позиции. Организация может продавать различные товары с одним и тем же названием, например «гаечный ключ». Номер элемента всегда будет уникальным для каждого элемента, что обеспечивает целостность объекта для таблицы частей. Если несколько записей имеют одинаковое значение первичного ключа, ссылка на детали из этой таблицы путем присоединения ее к таблица транзакций приведет к тому, что записи транзакций будут дублироваться, чтобы соответствовать каждой записи с тем же идентификатор.
Ссылочная целостность
Ссылочная целостность гарантирует, что связь между таблицей транзакций и таблицей частей сформирована правильно. В таблице транзакций номер позиции образует внешний ключ, который является атрибутом, который связан с первичным ключом таблицы частей. В таблице транзакций могут отображаться только номера позиций, указанные в таблице деталей. Это ссылочная целостность. Если таблица транзакций содержит номер позиции, которого также нет в таблице частей, объединение таблиц вместе приведет к тому, что транзакции с отсутствующим номером позиции будут исключены из результатов.