Добавил:
rushevamar@mail.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры бд.docx
Скачиваний:
111
Добавлен:
17.06.2021
Размер:
4.93 Mб
Скачать

27.Нормализация данных. Четвертая и пятая нормальные формы.

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

Процесс нормализации – постепенное приведение сущности к нормальным формам.

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

Для приведения сущности к 4-й нормальной форме нужно создать новую сущность и поместить атрибуты с многозначной зависимостью в разные сущности. При этом связь между сущностями не устанавливается, поскольку после установления связи атрибуты с многозначной зависимостью путём миграции вновь окажутся в первой сущности.

После приведения к 4 норм. форме получим:

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

Процесс нормализации – постепенное приведение сущности к нормальным формам.

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

Если сущность находится в 4 нормальной форме и имеет 3 или > возможных ключа и можно провести ее декомпозицию без потери данных, то приведение такой сущности к 5 нормальной форме заключается в разделении ее на отдельные сущности – проекции для каждого возможного ключа.

Приведение сущности к 5-ой нормальной форме выполняется достаточно редко, т. к. редко можно найти сущность с 3 или > возможными ключами.

Нормализация данных сопровождается «размножением» сущностей и связей. При большом объеме данных это приводит к снижению производительности. Поэтому на практике обычно ограничиваются к приведению сущностей к 3 нормальной форме.

28. Целостность и непротиворечивость данных.

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

Важно, чтобы при выполнении любых операций с данными была обеспечена их целостность и непротиворечивость.

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

Целостность данных определяется:

  1. Целостностью таблиц

  2. Целостностью внешних ключей

  3. Целостностью типов данных

Целостность таблиц обеспечивается тем, что все таблицы м.б. снабжены первичными ключами, а поля, входящие в состав первичных ключей не должны принимать неопределенных значений (NULL - значений)

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

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

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

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

В СУДБ предусмотрены средства обеспечения целостности данных, что позволяет постоянно поддерживать СУБД в вирт. состоянии.

Обеспечение целостности данных основано на использовании механизма транзакций при выполнении различных операции с объектами БД.

Транзакция - последовательность выполнения операций в БД, которая рассматривается как некоторое неделимое действие, осмысленное с т. зр. пользователя.

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

Если все операции, составляющие транзакцию, успешно выполняются, то СУБД фиксирует в БД изменения, произведенные этой транзакцией.

В этом случае говорят, что транзакция подтверждается или фиксируется.

Если хотя бы одна из операций не будет выполнена, то БД останется в том же состоянии, что и перед началом выполнения транзакции, т. е. все операции, составляющие транзакцию отменяются и транзакция соответственно не подтверждается (отказывается).

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