русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Нормализация отношений


Дата добавления: 2013-12-23; просмотров: 936; Нарушение авторских прав


Рассмотрим переменную-отношение SCP.

 

S# CITY P# QTY
S1 London P1
S1 London P2
S2 Paris P1
S2 Paris P2
S3 Paris P2
S4 London P2
S4 London P4
S4 London P5

 

Главный её недостаток - избыточность. Например, в каждом кортеже для поставщика S1 содержится информация, что этот поставщик находится в Лондоне. В каждом кортеже для поставщика S2 содержится информация, что этот поставщик находится в Париже. Иначе говоря, сведения о городе , в котором находится конкретный поставщик, повторяются столько раз, сколько поставок выполняет данный поставщик. Эта избыточность приводит к определенным проблемам. Например, после обновления данных в качестве города для поставщика S1 в одном из кортежей может быть указан Лондон, во втором – Амстердам ,в третьем вообще может содержаться неопределенное значение. Поэтому при создании БД следует избегать избыточности данных. Избавиться от избыточности позволяет нормализация.

 

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

 

На данный момент определены следующие нормальные формы :

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

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

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

Нормальная форма Байеса-Кодда

Четвертая нормальная форма

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

 

Первая, вторая и третья нормальная формы были сформулированы Коддом. Нормальная форма Бойсса-Кодда является переработкой и уточнением третьей нормальной формы. Четвертая и пятая нормальные формы определены Фейгином (Fagin).

 

Основные свойства нормальных форм:



* каждая следующая нормальная форма в некотором смысле лучше предыдущей;

* при переходе к следующей нормальной форме свойства предыдущих нормальных форм сохраняются.

* процесс нормализации является обратимым

 

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

Пример. Рассмотрим следующую переменную-отношение S :

S# STATUS CITY
S3 Paris
S5 London

 

Для нее возможны два варианта декомпозиции : а

       
 
 
   

 

 


В первом случае информация не утрачивается, поскольку переменные-отношения содержат данные о том, что поставщик S3 имеет статус 30 и находится в Париже, а поставщик S5 также имеет статус 30 и находится в Лондоне. В этом случае говорят, что это декомпозиция без потерь. Сохранение информации означает, что при обратном соединении отношений будет получена исходная переменная-отношение.

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

 

По своей сути нормализация представляет собой операцию проекции, а операция соединения представляет собой операцию, обратную нормализации.

 



<== предыдущая лекция | следующая лекция ==>
Замыкание множества зависимостей | История развития коммуникаций. Понятие сети


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.