Мой номер

Реклама

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

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

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

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

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

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

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

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

Коментарии (2)
RSS комментарии
 1 Написал(а) Juares, в 13-06-2010 13:31
На ваш сайт меня гугл вывел) Собственно, очень ему благодарен) Искал нормальные формы, а наткнулся на множество статей по интересующей меня IT- теме) Специально зарегестрировался - выразить почтение (: Очень свежие и смешные статьи. 
"Пожалуйста оставляйте коментарии только по теме" - не вопрос) Определения простые и ясные) А википедия действительно заумностью изобилует. Впрочем, как и почти все остальные источники. Не раз уже замечал, что можно намного проще объяснить
 2 Написал(а) gdever, в 15-06-2010 19:52
2Juares 
 
Ну, как говорится, вэлкам!

Добавить коментарий
  • Пожалуйста оставляйте коментарии только по теме.
Имя:
Домашняя страница
Тема:
Коментарий:



Код:* Code
Предупреждать меня о новых комментариях к этой статье

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