Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

Пять нормальных форм.

С одной стороны, процесс проектирования структур БД является процессом творческим, неоднозначным, с другой стороны, узловые его моменты могут быть формализованы. Одной из таких формализаций является требование, согласно которому реляционная база данных должна быть нормализована (то есть, подвергнута процедуре нормализации). Рассмотрим, что это такое.

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

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

Существует несколько нормальных форм - 1НФ, 2НФ, 3НФ, 4НФ, 5НФ, нормальная форма Бойса-Кодда (БКНФ). При практической разработке баз данных важны первые три - 1НФ, 2 НФ, ЗНФ.

Определим понятие первой нормальной формы.

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

Неделимость поля означает, что значение поля не должно делиться на более мелкие значения. Например, если в поле "ФИО" содержится фамилия, имя и отчество читателя или библиотекаря, требование неделимости не соблюдается и необходимо из данного поля выделить в отдельное поля имя и отчество. В результате получится три поля: «Фамилия», «Имя» и «Отчество».

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

Таблица 4.1.

Спецификация таблицы Phones (ТЕЛЕФОНЫ).

№ п.п. Заглавие Имя поля Тип Длина Ключ
1. Код читателя ReaderCode INTEGER   F
2. № домашнего телефона HomePhoneNumber CHAR    
3. № рабочего телефона WorkPhoneNumber CHAR    
4. № мобильного телефона MobPhoneNumber CHAR    

 

Чтобы таблица «ТЕЛЕФОНЫ» соответствовала первой нормальной форме необходимо вынести типы телефонов в отдельную таблицу, и реализовать регистрацию телефонов читателей на базе двух таблиц (табл. 4.2. и 4.3).

Таблица 4.2.

Спецификация таблицы Phones (ТЕЛЕФОНЫ).

№ п.п. Заглавие Имя поля Тип Длина Ключ
5. Код читателя ReaderCode INTEGER   F
6. Код типа телефона PhoneTypeCode INTEGER   F
7. № телефона PhoneNumber CHAR    

 

Таблица 4.3.

Спецификация таблицы PhoneTypes (ТИПЫ ТЕЛЕФОНОВ).

№ п.п. Заглавие Имя поля Тип Длина Ключ
1. Код Code INTEGER   P
2. Наименование Name CHAR    

 

Таким образом, если появится еще один тип телефона читателя, нам его останется зарегистрировать в табл. 4.3 и записать его номер в табл. 4.2 в строке с соответствующими кодами читателя и типа телефона.

<== предыдущая лекция | следующая лекция ==>
Льготы. Характеристика основных видов льгот | Вторая нормальная форма
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 343; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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