Целостность данных в реляционной модели данных | Статья в журнале «Молодой ученый»

Библиографическое описание:

Атаманов Ю. С., Гончарук В. С., Гордеев С. Н. Целостность данных в реляционной модели данных // Молодой ученый. — 2017. — №16. — С. 124-125. — URL https://moluch.ru/archive/150/42487/ (дата обращения: 22.06.2018).



Неформально выражаясь, ограничение целостности — это логическое выражение, связанное с некоторой базой данных, результатом вычисления которого всегда должно быть значение TRUE. Подобное ограничение может рассматриваться как формальное выражение некоторого бизнес-правила (иногда ограничение целостности также и называют бизнес-правилом) используют в качестве. Пример бизнес-правил: «если сумма заказа составляет свыше 200 тыс. руб., скидка составляет 15 %», «каждая поставка выполняется существующим поставщиком, «разные поставщики не могут иметь одинаковые номера поставщиков». и т. п.

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

Безусловно, при первоначальном объявлении ограничения система должна проверить, удовлетворяет ли ему в настоящий момент база данных. Если это условие не соблюдается, ограничение должно быть отвергнуто; в противном случае оно принимается и начиная с этого момента соблюдается.

В общем, ограничения целостности представляют собой ограничения, налагаемые на значения, которые разрешено принимать некоторой переменной, или комбинации переменных. Поэтому тот факт, что конкретная переменная относится к некоторому определенному типу, представляет собой априорное ограничение, налагаемое на рассматриваемую переменную (это ограничение состоит в том, что значения, которые может принимать данная переменная, должны, безусловно, быть значениями этого типа). Например, переменная отношения N_student (номер студента) ограничивается тем, что должна содержать значения, являющиеся отношениями, в которых каждое значение N_student# представляет собой номер поставщика (значение типа N_student#), каждое значение Name_student является именем (значением типа NAME) и т. д. Но эти простые априорные ограничения, безусловно, не остаются единственными возможными. Например, возраст человека не может превышать какого-то определённого порога, а также не может быть отрицательным. Например, в БД работников фирмы возраст сотрудника должен принимать значения от 18 до 100.

Для дальнейшего обсуждения введём понятия предиката и высказывания. Предикатом называется любое логическое выражение, в которой значение переменных неопределенны (то есть узнать результат вычисления логического выражения невозможно). Например, «A — это B» является предикатом, а A и B — это формальные параметры этого предиката. Когда данный предикат конкретизируется, то есть вместо A и B подставляются конкретные значения, то данное выражение называется высказыванием, а определённые переменные — фактическими параметрами. Например, «солнце — это звезда», «луна — это звезда». Какое-то из этих высказываний оказывается ложным (FALSE), а какое-то истинным (TRUE).

Можно сделать следующие выводы: ограничение, определенное формально, становится предикатом, но при проверке этого ограничения вместо формальных параметров предиката подставляются фактические параметры, в результате чего предикат сводится к высказыванию, и к такому высказыванию затем предъявляется требование, чтобы его значение было равно TRUE.

Введем понятие предиката переменной отношения. Предположим, что R — переменная отношения. В таком случае предикатом переменной отношения R является результат применения логической операции “И”, или операции конъюнкции ко всем ограничениям, которые распространяются на переменную отношения R. Это же понятие можно расширить на всю базу данных, то есть необходимо строго задавать, в какой части (или везде) БД будет проверяться заданное ограничение.

Теперь допустим, что R — переменная отношения, а RP — предикат переменной отношения для R. Итак, безусловно, ни в коем случае нельзя допускать, чтобы переменная R приобретала такое значение, что его подстановка в RP вместо R (а также любая другая необходимая подстановка фактических параметров вместо формальных параметров, которая должна быть выполнена в RP), становилась причиной того, чтобы предикат RP принимал значение FALSE. Итак, теперь мы можем ввести золотое правило (первую версию), которое имеет большое значение при анализе ограничений целостности: «ни одна операция обновления не должна приводить к присваиванию любой переменной отношения такого значения, которое вызывает то, что предикат этой переменной отношения получает значение FALSE».

Как было показано выше, каждая переменная отношения имеет предикат переменной отношения, а вся база данных имеет предикат базы данных. Безусловно, все рассматриваемые предикаты являются такими, о которых “в системе имеется информация”. Это означает, что подобные предикаты определены формально (т. е. они фактически входят в состав определения базы данных), кроме того, их соблюдение контролируется системой. По этим причинам иногда удобно называть рассматриваемые предикаты внутренними предикатами, поскольку переменные отношения и базы данных в принципе имеют также внешние предикаты, описание которых приведено ниже.

Первое и наиболее важное замечание состоит в том, что внутренние предикаты — это формальные конструкции, тогда как внешние предикаты — просто неформальные конструкции. Внутренние предикаты являются описанием того, что означают данные для системы; в отличие от этого, внешние предикаты описывают, что означают данные для пользователя. Безусловно, пользователи должны знать не только о внешних предикатах, но и о внутренних, однако еще раз повторим, что система должна иметь информацию о внутренних предикатах (и действительно быть способной учитывать лишь внутренние предикаты). Можно фактически неформально утверждать, что любой внутренний предикат представляет собой аппроксимацию в системе соответствующего внешнего предиката.

Литература:

  1. Дейт К. Дж. Введение в системы баз данных, 8-е издание: Пер. с англ. –М.: Издательский дом «Вильямс», 2005. ‑1328 с.
  2. Целостность базы данных // Википедия. URL: https://ru.wikipedia.org/wiki/Целостность_базы_данных (дата обращения: 16.04.2017).
Основные термины (генерируются автоматически): предикат, FALSE, TRUE, переменная, предикат переменной отношения, ограничение целостности, база данных, баз данных, логическое выражение, ограничение.


Похожие статьи

Проблема целостности данных в базах данных

ограничение целостности, баз данных, ограничение базы данных, ограничение, значение атрибута, завершение транзакции, ограничение переменной отношения, ограничение типа...

Проблема отсутствующей информации в базах данных

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

Применение трёхзначной логики и отсутствующая информации в БД

В связи с введением NULLзначений в БД необходимо ввести правило поддержки целостности сущности: ни один компонент

а) кортежи базовых переменных отношения представляют сущности реального мира

Введение в системы баз данных, 8-е издание: Пер. с англ.

Отсутствующая информация в базах данных и концепция...

Именно поэтому приходится оперировать тремя логическими значениями — true, false и unk (производная от unknown).

Проблема целостности данных в базах данных. Обеспечение защиты данных в базах данных. Проблема отсутствующей информации в базах данных.

Целеполагание при проектировании курса «Дискретная...»

Значение формулы логики предикатов. Свободные и связанные переменные.

Логическое следование предикатов.

Формировать умение строить отрицание данных предложений, используя аппарат ЛП.

Проблемы распределённых СУБД | Статья в журнале...

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

Использование функциональных зависимостей и нормализации...

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

Обсуждение

Социальные комментарии Cackle

Похожие статьи

Проблема целостности данных в базах данных

ограничение целостности, баз данных, ограничение базы данных, ограничение, значение атрибута, завершение транзакции, ограничение переменной отношения, ограничение типа...

Проблема отсутствующей информации в базах данных

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

Применение трёхзначной логики и отсутствующая информации в БД

В связи с введением NULLзначений в БД необходимо ввести правило поддержки целостности сущности: ни один компонент

а) кортежи базовых переменных отношения представляют сущности реального мира

Введение в системы баз данных, 8-е издание: Пер. с англ.

Отсутствующая информация в базах данных и концепция...

Именно поэтому приходится оперировать тремя логическими значениями — true, false и unk (производная от unknown).

Проблема целостности данных в базах данных. Обеспечение защиты данных в базах данных. Проблема отсутствующей информации в базах данных.

Целеполагание при проектировании курса «Дискретная...»

Значение формулы логики предикатов. Свободные и связанные переменные.

Логическое следование предикатов.

Формировать умение строить отрицание данных предложений, используя аппарат ЛП.

Проблемы распределённых СУБД | Статья в журнале...

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

Использование функциональных зависимостей и нормализации...

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

Задать вопрос