Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Нормальная форма определяется как совокупность требований, которым должно удовлетворять отношение между множествами таблицы или таблиц базы данных





· исключение некоторых типов избыточности;

· устранение некоторых аномалий обновления;

· разработка проекта базы данных, который является достаточно «качественным» представлением реального мира, интуитивно понятен и может служить хорошей основой для последующего расширения;

· упрощение процедуры применения необходимых ограничений целостности.

 

 

Первая нормальная форма


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

Например, есть таблица «Автомобили»:

 

Фирма Модели
BMW M5, X5M, M1
Nissan GT-R


Нарушение нормализации 1НФ происходит в моделях BMW, т.к. в одной ячейке содержится список из 3 элементов: M5, X5M, M1, т.е. он не является атомарным. Преобразуем таблицу к 1НФ:

Фирма Модели
BMW M5
BMW X5M
BMW M1
Nissan GT-R

 

Вторая нормальная форма

 

Основные критерии:

Таблица должна находиться в первой нормальной форме.

Любое её поле, не входящее в состав первичного ключа, функционально ПОЛНО зависит от первичного ключа.

 

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

 

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


Например, дана таблица:

 

Модель Фирма Цена Скидка
M5 BMW   5%
X5M BMW   5%
M1 BMW   5%
GT-R Nissan   10%


Таблица находится в первой нормальной форме, но не во второй. Цену машины зависит от модели и фирмы. Скидка зависят от фирмы, то есть зависимость от первичного ключа неполная. Исправляется это путем декомпозиции на два отношения, в которых не ключевые атрибуты зависят от ПК.

 

Модель Фирма Цена
M5 BMW  
X5M BMW  
M1 BMW  
GT-R Nissan  

 

Фирма Скидка
BMW 5%
Nissan 10%

 

Третья нормальная форма


Основные критерии:

Таблица находится во второй нормальной форме.

 

Любой её не ключевой атрибут функционально зависит ТОЛЬКО от первичного ключа.

 

Подробнее:

Рассмотрим таблицу:

 

Модель Магазин Телефон
BMW Риал-авто 87-33-98
Audi Риал-авто 87-33-98
Nissan Некст-Авто 94-54-12

 

Таблица находится во 2НФ, но не в 3НФ.
В отношении атрибут «Модель» является первичным ключом. Личных телефонов у автомобилей нет, и телефон зависит исключительно от магазина.
Таким образом, в отношении существуют следующие функциональные зависимости: Модель → Магазин, Магазин → Телефон, Модель → Телефон.
Зависимость Модель → Телефон является транзитивной, следовательно, отношение не находится в 3НФ.
В результате разделения исходного отношения получаются два отношения, находящиеся в 3НФ:


Риал-авто 87-33-98
Риал-авто 87-33-98
Некст-Авто 94-54-12

Модель Магазин
BMW Риал-авто
Audi Риал-авто
Nissan Некст-Авто

 

 

Нормальная форма Бойса-Кодда (НФБК) (частная форма третьей нормальной формы)

 

Эта форма почти то же самое, что и третья. С одним небольшим дополнительным условием.

Основные критерии:

Таблица находится в третьей нормальной форме.

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

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

Метод приведения к BCNF: Вынести в отдельную таблицу потенциальные первичные ключи

Предположим, что наименования поставщиков являются уникальными. Кроме того, каждый поставщик имеет свой уникальный номер (два потенциальных ключа). Исправим это:

Date: 2016-05-25; view: 419; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию