Поисковое продвижение сайтов - быстро, качественно, гарантия, возврат денег!

Мой номер

Реклама


Rambler's Top100
Главная arrow Статьи arrow Создание ПО arrow Нормальные формы баз данных ч.1
Нормальные формы баз данных ч.1
Написал gdever   
03.05.2010
Оглавление
Нормальные формы баз данных ч.1
Страница 2
Страница 3
    В своё время случилась одна любопытная дискуссия с моим сотрудником. Подходит он ко мне и говорит, что типа наша БД не в первой нормальной форме. Не в какой-нибудь хитрой четвёртой или в пятой, которая практически нафиг никому не нужна. А именно первой. Т.е. подобное заявление равнозначно наезду, что, мол, структура БД полное говно, а вы, Алексей, криворукий идиот. «Нифига себе» - подумал, я. Как это такое может быть? Почти полтора десятка лет в программировании, плюс здравым смыслом, вроде, не обделён, и тут вот такое. Можно было конечно завершить недоразумение фразой «я – начальник, ты – дурак», но как-то самому стало интересно, в чём же дело. Поэтому деликатно так поинтересовался, а на чем основано данное утверждение? Сотрудник бодро открыл определение в Википедии и походу уже приготовился праздновать победу. Я, признаться, никогда не мог по памяти назвать ни одну из нормальных форм, а «рисовал» структуру БД просто на основании здравого смысла. Потом постфактум выяснялось, что базы спроектированы в полном соответствии с этими самыми формами. Так и жил. А тут, стало быть, по определению выходило совсем не так как подсказывало программерское чутьё. Поэтому с любопытством начал изучать определение. Каково же было моё удивление, что как раз по этому определению выходило, что с базой полный порядок! Я, конечно, и раньше находил формулировки отечественного сегмента Википедии чрезмерно заумными, и поэтому допускал, что со средним умом лучше их не читать. Но тут произошло что-то совсем вопиющее – мой сотрудник, прочитав определение, сделал какой-то абсолютно нелогичный вывод и даже не удосужился проверить свои выводы. А наоборот взял свою свежепридуманную глупость и решил с её помощью поучить народ. Я говорил, что опенсорс до добра не доведёт, да и другие умные люди тоже говорили. Но я не знал, что армегедец наступит так скоро. Ну да бог с этой Википедией, можно ведь и самому определения нормальных форм набросать.

    Ключ - поле записи, чьё значение уникально для всего набора записей, имеет значение отличное от NULL и неизменно на протяжении всей жизни записи.

    Первая нормальная форма – любое поле любой записи хранит только одно значение.

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

    Вторая нормальная форма – БД находится в первой нормальной форме и любое неключевое поле полностью зависит от ключа.

    Например, у нас есть запись с полями (Идентификатор, Название CD-Диска, Название группы), где ключом является поле «Идентификатор». При этом, очевидно, что поле «Название группы» зависит не только от «Идентификатора» но и от поля «Название CD-Диска». Поэтому такая БД не находится во второй нормальной форме.

    Третья нормальная форма – БД находится во второй нормальной форме и нет неключевых полей зависящих от значения других неключевых полей.

    Например, у нас в записи хранятся код региона и его название (помимо самих полей с информацией о CD-диске). Понятно, что название региона зависит от кода, и наоборот, поэтому такая БД не будет находиться в третьей нормальной фоме.

    PS Ссылки по теме:
    Нормальные формы баз данных ч.2
Сформировать ссылку на статью для вашего сайта | Просмотров: 20765

Коментарии (11)
RSS комментарии
 11 Написал(а) gdever, в 24-12-2011 13:13
2Andriy 
 
Я подправил статью. Надеюсь, так будет понятнее.

Только зарегистрированные пользователи могут оставлять коментарии.
Пожалуйста зарегистрируйтесь или войдите в ваш аккаунт.



Последнее обновление ( 24.12.2011 )
 
< Пред.   След. >
Design by ah-68 - Copyright © 2007 by www.gdzone.ru