Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Целостность сущностей

Перед изучением целостности сущностей ознакомимся с использованием null-значений в реляционных базах данных.

Null-значения

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

Определение 1

Null-значение – указатель того, что значение неизвестно.

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

  1. Не использовать null-значения и ограничиться использованием обычных типов данных. Вместо неизвестных данных вводятся или нулевые значения, или специальные значения (к примеру, пусть строка «Не известно» будет считаться теми данными, которые необходимо ввести при неизвестном адресе.
  2. Использовать null-значения вместо неизвестных данных. При этом появляется проблема необходимости использования трехзначной логики при работе с данными, которые предполагают содержание null-значений. В таком случае при неаккуратной формулировке запросов в результате самых простых запросов можно получить неверные ответы.

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

«Целостность сущностей» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Большинство мнений сходятся в том, что желательно избегать использования null-значений. Несмотря на это рассмотрим трехзначную логику, необходимую для работы с null-значениями.

Целостность сущностей

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

Определим правило целостности сущностей:

Определение 2

Значения атрибутов, которые входят в состав любого потенциального ключа, не могут быть null-значениями.

Объект реального мира представляют в реляционной базе данных в виде кортежа некоторого отношения.

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

Определение 3

Каждый кортеж любого отношения должен быть отличен от любого другого кортежа данного отношения (то есть любое отношение должно иметь первичный ключ).

Является очевидным тот факт, что если это требование не будет соблюдаться (то есть кортежи не являются уникальными в рамках одного отношения), то база данных может хранить противоречивую информацию об одном и том же объекте.

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

  • если добавляются записи в таблицу, то выполняется проверка уникальности их первичных ключей;
  • не разрешается выполнять изменение значений атрибутов, которые входят в первичный ключ.
Воспользуйся нейросетью от Автор24
Не понимаешь, как писать работу?
Попробовать ИИ
Дата написания статьи: 26.09.2016
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot