Общая характеристика ограничений целостности

Определение

Логические ограничения, накладываемые на данные, называются ограничениями целостности.

Ограничение целостности – это свойство, которое для данного множества или отношения либо истинно, либо ложно. Это свойство можно определить следующим образом: если значения данных отвечают существующим знаниям об объекте, то соответствующие ограничениям логические выражения принимают значение «истина». Это значение должно сохраняться для каждого возможного состояния, в котором может находиться объект.

Спецификация ограничений целостности реализуется средствами языка описания ограничений (ЯОО).

Различают спецификации статических и динамических ограничений и, соответственно, два рода средств спецификации.

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

Динамические спецификации определяют допустимые переходы из одного состояния базы данных в другое. Эти спецификации зависят от используемых операций ЯМД.

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

- непротиворечивость,

- удовлетворяемость,

- адекватность существующим знаниям о реальном мире.

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

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

Рассмотрим некоторую схему базы данных – S. Пусть для этой схемы указано некоторое обобщенное ограничение целостности Ci, и этой схеме соответствует некоторая реализация (состояние) БД – DBSk.

Тогда:

1. Ограничение Ci будет

- правильно построено, если оно соответствует синтаксическим правилам спецификации ограничений;

- удовлетворено состоянием DBS k, если оно истинно для DBSk;

- удовлетворяемо, если существует некоторое DBSj, удовлетворяющее Ci;

- недостоверно, если никакие состояния БД не удовлетворяют Ci.

2. Состояние БД

- удовлетворяет схеме S, если удовлетворяет всем ее ограничениям;

- непротиворечиво, если удовлетворяет всем ограничениям.

3. Схема S является

- удовлетворяемой, если существует некоторое состояние БД, удовлетворяющее ей;

- противоречивой, если никакое состояние БД ей не удовлетворяет.

 
 


Ограничения могут быть внутренними (неявными) и явными. Внутренние ограничения предусматриваются самой моделью данных и тесно связаны со структурой БД. Операции манипулирования данными хорошо согласуются с ними, поэтому контроль соблюдения внутренних ограничений не вызывает трудностей и, как правило, не требует от разработчика каких-либо дополнительных усилий. Явные ограничения задаются разработчиками; обеспечение контроля явных ограничений – серьезная проблема реализации.

• Внутренние (неявные)

– принадлежность атрибута домену

• Явные

– возраст > стаж работы

9. Модель данных «сущность – связь» Чена

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

Модель "сущность-связь" предложена в 1976 году Ченом и с тех пор неоднократно усовершенствовалась Ченом и многими другими.

Чен предложил уровни абстракции представления информации.

Питер Чен (P. Chen), разрабатывая модель данных «сущность-связь», предложил следующие четыре уровня представления информации:

1. Информация, относящаяся к объектам и связям, как она существует в нашем представлении.

2. Структура информации – организация информации, в которой объекты и связи представлены данными.

3. Структура данных, независимая от способа доступа (т.е. не связанная со схемами поиска, индексации и т.п.)

4. Структура данных, зависимая от способа доступа.

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

Определение

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

Наиболее распространенные модели данных:

– семантические (к ним можно отнести модели данных сущность-связь, бинарные, семантические сети, объектно-ориентированные);

– реляционная,

– сетевая,

– иерархическая.

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

9.1. Уровень 1 – информация о сущностях и связях

Информация, относящаяся к объектам и связям, как она существует в нашем представлении.

В соответствии с названием, основными структурными компонентами модели данных являются сущности (entity) и связи (relationship).

Определение

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

Примеры сущностей: ЛИЧНОСТЬ, КОМПАНИЯ, СДЕЛКА

Определение

Связь – некоторая ассоциация, устанавливаемая между двумя или более сущностями.

Пример: СОТРУДНИК ПРЕДПРИЯТИЯ – связь между сущностями ЛИЧНОСТЬ и ПРЕДПРИЯТИЕ.

Сущности: тип сущности и множество сущностей

Будем обозначать сущности, которые существуют в нашем воображении, через e.

Тип сущности – некоторое обобщенное представление однородных сущностей. Например, имеем некоторое множество сущностей: {МОСКВА, ОРЕЛ, КУРСК, …}. Обобщая сущности из этого множества, получаем тип сущности: ГОРОД. Экземпляр сущности – конкретный элемент из множества, например, КУРСК. Таким образом, тип сущности – это интенсионал, а конкретное множество сущностей – экстенсионал типа сущности.

С каждым множеством сущностей связывается предикат, позволяющий проверить, принадлежит ли сущность данному множеству. Следовательно, предикат входит в число свойств, общих для множества сущностей. Например, для множества сущностей СОТРУДНИК можно определить следующий предикат: человек, работающий на предприятии. Задавая предикат, можно включать в него дополнительные условия, например: возраст сотрудника в пределах …, или занимает определенную должность, или что-нибудь еще.

Будем обозначать множество сущностей через E.

Заметим, что множества сущностей не обязаны быть непересекающимися. Например, сущность, принадлежащая множеству сущностей СТУДЕНТ, принадлежит также и множеству сущностей ЛИЧНОСТЬ. В этом случае множество сущностей СТУДЕНТ является подмножеством множества сущностей ЛИЧНОСТЬ.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: