Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по БД.doc
Скачиваний:
117
Добавлен:
01.05.2014
Размер:
432.64 Кб
Скачать

Аномалия обновления

дата

клиент

адрес

телефон

товар

цена

количество

02.03.98

АО Банко

Москва

134-35-99

Стол офис.

1300

12

09.03.98

СП Диалог

Санкт-Петербург

189-16-17

Набор мебели

5800

2

09.03.98

ООО Одис

Волгоград

55-25-05

Кресло №2

860

3

2.04.98

АО Банко

Москва

134-35-99

Светильник

175

12

14.04.98

ООО Одис

Волгоград

55-25-05

Набор мебели

5800

6

При изменении:

Необходимо многократное изменение данных.

При удалении:

Существует возможность потерять очень важную информацию.

При добавлении:

Основными причинами аномалии является избыточность данных. Типичная ошибка проектирования – это сведение всех данных о различных информационных объектов в одну таблицу. Избыточность в БД может возникнуть при наличии линейной связи между объектами.

Фундаментальные свойства отношений:

  1. Отсутствие кортежей-дубликатов. Это свойство следует из определения отношения как множества кортежей. Во многих практических реализациях, как РСУБД, допускается нарушение свойства уникальности кортежей для промежуточных отношений, порождаемых при выполнении запроса.

  2. Отсутствие упорядоченности кортежей.Это свойство дает дополнительную гибкость СУБД при хранении БД во временной памяти и при выполнении запросов.

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

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

Под множеством атрибутов Р отношения называется потенциальным ключом (возможным ключом ) , если выполняются следующие два условия:

  1. в отношении не может быть двух различных кортежей с одинаковым значениям (это называется свойством уникальности).

  2. никакое подмножество Р не обладает свойством уникальности.

Потенциальные ключи служат единственным средством адресации на уровнях кортежей в отношении.

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

- структурной части,

- манипуляционной части,

- целостной части.

В структурной части модели фиксируется, что единственной структурой данных, используемой в РБД, является нормализованное n-арное отношение.

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

Первый механизм базируется на теории множеств с некоторыми уточнениями.

Второй – на логическом аппарате исчисления предикатов 1-го порядка.

Целостная часть реляционной модели фиксируется базовыми требованиями целостности, которые должны выполнятся в любой РСУБД.

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

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

  2. Целостность доменов. Каждый атрибут должен понимать лишь допустимые значения.

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

  4. Пользовательские правила целостности – это любые правила целостности, не относящиеся к первым трем категориям.

Из этих четырех правил наиболее важными являются 1 и 3. эти требования должны поддерживаться любой СУБД.

Операции, нарушающие ссылочную целостность:

Вставка, удаление, обновление кортежей в отношениях.

Для родительского отношения:

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

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

  3. Удаление кортежей. Удаляется значение потенциального ключа. Если в дочернем отношении есть кортежи, ссылающиеся на удаляемый кортеж, то значение их внешних ключей станут не корректными. И это приведет к нарушению ссылочной целостности.

Для дочернего отношения:

  1. Вставка кортежей. Нельзя вставить кортежей в дочернем отношении, если вставляемое значение внешнего ключа некорректно.

  1. Обновление кортежей. При обновлении кортежей в дочернем отношении возможно некорректное изменение внешнего ключа.

  1. Удаление кортежей.При удалении кортежей в дочернем отношении ссылочная целостность не нарушается.

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

  1. обновление кортежей в родительском отношении.

  2. удаление кортежей в родительском отношении.

  3. вставка кортежей в дочернем отношении.

  4. обновление кортежей в дочернем отношении.

Соседние файлы в предмете Базы данных