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

Нормализация стали

Одним из способов изменения параметров стали является термообработка. Она включает несколько методов, одним из которых является нормализация. Далее рассмотрены принципы и применение данной технологии, отличия ее от прочих методов этой группы.

Общие положения

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

Нормализацией стали называют процесс нагрева, выдержки материала, его последующего охлаждения на воздухе.

В результате формируется нормализованная структура. Этим объясняется название данного способа обработки.

Нормализация применяется для разных сталей, а также отливок. К тому же данной операции подвергают для измельчения структуры материала сварные швы.

Принципы

Суть нормализации состоит в нагреве стали до температуры, превышающей верхние критические значения температуры на 30 — 50°С , выдержке и охлаждении.

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

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

Что касается доэвтектоидной стали, при нагреве более Ас3 она получает повышенную вязкость. Это обусловлено тем, что в низкоуглеродистой стали при этом образуется мелкозернистый аустенит, который после охлаждения переходит в мелкокристаллический мартенсит. Температуры между Ас1 и Ас3 не используют для обработки таких материалов, так как структура доэвтектоидной стали в данном случае получает феррит, снижающий ее твердость после нормализации и механические свойства после отпуска.

Оптимальные температуры нагрева при различных видах термообработки

Время выдержки определяет степень гомогенизации структуры. Нормативным показателем считают час выдержки на 25 мм толщины.

Интенсивность охлаждения в существенной степени определяет количество перлита и размеры пластин.

Так, существует прямая зависимость между данными величинами. То есть с повышением интенсивности охлаждения формируется больше перлита, расстояние между пластинами и их толщина сокращаются. Это увеличивает твердость и прочность нормализованной стали. Следовательно, низкая интенсивность охлаждения способствует образованию материала меньшей прочности и твердости.

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

При снижении температуры обрабатываемого изделия до нижней критической точки допустимо ускорение охлаждения путем помещения его в масло или воду.

Таким образом, нормализация сокращает внутренние напряжения, измельчает крупнозернистую структуру поковок, отливок, сварных швов путем перекристаллизации. То есть изменяется микроструктура стали.

Назначение

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

Стальные отливки подвергают такой обработке для гомогенизации структуры, повышения подверженности термическому упрочнению, сокращения остаточных напряжений.

Получаемые путем обработки давлением предметы нормализуют после ковки и прокатки для сокращения разнозернистости структуры и ее полосчатости соответственно.

Нормализация с отпуском служит в качестве замены закалки для предметов сложной формы либо с резкими перепадами по сечению. Данный способ позволяет избежать дефектов.

Процесс нормализации стали

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

Близкие процессы

Термическая обработка стали, помимо нормализации, включает отжиг, отпуск, закалку, криогенную обработку, дисперсионное твердение. Цель нормализации, как и принцип осуществления, совпадает с названными технологиями. Поэтому далее проведено сравнение данных процессов.

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

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

Отпуск используется после закалки для сокращения хрупкости и напряжений. Для этого материал нагревают до меньшей температуры и охлаждают на воздухе. С ростом температуры падают предел прочности и твердость, и увеличивается ударная вязкость.

Дисперсионное твердение, относящееся также к окончательной обработке, подразумевает выделение дисперсных частиц в твердом растворе после закалки при меньшем нагреве с целью упрочнения.

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

Применение

Выбор какого-либо из рассмотренных способов обработки определяется концентрацией в стали углерода. Для материалов с величиной данного показателя до 0,2% предпочтительнее использовать нормализацию. Стали с количеством углерода 0,3 — 0,4% обрабатывают и нормализацией, и отжигом. В таких случаях выбор способа осуществляют на основе требуемых свойств материала. Так, нормализация стали придает ей мелкозернистую структуру, большие прочность и твердость в сравнении с отжигом. Кроме того, данная технология является более производительным процессом. Следовательно, при прочих равных условиях она более предпочтительна. Закалке ее предпочитают ввиду хрупкости получаемых таким способом изделий и при обработке предметов с перепадами сечения во избежание дефектов.

Таким образом, нормализацию можно считать промежуточной технологией по отношению к ним: она дает материал большей твердости, чем отжиг, но менее хрупкий в сравнении с закалкой, улучшая структуру и сокращая напряжения. Ввиду этого нормализация получила в машиностроении более обширное распространение.

Нормализация баз данных простыми словами

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

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

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

  1. Реляционная база данных
  2. Нормализация баз данных
  3. Зачем нормализовать базу данных?
  4. Нормальные формы базы данных
  5. Описание нормальных форм базы данных

Реляционная база данных

В целом под базой данных можно понимать любой набор информации, которую можно найти в этой базе данных и воспользоваться ей, однако если говорить в контексте SQL, то речь будет идти, конечно, о реляционных базах данных, а что же это такое?

Реляционная база данных – это упорядоченная информация, связанная между собой определёнными отношениями.

Логически такая база данных представлена в виде таблиц, в которых и лежит вся эта информация.

Примечание! Если Вас интересует язык SQL, рекомендую пройти мой онлайн-курс по основам SQL, который ориентирован на изучение SQL как стандарта, таким образом, Вы сможете работать в любой системе управления базами данных. Курс включает много практики: онлайн-тестирование, задания и многое другое.

Нормализация баз данных

В реляционных базах данных есть такое понятия, как «Нормализация».

Нормализация – это процесс удаления избыточных данных.

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

Нормализация – это метод проектирования базы данных, который позволяет привести базу данных к минимальной избыточности.

Избыточность устраняется, как правило, за счёт декомпозиции отношений (таблиц), т.е. разбиения одной таблицы на несколько.

Зачем нормализовать базу данных?

У Вас может возникнуть вопрос – а зачем вообще нормализовать базу данных и бороться с этой избыточностью?

Дело в том, что избыточность данных создает предпосылки для появления различных аномалий, снижает производительность, и делает управление данными не гибким и не очень удобным. Отсюда можно сделать вывод, что нормализация нужна для:

  • Устранения аномалий
  • Повышения производительности
  • Повышения удобства управления данными

Теперь давайте поговорим о самой избыточности данных, что же это такое.

Избыточность данных – это когда одни и те же данные хранятся в базе в нескольких местах, именно это и приводит к аномалиям.

Так как в этом случае необходимо добавлять, изменять или удалять одни и те же данные в нескольких местах. Например, если не выполнить операцию в каком-нибудь одном месте, то возникает ситуация, когда одни данные не соответствуют вроде как точно таким же данным в другом месте.

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

Идентификатор предмета Наименование предмета Материал
1 Стул Металл
2 Стол Массив дерева
3 Кровать ЛДСП
4 Шкаф Массив дерева
5 Комод ЛДСП

А теперь допустим, что у нас возникла необходимость подкорректировать название материала, вместо «Массив дерева» нужно написать «Натуральное дерево», и чтобы это сделать нам необходимо внести изменения сразу в несколько строк, так как предметов, изготовленных из массива дерева, несколько, а именно 2: стол и шкаф.

А теперь представьте, что по каким-то причинам мы внесли изменения только в одну строку, в итоге в нашей таблице будет и «Массив дерева», и «Натуральное дерево».

Идентификатор предмета Наименование предмета Материал
1 Стул Металл
2 Стол Натуральное дерево
3 Кровать ЛДСП
4 Шкаф Массив дерева
5 Комод ЛДСП

Какое из этих названий будет правильным? А если представить, что мы можем внести еще какое-то новое значение при добавлении новых записей, например, просто «Дерево».

В этом случае в нашей таблице в скором времени будет и «Массив дерева», и «Натуральное дерево», и просто «Дерево», и вообще, что угодно, ведь это просто текст.

Идентификатор предмета Наименование предмета Материал
1 Стул Металл
2 Стол Натуральное дерево
3 Кровать ЛДСП
4 Шкаф Массив дерева
5 Комод ЛДСП
6 Тумба Дерево
Читать еще:  Как правильно разбавить загустевшую водоэмульсионную краску

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

При этом, обязательно стоит отметить, что в нашей таблице всего 5 записей, а теперь представьте, что их миллион!

Именно поэтому мы должны устранять избыточность данных в базе, т.е. проводить так называемую нормализацию базы данных.

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

Идентификатор предмета Наименование предмета Идентификатор материала
1 Стул 2
2 Стол 1
3 Кровать 3
4 Шкаф 1
5 Комод 3

Материалы, из которых изготовлены предметы мебели.

Идентификатор материала Материал
1 Массив дерева
2 Металл
3 ЛДСП

В этом случае когда нам потребуется изменить название материала, мы будем вносить изменение только в одном месте, т.е. править только одну строку.

Таким образом, представляя материалы в виде отдельной сущности и создавая для нее отдельную таблицу, мы устраняем описанную выше аномалию.

Другими словами, каждая сущность должна храниться отдельно, а в случае необходимости использования этой сущности в другой таблице на нее делается всего лишь ссылка, т.е. выстраивается связь.

Нормальные формы базы данных

В целом процесс нормализации базы данных выглядит следующим образом: мы, следуя определённым правилам и соблюдая определенные требования, проектируем таблицы в базе данных.

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

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

Нормальная форма базы данных – это набор правил и критериев, которым должна отвечать база данных.

Каждая следующая нормальная форма содержит более строгие правила и критерии, тем самым приводя базу данных к определённой нормальной форме мы устраняем определённый набор аномалий.

Отсюда можно сделать вывод, что чем выше нормальная форма, тем меньше аномалий в базе будет.

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

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

Существует 5 основных нормальных форм базы данных:

  • Первая нормальная форма (1NF)
  • Вторая нормальная форма (2NF)
  • Третья нормальная форма (3NF)
  • Четвертая нормальная форма (4NF)
  • Пятая нормальная форма (5NF)

Однако выделяют еще дополнительные нормальные формы:

  • Ненормализованная форма или нулевая нормальная форма (UNF)
  • Нормальная форма Бойса-Кодда (BCNF)
  • Доменно-ключевая нормальная форма (DKNF)
  • Шестая нормальная форма (6NF)

Если объединить оба этих списка и упорядочить нормальные формы от менее нормализованной до самой нормализованной, т.е. начиная с формы, при которой база данных по своей сути не является нормализованной, и заканчивая самой строгой нормальной формой, то мы получим следующий перечень:

  1. Ненормализованная форма или нулевая нормальная форма (UNF)
  2. Первая нормальная форма (1NF)
  3. Вторая нормальная форма (2NF)
  4. Третья нормальная форма (3NF)
  5. Нормальная форма Бойса-Кодда (BCNF)
  6. Четвертая нормальная форма (4NF)
  7. Пятая нормальная форма (5NF)
  8. Доменно-ключевая нормальная форма (DKNF)
  9. Шестая нормальная форма (6NF)

База данных считается нормализованной, если она находится как минимум в третьей нормальной форме (3NF).

В реальном мире нормализация до третьей нормальной формы (3NF) является обычной, стандартной практикой, так как 3NF устраняет достаточное количество аномалий, при этом производительность базы данных, а также удобство ее использования не снижается, что нельзя сказать о всех последующих формах.

Ситуации, при которых требуется нормализовать базу данных до четвертой нормальной формы (4NF), в реальном мире встречаются достаточно редко.

Заметка! Если Вас интересует язык SQL, рекомендую почитать мою книгу «SQL код», которая ориентирована на изучение SQL как стандарта, после прочтения книги Вы сможете писать SQL запросы в любой системе управления базами данных.

Если говорить о всех последующих нормальных формах (5NF, DKNF, 6NF), то в реальной жизни трудно даже представить ситуации, при которых потребуется нормализовать базу данных до этих форм.

Иными словами, 5NF, DKNF, 6NF – это в большей степени теоретические нормальные формы, немного отстраненные от реального мира.

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

Описание нормальных форм базы данных

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

На сегодня это все, надеюсь, материал был Вам полезен и интересен, пока!

Процесс нормализации

Нормализация— это формальный метод анализа отношений на основе их пер­вичного ключа (или потенциальных ключей, как в случае НФБК) и существующих функциональных зависимостей. Он включает ряд правил, которые могут использо­ваться для проверки отдельных отношений таким образом, чтобы вся база данных могла быть нормализована до желаемой степени нормализации. Если некоторое тре­бование не удовлетворяется, то нарушающее данное требование отношение должно быть декомпозировано на отношения, каждое из которых (в отдельности) удовлетво­ряет всем требованиям нормализации.

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

На рисунке 6 показана схема процесса нормализации и продемонстрирована взаи­мосвязь между разными нормальными формами. Видно, что одни 1НФ-отношения могут находиться во 2НФ, другие 2НФ-отношения — в ЗНФ и т.д.

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

Первая нормальная форма (1НФ)– отношение, в котором на пересечении каждой строки и каждого столбца содержится только одно значение.

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

В первом подходе повторяющиеся группы устраняются путем ввода соответст­вующих данных в пустые столбцы строк с повторяющимися данными. Иначе говоря, пустые места при этом заполняются дубликатами неповторяющихся данных. Этот подход часто называют “выравниванием” (“flattening”) таблицы. Полученная в ре­зультате этих действий таблица, которая теперь будет называться отношением, со­держит атомарные (или единственные) значения на пересечении каждой строки с каждым столбцом, а потому находится в первой нормальной форме. В результате та­кого подхода в полученное отношение вносится некоторая избыточность данных, ко­торая в ходе дальнейшей нормализации будет устранена.

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

Хотя оба этих подхода одинаково корректны, следует отметить, что при использо­вании второго подхода полученные отношения находятся как минимум в 1НФ и обла­дают меньшей избыточностью данных. При выборе первого подхода выровненное 1НФ-отношение декомпозируется в ходе дальнейшей нормализации на те же отношения, ко­торые могли бы быть получены с помощью второго подхода.

Вторая нормальная форма (2НФ)

Вторая нормальная форма (2НФ) основана на понятии полной функциональной зависимости, которая описывается ниже.

Полная функциональная зависимость – в некотором отношении атрибут В называется полностью функционально зависимым от атрибута А, если атрибут В функционально зависит от полного значения атрибута А и не зависит ни от какого подмножества полного значения атрибута А.

Функциональная зависимость А®В является полной функциональной зависимо­стью, если удаление какого-либо атрибута из А приводит к утрате этой зависимости. Частичной функциональной зависимостью называется такая зависимость А®В, если в А есть некий атрибут, при удалении которого эта зависимость сохраняется.

Вторая нормальней форма применяется к отношениям с составными ключами, т.е. к таким отношениям, первичный ключ которых состоит из двух или больше атрибутов. Дело в том, что отношение с первичным ключом на основе единственно­го атрибута всегда находится, по крайней мере, в 2НФ. Отношение, которое не на­ходится в 2НФ, может страдать от аномалий обновления.

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

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

Третья нормальная форма (ЗНФ)

Хотя 2НФ-отношения в меньшей степени обладают избыточностью данных, чем 1НФ-отношения, они все еще могут страдать от аномалий обновления.

Транзитивная зависимость – если для атрибутов А, В и С некоторого отношения существуют зависимости вида А®В и В®С, то говорят, что атрибут С транзитивно зависит от атрибута А через атрибут В (при условии, что атрибут А функционально не зависит ни от атрибута В, ни от атрибута С).

Читать еще:  Как сделать мангал из газового баллона - чертеж, разметка, раскрой, сборка своими руками

Транзитивная зависимость является описанием такого типа функциональной за­висимости, которая возникает при наличии следующих функциональных зависимо­стей между атрибутами А, В и С:

В данном случае транзитивная зависимость А®С осуществляется через атрибут В. Это утверждение справедливо только в том случае, если атрибут А функционально не зависит от атрибутов В и С.

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

Нормализация 2НФ-отношений с образованием ЗНФ-отношений включает устранение транзитивных зависимостей. Если в отношении существует транзи­тивная зависимость между атрибутами, в таком случае транзитивно-зависимые атрибуты удаляются из него и помещаются в новое отношение вместе с копией их детерминанта.

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

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

Нормальная форма Бойса-Кодда (НФБК) учитывает функциональные зависимо­сти, в которых участвуют все потенциальные ключи отношения, а не только его пер­вичный ключ. Для отношения с единственным потенциальным ключом его ЗНФ и НФБК являются эквивалентными.

Нормальная форма Бойса-Кодда (НФБК) – отношение находится в НФБК тогда и только тогда, когда каждый его детерминант является потенциальным ключом.

Для проверки принадлежности отношения к НФБК необходимо найти все его де­терминанты и убедиться в том, что они являются потенциальными ключами. На­помним, что детерминантом является один атрибут или группа атрибутов, от которой полностью функционально зависит другой атрибут.

Различие между ЗНФ и НФБК заключается в том, что функциональная зависи­мость А®В допускается в ЗНФ-отношении, если атрибут В является первичным клю­чом, а атрибут А не обязательно является потенциальным ключом. Тогда как в НФБК-отношении эта зависимость допускается только тогда, когда атрибут А явля­ется потенциальным ключом. Следовательно нормальная форма Бойса-Кодда являет­ся жесткой версией формы ЗНФ, поскольку каждое НФБК-отношение является ЗНФ-отношением, но не всякое ЗНФ-отношение является НФБК-отношением.

Нарушения требований НФБК происходят крайне редко, поскольку это может случиться только тогда, когда:

– имеются два (или более) составных потенциальных ключа;

– эти потенциальные ключи перекрываются, т.е. ими совместно использует­ся, по крайней мере, один общий атрибут.

Четвертая нормальная форма (4НФ)

Как было сказано выше, НФБК позволяет устранить любые аномалии, вызванные функциональными зависимостями. Однако в ходе исследований был выявлен еще один тип зависимости — многозначная зависимость (multi-valued dependency — MVD), которая при проектировании отношений также может вызвать проблемы, свя­занные с избыточностью данных.

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

Многозначная зависимость – в случае многозначной зависимости, существующей между атрибутами А, В и С некоторого отношения, для каждого значения А имеется набор значений атрибута В и набор значений атрибута С. Однако входящие в эти наборы значения атрибутов В и С не зави­сят друг от друга.

Многозначная зависимость между атрибутами А, В и С некоторого отношения дальше будет обозначаться следующим образом: А ®> В А®> С

Многозначная зависимость может быть дополнительно определена как тривиаль­ная или нетривиальная. Например, многозначная зависимость А —» В некоторого от­ношения R определяется как тривиальная, если атрибут В является подмножеством атрибута А или А и В = R.

И наоборот, многозначная зависимость определяется как нетривиальная, если ни одно, ни другое условие не выполняется. Тривиальная многозначная зависимость не накладывает никаких ограничений на данное отношение, а нетривиальная — накладывает.

Четвертая нормальная форма (4НФ) – отношение в нормальной форме Бойса-Кодда, которое не содержит нетривиальных многозначных зависимостей.

Четвертая нормальная форма (4НФ) является более строгой разновидностью нор­мальной формы Бойса-Кодда, поскольку в 4НФ-отношениях нет нетривиальных многозначных зависимостей, а потому нет и избыточности данных. Нормализация НФБК-отношения с получением 4НФ-отношений заключается в устранении многозначной зависимости из НФБК-отношения посредством выделения в новое отношение одного или нескольких участвующих в многозначной зависимости атрибутов вместе с копией одного или нескольких детерминантов.

Пятая нормальная форма (5НФ)

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

Однако бывают случаи, когда требуется декомпозировать отношение на более чем два отношения. В таких (достаточно редких) случаях возникает необходимость учиты­вать зависимость соединения, которая устраняется с помощью пятой нормальной формы (5НФ).

Зависимость соединения – свойство декомпозиции, которое вызывает генерацию ложных строк при обратном соединении декомпозированных отношений с помощью операции естественного соединения.

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

Определение пятой нормальной формы (5НФ)

Пятая нормальная форма (5НФ) – отношение без зависимостей соединения.

Пятая нормальная форма (5НФ), которая также называется проективно-соединительной нормальной формой, или ПСНФ (project-join normal form — PJNF), означает, что отношение в такой форме не имеет зависимостей соединения.

Основная литература: 1[222-256]

Контрольные вопросы:

1. Что из себя представляет нормализация отношений и для чего она предназначена?

2. Дайте понятие функциональной зависимости, детерминанта.

3. В чем заключается процесс нормализации?

4. В чем заключается 1 форма нормализации, когда отношение находится в ненормализованной форме?

5. Дайте понятие второй нормальной формы, полной функциональной зависимости.

6. Дайте понятие третьей нормальной формы, транзитивной зависимости.

7. Когда отношение находится в нормальной форме Бойса-Кодда?

8. Дайте понятие четвертой нормальной формы, многозначной зависимости.

9 Дайте понятие пятой нормальной формы и зависимости соединения.

| следующая лекция ==>
Функциональные зависимости | Язык и мышление

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

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

4-й час Процесс нормализации

4-й час Процесс нормализации

На этом уроке вы ознакомитесь с процессом разделения сырой базы данных на логические единицы, называемые таблицами. Этот процесс называют процессом нормализации.

Мы обсудим преимущества и недостатки нормализованных баз данных, в частности, получение вследствие нормализации гарантий целостности данных за счет скорости работы базы данных.

Основными на этом уроке будут следующие темы.

• Что такое нормализация?

• Инструкции по проведению нормализации

• Три нормальные формы

• Проектирование баз данных

Нормализация баз данных

Нормализация – это процесс сокращения повторений информации в базе данных. Нормализуются в базе данных не только данные, но и имена, включая имена объектов и форм.

„Сырая” база данных

Ненормализованная база данных может содержать данные, содержащиеся в нескольких таблицах без всяких на то причин. Это может быть неприемлемо, например, с точки зрения безопасности, использования дискового пространства, удобства обновления базы данных и, что более важно, с точки зрения целостности данных. Ненормализованная база данных – это база данных, не разделенная на меньшие, логически единые и более управляемые таблицы.

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

Рис. 4.1. “Сырая” база данных

Логическая организация базы данных

Любая база данных должна планироваться с учетом потребностей конечного пользователя. Логическая организация базы данных, выполняемая на основе логической модели, является процессом реорганизации данных в логично организованные группы легко управляемых объектов. Логическая организация данных должна помочь сократить повторения данных в-базе данных, а в идеале вообще избавиться от них. В конце концов, зачем одни и те же данные хранить в двух разных местах? Используемые в базе данных имена тоже должны быть стандартными и логичными.

Что нужно конечному пользователю?

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

Вот список некоторых из соответствующих вопросов, на которые нужно иметь четкие ответы при планировании базы данных.

• Какие данные должны храниться в базе данных?

• Каким образом пользователь будет осуществлять доступ к базе данных?

• Какие привилегии получит пользователь?

• Каким образом данные в базе данных должны быть сгруппированы?

• К каким данным доступ будет требоваться чаще всего?

• Как данные будут связаны?

• Какие меры следует принять для того, чтобы обеспечить правильность данных?

Данные не должны быть избыточными, и это значит, что повторения данных должны быть сведены к минимуму по нескольким причинам. Например, нет необходимости хранить домашний адрес в нескольких таблицах. При дублировании данных для них требуется дополнительное пространство. Кроме того, повышается вероятность ошибок, когда, например, адрес служащего в одной таблице не совпадает с его же адресом в другой. Как тогда решить, какая из таблиц содержит верные данные? Имеется ли у вас документ, по которому можно уточнить текущий адрес служащего? Даже если бы управление данными само по себе было простым делом, избыточность данных сделала бы его сложным.

В следующих разделах обсуждаются нормальные формы, лежащие в основе процесса нормализации баз данных.

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

Обычно в процессе нормализации используются следующие три нормальные формы.

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

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

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

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

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

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

Читать еще:  Цанга для ручного фрезера: виды, назначение и особенности применения

Как видите, чтобы прийти к первой нормальной форме, база данных была разбита на несколько логических единиц, в каждой из которых определен ключ и нет повторяющихся групп. Вместо одной большой таблицы теперь имеются более простые таблицы EMPLOYEEJTBL, CUSTOMER_TBL И PRODUCTSJTBL. КЛЮЧИ В Таблицах размещаютася первыми: в данном случае это EMP_ID, CUST_ID и PROD_ID.

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

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

Рис. 4.2. Первая нормальная форма

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

Таблица EMPLOYEE_TBL была разделена на таблицы. EMPLOYEE_TBL и EMPLOYEE_PAY_TBL. Персональная информация о служащем зависит от ключа (EMP_ID), поэтому эта информация осталась в таблице EMPLOYEE_TBL (EMP_ID,

LAST_NAME, MIDDLE_NAME, ADDRESS, CITY, STATE, ZIP, PHONE И PAGER). ОстаВШЭЯ-ся информация, которая только отчасти зависит от EMP_ID (каждого конкретного служащего), размешена в таблице EMPLOYEE_PAY_TBL (EMP_ID, POSITION,

POSITION_DESC, DATE_HIRE, PAY_RATE, DATE_LAST_RAISE). Обратите внимание на то, что обе таблицы содержат столбец EMP_ID. Для каждой из этих таблиц он является ключевым и используется для связывания данных в этих таблицах.

Таблица CUSTOMER_TBL была разделена на две таблицы, названные CUSTOMER_TBL и ORDERSJTBL. При этом было сделано то же самое, что и с таблицей EMPLOYEE_TBL. Столбцы, слабо зависящие от ключа, были выделены в отдельную таблицу. Информация о заказах клиента зависит от CUST_ID, но не зависит напрямую от общей информации о клиенте из исходной таблицы.

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

Целью третьей нормальной формы является удаление из таблиц данных, не зависящих от ключа. Третья нормальная форма представлена на рис. 4.4.

Для демонстрации возможностей третьей нормальной формы таблица EMPLOYEE_PAY_TBL была разделена на две таблицы, одна из которых содержит действительную информацию об оплате работы служащего, а во второй содержится описание его должности, которому совсем нет необходимости размещаться в таблице EMPLOYEE_PAY_TBL. Столбец POSITION_DESC теперь оказывается совсем не зависящим от ключа EMP_ID.

Рис. 4.3. Вторая нормальная форма

Соглашения о присвоении имен

Соглашения о присвоении имен оказываются исключительно важными для проведения нормализации. Имена баз данных должны быть информативными и соответствовать типу хранимой в них информации. Могут быть установлены и внутрикорпоративные соглашения об именах, которые могут касаться не только имен таблиц внутри базы данных, но и имен пользователей, файлов и других подобных объектов. Разработка и внедрение соглашений об именах должно быть одним из первых шагов компании в направлении успешного управления базами данных.

Нормализация имеет целый ряд. преимуществ. Среди них отметим следующие.

• Лучшая общая организация базы данных.

• Сокращение числа ненужных повторений данных.

• Согласованность данных внутри базы данных.

• Более гибкая структура базы данных.

• Эффективные возможности обеспечения безопасности и надежности базы данных.

Рис, 4.4. Третья нормальная форма Процесс нормализации улучшает организацию базы данных, облегчая работу с базой данных всем, начиная от простых пользователей до администратора, который отвечает за общее управление объектами базы данных. Уменьшается число повторений данных, что упрощает структуру данных и экономит дисковое пространство. Из-за сокращения дублирования данных уменьшается вероятность их несогласованности. Например, в одной таблице имя персоны может храниться в виде STEVE SMITH, а в другой – STEPHEN R. SMITH. Поскольку в результате нормализации база данных разделяется на ряд более мелких таблиц, модифицировать существующие структуры становится проще. Гораздо проще изменить небольшую таблицу с малым количеством данных, чем большую таблицу, содержащую все жизненно важные для базы данных значения. Наконец, повышается безопасность в том смысле, что администратор базы данных получает возможность разрешить различным пользователям доступ только к ограниченному списку таблиц. Нормализация упрощает управление безопасностью.

Целостность данных – это гарантия согласованности и надежности данных в базе данных.

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

Как правило, внешний ключ представляет собой столбец таблицы, непосредственно ссылающийся на ключ другой таблицы с целью обеспечения ссылочной целостности. В предыдущем разделе столбец CUST_ID таблицы ORDERS_TBL является внешним

КЛЮЧОМ, ССЫЛаЮЩИМСЯ на CUST_ID ТабЛИЦЫ CUSTOMER_TBL.

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

Денормализация базы данных

Денормализация – это процесс модификации структуры таблиц нормализованной базы данных с целью повышения производительности за счет допущения некоторой управляемой избыточности данных. Единственным оправданием денормализации является попытка повышения скорости работы базы данных. Де-нормализованная база данных – это не то же самое, что ненормализованная. Денормализация базы данных представляет собой процесс понижения нормализации на один-два уровня. Нормализация может существенно снизить скорость доступа к данным вследствие частых операций связывания таблиц. (Связывание таблиц обсуждается в ходе урока 13, “Объединение таблиц в запросах”.) Денормализация предполагает объединение некоторых из ранее разделенных таблиц и создание таблиц с дубликатами данных с целью уменьшения числа связываемых таблиц при доступе к данным, что должно уменьшить число требуемых операций ввода-вывода и нагрузку на центральный процессор.

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

Относительно структуры базы данных необходимо принять непростое решение: нормализовать или не нормализовать – вот в чем вопрос. Всегда имеет смысл до некоторой степени нормализовать базу данных. Но насколько можно нормализовать базу данных без заметного ухудшения производительности? Ответ на этот вопрос зависит от конкретного приложения. Насколько велика база данных? Каковы ее цели и задачи? Кто будет ее использовать?

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

Вопросы и ответы

Почему так уж необходимо учитывать интересы конечных пользователей при планировании базы данных?

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

Мне кажется, что нормализация все же предпочтительнее денормализации. Разве не так?

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

Задания практических занятий разделены на тесты и упражнения. Тесты предназначены для проверки общего уровня понимания рассмотренного материала. Упражнения дают возможность применить на практике идеи, обсуждавшиеся в ходе текущего урока, в комбинации с идеями из предыдущих уроков. Мы рекомендуем ответить на тестовые вопросы и выполнить упражнения прежде, чем продолжать дальнейшее чтение книги. Ответы можно проверить по Приложению Б, “Ответы”.

1. Верно ли следующее утверждение: “Нормализация – это процесс группировки данных в логически связанные группы?”

2. Верно ли следующее утверждение: “Отсутствие повторяющихся и избыточных данных и, таким образом, нормализация базы данных – в любом случае лучше всего?”

3. Верно ли следующее утверждение: “Если данные находятся в третьей нормальной форме, они автоматически находятся и в первой, и во второй нормальной формах?”

4. Какое главное преимущество имеет денормализованная база данных по сравнению с нормализованной?

5. Каковы основные недостатки денормализации?

1. Предположим, вам нужно организовать новую базу данных для небольшой компании. Возьмите следующие данные и нормализуйте их. Но не забывайте, что даже в малой компании данных бывает значительно больше, чем представлено здесь.

Анжела Смит, секретарь, 317-545-6789, просп. Широкий, 1, п. я. 73, Гринс-бург, шт. Индиана, 47890, $9,50 в час, приступила к работе 22 января 1996 г., идент. код 323149669.

Джек Ли Нельсон, продавец, ул. Главная, 3334, Браунсбург, шт. Индиана, 45687, 317-852-9901, $35000 в год, идент. код 312567342, работает с 28.10.95. Клиенты:

Дичь и охотничьи аксессуары Роберта, просп. Лафайет, 5612, Индианапо-лис, шт. Индиана, 46224, 317-291-7888, код клиента 432А.

Молочный бар Рида, 10-я Западная улица, Индианаполис, шт. Индиана, 46245, 317-271-9823, код клиента 117А.

Код клиента 117А, дата последнего заказа 20 декабря 1999 г., заказанный товар – салфетки, код товара – 661.

Читайте также

Глава 6 Процесс

Глава 6 Процесс Программисты-любители все время ищут какой-то волшебный инструмент, который мог бы сделать процесс разработки программ тривиальным. Признак профессионализма – понимание того, что такой панацеи не существует. Любители стремятся действовать по “поваренной

Процесс зондирования

Процесс зондирования Среда выполнения .NET выясняет место размещения приватного компоновочного блока с помощью технологий зондирования, которые на самом деле оказываются намного менее агрессивными, чем кажется из названия. Зондирование представляет собой процесс

1. Смысл нормализации схем баз данных

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

Ссылка на основную публикацию