Связь М:М
Эта связь каждому кортежу 1-й сущности ставит в соответствие любое (в том числе и нулевое) число кортежей другой сущности и наоборот.
В отличие от связей 1: М и 1:1 связь М: М трудно реализовать в физической модели данных, поэтому эту связь при переходе к физической модели преобразуют в две связи типа 1: М путем создания роль связующей сущности. Последняя снабжается первичным ключом, составленным из ключей исходных сущностей.
Нормализация данных
Обычно, первоначальная логическая модель данных в виде набора взаимосвязанных сущностей не является оптимальной с точки зрения избыточности данных и наличия в них различных аномалий.
Нормализация- процесс проверки и реорганизации сущностей, в результате которых устраняются избыточные копии данных и, тем самым, предотвращается возможность появления противоречивых данных.
Процесс нормализации заключается последовательном приведении сущности к нормальным формам.
Известны 5 нормальных форм.
Атрибут Б сущности функционально зависит от атрибута А этой же сущности, если каждому значению атрибута А соответствует точно 1 значение Б (А однозначно определяет Б).
Если между атрибутами А и Б сущности отсутствует функциональная зависимость, однако атрибут А ограничивает диапазон изменения атрибута Б некоторым числом определенных значений, то говорят, что между такими атрибутами существует многозначная зависимость (например, между № группы и предметом, № детали и поставщиком).
Функции и многозначные зависимости между атрибутами не выводятся из структуры сущности, т.е. это семантические понятия, отражающие существование дополнительных ограничений как данные, представленные сущностью.
Для приведения сущности к 1-й нормальной форме необходимо:
Разделить сложные атрибуты на простые;
Для групп повторяющихся атрибутов создать новые сущности;
Установить с новыми сущностями связи типа 1: М
Атрибуты, хранящие разно смысловую информацию разделить на одно смысловые.
Пример:
Нормализация данных
Обычно, первоначальная логическая модель данных в виде набора взаимосвязанных сущностей не является оптимальной с точки зрения избыточности данных и наличия в них различных аномалий.
Нормализация- процесс проверки и реорганизации сущностей, в результате которых устраняются избыточные копии данных и, тем самым, предотвращается возможность появления противоречивых данных.
Процесс нормализации заключается последовательном приведении сущности к нормальным формам.
Атрибут Б сущности функционально зависит от атрибута А этой же сущности, если каждому значению атрибута А соответствует точно 1 значение Б (А однозначно определяет Б).
Если между атрибутами А и Б сущности отсутствует функциональная зависимость, однако атрибут А ограничивает диапазон изменения атрибута Б некоторым числом определенных значений, то говорят, что между такими атрибутами существует многозначная зависимость (например, между № группы и предметом, № детали и поставщиком).
Функции и многозначные зависимости между атрибутами не выводятся из структуры сущности, т.е. это семантические понятия, отражающие существование дополнительных ограничений как данные, представленные сущностью.
Сущность находится во второй нормальной форме, если:
Она находится в первой нормальной форме;
В ней отсутствуют неключевые атрибуты, функционально зависящие от части первичного ключа.
Если сущность имеет простой первичный ключ и находится в 1-й нормальной форме, то она автоматически находится и во 2-й НФ.
Для приведения сущности ко 2-й НФ необходимо:
Выделить атрибуты, которые функционально зависят от 1-й и той же части первичного ключа
Поместить их в новую сущность
Устоновит с ней связь 1:М
Повторить указанные выше действия, если это возможно.
Нормализация данных
Обычно, первоначальная логическая модель данных в виде набора взаимосвязанных сущностей не является оптимальной с точки зрения избыточности данных и наличия в них различных аномалий.
Нормализация- процесс проверки и реорганизации сущностей, в результате которых устраняются избыточные копии данных и, тем самым, предотвращается возможность появления противоречивых данных.
Процесс нормализации заключается последовательном приведении сущности к нормальным формам.
Атрибут Б сущности функционально зависит от атрибута А этой же сущности, если каждому значению атрибута А соответствует точно 1 значение Б (А однозначно определяет Б).
Если между атрибутами А и Б сущности отсутствует функциональная зависимость, однако атрибут А ограничивает диапазон изменения атрибута Б некоторым числом определенных значений, то говорят, что между такими атрибутами существует многозначная зависимость (например, между № группы и предметом, № детали и поставщиком).
Функции и многозначные зависимости между атрибутами не выводятся из структуры сущности, т.е. это семантические понятия, отражающие существование дополнительных ограничений как данные, представленные сущностью.
3-я нормальная форма
Сущность находится в 3-й нормальной форме, если она находится во 2-й нормальной форме и между её неключевыми атрибутами отсутствуют функционирующие зависимости.
Сущность находится в 3-й нормальной форме, если она находится во 2-й нормальной форме и каждый неключевой атрибут сущности функционально зависит только от всего первичного ключа и ни от чего другого.
Для привидения сущности к 3нф необходимо:
Выделить неключевые атрибуты, которые функционально зависят от одного и того же неключевого атрибута;
Поместить эти атрибуты в новую сущность
Установить с новой сущностью связь 1:М
Повторить указанные выше действия, если это возможно
Пример: возьмём результат привидения к 1-й нормальной форме
После приведения в 3-й нормальной форме получим:
Привидение к 3-й нормальной форме позволяет избегать следующих аномалий:
Аномалия вставки: невозможно ввести данные об окладах, если в данный момент соответствующую должность не занимает ни один сотрудник;
Аномалия обновления: если должность занимает несколько сотрудников и оклад по должности меняется, то необходимые корректировки должны проводиться над несколькими кортежами сущности Сотрудник, если же выполнить нормализацию, то достаточно внести изменения лишь в один кортеж сущности Должность
Аномалия удаления: если удалить сотрудника, занимающего уникальную должность, то информация об окладе теряется.
Нормализация данных
Обычно, первоначальная логическая модель данных в виде набора взаимосвязанных сущностей не является оптимальной с точки зрения избыточности данных и наличия в них различных аномалий.
Нормализация- процесс проверки и реорганизации сущностей, в результате которых устраняются избыточные копии данных и, тем самым, предотвращается возможность появления противоречивых данных.
Процесс нормализации заключается последовательном приведении сущности к нормальным формам.
Атрибут Б сущности функционально зависит от атрибута А этой же сущности, если каждому значению атрибута А соответствует точно 1 значение Б (А однозначно определяет Б).
Если между атрибутами А и Б сущности отсутствует функциональная зависимость, однако атрибут А ограничивает диапазон изменения атрибута Б некоторым числом определенных значений, то говорят, что между такими атрибутами существует многозначная зависимость (например, между № группы и предметом, № детали и поставщиком).
Функции и многозначные зависимости между атрибутами не выводятся из структуры сущности, т.е. это семантические понятия, отражающие существование дополнительных ограничений как данные, представленные сущностью.
Сущность находится в 4й НФ. Если она находится в 3й НФ и между ее атрибутами отсутствуют многозадачные зависимости.
Для приведения сущности в 4НФ нужно создать новую сущность и поместить атрибуты с многозначной зависимостью в разн. Сущности при этом связь между сущностями не устанавливается, поскольку после установления связи атрибуты с многозначной зависимостью путем миграции вновь окажутся в 1ой сущности.
Замечание:
Сущность с мнногозадачн. Зависимостями возникает как правило после выполнение естественного соединения 2х сущностей по общему атрибуту который не является ключевым ни в одной из сущностей.(фактически это попытка хранить в 1ой сущности информацию о 2х независимых объектах).
Декомпозиции без потери данных сущностей S-такая совокупность некоторого числа и ее проекций, естественны соединение которых полностью восстановят исходную сущность S.
Если сущность находится в 4Н, имел 3 или более возможных ключей и можно провести ее декомпозицию без потери данных, то привидение такой сущности к 5НФ заключается в разделении ее на сущности-проекции для каждого возможного ключа.
Приведение сущности к 5НФ выполняются достаточно редко т.к. редко можно найти сущность с 3 или > возможными ключами.
Общее замечание:
Нормализация данных сопровождается «размножением» сущностей и связей. При большом объеме данных это приводит к уменьшению производительности, поэтому на практике обычно ограничиваются привидением сущности к 3НФ.
Для пользователей информационной системы недостаточно, чтобы БД просто отражала объекты и процессы предметно области. Возможно, чтобы при выполнение любых операций с данными была обеспечена их целостность. Поэтому поддержание целостности данных может рассматриваться как защита данных и неверного их изменения или разрушение.
Целостность данных определяется:
1.Целостностью таблиц.
2.целостностью внешних ключей.
3.Целостность типов данных
Целостность таблиц
Обеспечивается тем, что все таблицы должны быть снабжены первичными ключами, а поля, входили в состав первичных ключей, не должны принимать неопределенных(NULL) значений.
Фактически NULL-значение, это не значение а некий невидимый маркет показывающий, что значение поля неизвестно
Замечание: причиной этих аномалий опять является избыточность данных, обусловленная тех, что в одной и той же сущности Сотрудник хранится информация и о сотрудниках, и о должностных окладах.
Усовершенствованная 3НФ (или НФ Кодда-Батса).
НФ Кодда-Батса требует, чтобы любой неключевой атрибут функционально зависел только от возможного ключа, то НФ Кодда-Батса запрещает функциональные зависимости между неключевыми атрибутами и альтернативными ключами.
Если сущность имеет только один возможный ключ (он не явл. первичным), то НФ Кодда-Батса совпадает с 3НФ.