Материал: BD шпорки

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
  1. Связь между сущностями типа «многие ко многим». Ее преобразование при переходе к физической модели

Связь М:М

Эта связь каждому кортежу 1-й сущности ставит в соответствие любое (в том числе и нулевое) число кортежей другой сущности и наоборот.

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

  1. Нормализация данных. Первая нормальная форма

Нормализация данных

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

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

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

Известны 5 нормальных форм.

  1. Атрибут Б сущности функционально зависит от атрибута А этой же сущности, если каждому значению атрибута А соответствует точно 1 значение Б (А однозначно определяет Б).

  2. Если между атрибутами А и Б сущности отсутствует функциональная зависимость, однако атрибут А ограничивает диапазон изменения атрибута Б некоторым числом определенных значений, то говорят, что между такими атрибутами существует многозначная зависимость (например, между № группы и предметом, № детали и поставщиком).

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

Для приведения сущности к 1-й нормальной форме необходимо:

  1. Разделить сложные атрибуты на простые;

  2. Для групп повторяющихся атрибутов создать новые сущности;

  3. Установить с новыми сущностями связи типа 1: М

  4. Атрибуты, хранящие разно смысловую информацию разделить на одно смысловые.

Пример:

  1. Нормализация данных. Вторая нормальная форма

Нормализация данных

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

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

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

Атрибут Б сущности функционально зависит от атрибута А этой же сущности, если каждому значению атрибута А соответствует точно 1 значение Б (А однозначно определяет Б).

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

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

2 Нормальная форма

Сущность находится во второй нормальной форме, если:

  1. Она находится в первой нормальной форме;

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

Если сущность имеет простой первичный ключ и находится в 1-й нормальной форме, то она автоматически находится и во 2-й НФ.

Для приведения сущности ко 2-й НФ необходимо:

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

  2. Поместить их в новую сущность

  3. Устоновит с ней связь 1:М

  4. Повторить указанные выше действия, если это возможно.

  1. Нормализация данных. Третья нормальная форма и нормальная форма Кодда-Бойса

Нормализация данных

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

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

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

Атрибут Б сущности функционально зависит от атрибута А этой же сущности, если каждому значению атрибута А соответствует точно 1 значение Б (А однозначно определяет Б).

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

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

3-я нормальная форма

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

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

Для привидения сущности к 3нф необходимо:

  1. Выделить неключевые атрибуты, которые функционально зависят от одного и того же неключевого атрибута;

  2. Поместить эти атрибуты в новую сущность

  3. Установить с новой сущностью связь 1:М

  4. Повторить указанные выше действия, если это возможно

Пример: возьмём результат привидения к 1-й нормальной форме

После приведения в 3-й нормальной форме получим:

Привидение к 3-й нормальной форме позволяет избегать следующих аномалий:

  • Аномалия вставки: невозможно ввести данные об окладах, если в данный момент соответствующую должность не занимает ни один сотрудник;

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

  • Аномалия удаления: если удалить сотрудника, занимающего уникальную должность, то информация об окладе теряется.

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

Нормализация данных

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

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

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

Атрибут Б сущности функционально зависит от атрибута А этой же сущности, если каждому значению атрибута А соответствует точно 1 значение Б (А однозначно определяет Б).

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

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

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

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

Замечание:

Сущность с мнногозадачн. Зависимостями возникает как правило после выполнение естественного соединения 2х сущностей по общему атрибуту который не является ключевым ни в одной из сущностей.(фактически это попытка хранить в 1ой сущности информацию о 2х независимых объектах).

5Ая нормальная форма

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

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

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

Общее замечание:

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

  1. Целостность данных

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

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

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

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

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

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

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

Фактически NULL-значение, это не значение а некий невидимый маркет показывающий, что значение поля неизвестно

Замечание: причиной этих аномалий опять является избыточность данных, обусловленная тех, что в одной и той же сущности Сотрудник хранится информация и о сотрудниках, и о должностных окладах.

Усовершенствованная 3НФ (или НФ Кодда-Батса).

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

Если сущность имеет только один возможный ключ (он не явл. первичным), то НФ Кодда-Батса совпадает с 3НФ.