|
|||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Нормализация отношений
Нормализация БД как процесс основывается на понятии зависимости между атрибутами отношений. Под функциональной зависимостью между атрибутами будем понимать такую зависимость, когда каждому атрибуту А соответствует одно и только одно значение атрибута В. Например, каждой фамилии студента соответствует один и только один шифр студента. Частичной функциональной зависимостью будем называть зависимость неключевого атрибута от части первичного ключа. Например, имеется запись вида: ЗАКАЗЫ
В этом случае атрибут «Адрес поставщика» будет зависеть только от части первичного ключа «Наименование поставщика». Следовательно, в записи имеется частичная функциональная зависимость значения поля «Адрес поставщика» от первичного ключа отношения. Под полной функциональной зависимостью будем понимать зависимость неключевого атрибута от всего первичного ключа. Так, в рассмотренном выше примере значение поля «Количество» будет зависеть от значений полей «Номер заказа», «Наименование поставщика», «Наименование товара», т.е. от всего первичного ключа. Под транзитивной зависимостью будем понимать следующую зависимость: если атрибут В зависит от атрибута А, а атрибут С зависит от атрибута В, то С транзитивно зависит от А. Под многозначной зависимостью будем понимать зависимость многих значений поля В от одного значения поля А. Или, говоря другими словами, поле В многозначно зависит от поля А, если каждому значению поля А соответствует множество значений поля В. Будем говорить, что отношение находится в первой нормальной форме (1НФ), если все его атрибуты являются простыми (имеют единственное значение) и не содержат повторяющихся полей. Т.е., каждое значение любого поля таблицы БД должно быть неделимо на более мелкие поля (атомарно). Рассмотрим отношение, представленное в таблице 1 приложения. Оно не находится в 1НФ, т.к. поле «Адрес поставщика» может быть разделено на поля «Город», «Улица», «Дом», следовательно, оно не атомарно. Для приведения этой таблицы к 1НФ надо разбить поле «Адрес» на несколько полей. Результат представлен в таблице 2 приложения. Говорят, что отношение находится во второй нормальной форме (2НФ), если оно находится в 1НФ и каждый его неключевой атрибут функционально полно зависит от составного первичного ключа. Отношение, представленное в таблице 2 приложения не находится в 2НФ, для приведения ее к 2НФ необходима декомпозиция (разбиение) этой таблицы на таблицы 3-9 приложения. Говорят, что таблица находится в третьей нормальной форме (3НФ), если она находится в 2 НФ и в ней отсутствуют транзитивные зависимости. В приложении таблица 9 «Товар» не удовлетворяет требованиям 3 НФ, т.к. в ней имеется транзитивная зависимость между атрибутами «Код товара», «Товар» и «Единица измерения». Для приведения ее к 3НФ надо провести декомпозицию, результаты которых представлены в таблицах 11, 12 приложения. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.002 сек.) |