Что понимают под избыточностью данных и как она образуется

Избыточность информации

Что понимают под избыточностью данных и как она образуется. Смотреть фото Что понимают под избыточностью данных и как она образуется. Смотреть картинку Что понимают под избыточностью данных и как она образуется. Картинка про Что понимают под избыточностью данных и как она образуется. Фото Что понимают под избыточностью данных и как она образуется

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

Количественное определение

Информационное содержание одного сообщения в потоке, в наиболее общем случае, определяется как:

Что понимают под избыточностью данных и как она образуется. Смотреть фото Что понимают под избыточностью данных и как она образуется. Смотреть картинку Что понимают под избыточностью данных и как она образуется. Картинка про Что понимают под избыточностью данных и как она образуется. Фото Что понимают под избыточностью данных и как она образуется

Обозначим как R логарифм числа символов в алфавите сообщений:

Что понимают под избыточностью данных и как она образуется. Смотреть фото Что понимают под избыточностью данных и как она образуется. Смотреть картинку Что понимают под избыточностью данных и как она образуется. Картинка про Что понимают под избыточностью данных и как она образуется. Фото Что понимают под избыточностью данных и как она образуется

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

Что понимают под избыточностью данных и как она образуется. Смотреть фото Что понимают под избыточностью данных и как она образуется. Смотреть картинку Что понимают под избыточностью данных и как она образуется. Картинка про Что понимают под избыточностью данных и как она образуется. Фото Что понимают под избыточностью данных и как она образуется

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

Другие определения избыточности

Мера избыточности между двумя случайными величинами — взаимная информация.

См. также

Что понимают под избыточностью данных и как она образуется. Смотреть фото Что понимают под избыточностью данных и как она образуется. Смотреть картинку Что понимают под избыточностью данных и как она образуется. Картинка про Что понимают под избыточностью данных и как она образуется. Фото Что понимают под избыточностью данных и как она образуется
Что понимают под избыточностью данных и как она образуется. Смотреть фото Что понимают под избыточностью данных и как она образуется. Смотреть картинку Что понимают под избыточностью данных и как она образуется. Картинка про Что понимают под избыточностью данных и как она образуется. Фото Что понимают под избыточностью данных и как она образуется Методы сжатия
Теория
ИнформацияСобственная · Взаимная · Энтропия · Условная энтропия · Сложность · Избыточность
Единицы измеренияБит · Нат · Ниббл · Хартли · Формула Хартли
Без потерь
Энтропийное сжатиеАлгоритм Хаффмана · Адаптивный алгоритм Хаффмана · Алгоритм Шеннона — Фано · Арифметическое кодирование (Интервальное) · Коды Голомба · Дельта · Универсальный код (Элиаса · Фибоначчи)
Словарные методыRLE · Deflate · LZ (LZ77/LZ78 · LZSS · LZW · LZWL · LZO · LZMA · LZX · LZRW · LZJB · LZT)
ПрочееRLE · CTW · BWT · MTF · PPM · DMC
Аудио
ТеорияСвёртка · PCM · Алиасинг · Дискретизация · Теорема Котельникова
МетодыLPC (LAR · LSP) · WLPC · CELP · ACELP · A-закон · μ-закон · MDCT · Преобразование Фурье · Психоакустическая модель
ПрочееКомпрессор аудиосигнала · Сжатие речи · Полосное кодирование
Изображения
ТерминыЦветовое пространство · Пиксель · Субдискретизация насыщенности · Артефакты сжатия
МетодыRLE · DPCM · Фрактальный · Вейвлетный · EZW · SPIHT · LP · ДКП · ПКЛ
ПрочееБитрейт · Test images · PSNR · Квантование
Видео
ТерминыХарактеристики видео · Кадр · Типы кадров · Качество видео
МетодыКомпенсация движения · ДКП · Квантование · Вейвлетный
ПрочееВидеокодек · Rate distortion theory (CBR · ABR · VBR)

Полезное

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

избыточность информации — informacijos perteklius statusas T sritis radioelektronika atitikmenys: angl. redundancy of information vok. Informationsüberschuß, m rus. избыточность информации, f pranc. redondance d information, f … Radioelektronikos terminų žodynas

ИЗБЫТОЧНОСТЬ ИНФОРМАЦИИ — величина, которой измеряется относительная доля излишне используемых сообщений в некотором алфавите. Определяется формулой: где Н энтропия сообщения, п средняя длина кодового слова, М число символов алфавита. Естественным языкам свойственна… … Энциклопедический словарь по психологии и педагогике

Избыточность языка — Избыточность языка статистическая величина, обозначающая избыточность информации, содержащейся в тексте на определённом языке. Содержание 1 Математическое определение 2 … Википедия

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

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

избыточность дискретного сигнала — Мера возможного сокращения дискретного сигнала (без потери информации) за счет использования его вероятностных характеристик; се величина равна единице минус величина информативности дискретного сигнала. [Сборник рекомендуемых терминов. Выпуск 94 … Справочник технического переводчика

избыточность дискретного сообщения — Мера возможного сокращения сообщения (без потери информации) за счет использования его вероятностных характеристик (взаимосвязей между его элементами и особенностей их распределения); ее величина равна единице минус величина информативности… … Справочник технического переводчика

избыточность кода — кодовая избыточность Разность между средним числом битов, используемых для кодирования одного сообщения источника и минимально возможным числом битов, полученным из теоремы Шеннона. [Домарев В.В. Безопасность информационных технологий. Системный… … Справочник технического переводчика

ИЗБЫТОЧНОСТЬ ЯЗЫКА — ИЗБЫТОЧНОСТЬ ЯЗЫКА. Наличие в языке элементов, несущих повторную информацию, т. е. информацию, уже переданную другими элементами языка. В русском языке избыточными являются большинство сдвоенных букв, повторные указания на род, число, падеж и др … Новый словарь методических терминов и понятий (теория и практика обучения языкам)

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

Источник

Избыточность информации

Связанные понятия

Упоминания в литературе

Связанные понятия (продолжение)

Хеш-деревом, деревом Меркла (англ. Merkle tree) называют полное двоичное дерево, в листовые вершины которого помещены хеши от блоков данных, а внутренние вершины содержат хеши от сложения значений в дочерних вершинах. Корневой узел дерева содержит хеш от всего набора данных, то есть хеш-дерево является однонаправленной хеш-функцией. Дерево Меркла применяется для эффективного хранения транзакций в блокчейне криптовалют (например, в Bitcoin’е, Ethereum’е). Оно позволяет получить «отпечаток» всех транзакций.

В статистике метод оценки с помощью апостериорного максимума (MAP) тесно связан с методом максимального правдоподобия (ML), но дополнительно при оптимизации использует априорное распределение величины, которую оценивает.

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

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

Не путайте с ECC памятью, хотя регистровые модули всегда используют ECC.Регистровая память (англ. Registered Memory, RDIMM, иногда buffered memory) — вид компьютерной оперативной памяти, модули которой содержат регистр между микросхемами памяти и системным контроллером памяти. Наличие регистров уменьшает электрическую нагрузку на контроллер и позволяет устанавливать больше модулей памяти в одном канале. Регистровая память является более дорогой из-за меньшего объема производства и наличия дополнительных.

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

Источник

IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.

Проектирование баз данных. Информационная избыточность. Избыточность данных в базе данных. Проблемы возникающие из-за информационной избыточности

Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжаем сегодня рубрику Заметки о MySQL, в которой я успел описать установку MySQL сервера, настройку MySQL сервера и файл my.ini, а также поговорил о видах и типах баз данных. Сегодня я хотел бы поговорить об аномалиях в базе данных и проблеме избыточности данных в базе данных, то есть о избыточности информации.

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

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

Что понимают под избыточностью данных и как она образуется. Смотреть фото Что понимают под избыточностью данных и как она образуется. Смотреть картинку Что понимают под избыточностью данных и как она образуется. Картинка про Что понимают под избыточностью данных и как она образуется. Фото Что понимают под избыточностью данных и как она образуется

Избавиться от избыточности данных, а следовательно и от аномалий баз данных – это вопрос проектирования баз данных. И решать вопрос устранения избыточности в базе данных следует до того, как вы начали ее реализовывать программно, то есть, до того как начали создавать базу данных в той или иной СУБД, в нашем случае СУБД MySQL.

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

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

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

Информационная избыточность. Избыточность базы данных. Что такое избыточность.

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

Для начала напишу умное определение избыточности, а затем постараюсь объяснить его по-русски.

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

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

Информационная энтропия – это мера неопределенности информации, неопределенность появления какого-либо символа. Данное определение появилось в теории электросвязи. Для администратора баз данных информационную энтропию следует интерпретировать немного по-другому: информационная энтропия всё также мера неопределенности информации, но, какая информационная неопределенность может возникнуть в базе данных?

Например, у нас есть база данных, в которой хранится библиотека и есть писатель Иванов И.И., сколько книг написал Иванов И.И.? Бог его знает. Может одну, а может и сто. И сколько раз появится этот Иванов И.И. в нашей таблице, мы не знаем. Такая вот неопределенность информации.

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

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

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

Последствия информационной избыточности в базе данных. Избыточность данных. Аномалии (проблемы) в базе данных.

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

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

Как вы поняли, в базе данных есть три аномалии:

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

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

Что понимают под избыточностью данных и как она образуется. Смотреть фото Что понимают под избыточностью данных и как она образуется. Смотреть картинку Что понимают под избыточностью данных и как она образуется. Картинка про Что понимают под избыточностью данных и как она образуется. Фото Что понимают под избыточностью данных и как она образуется

Таблица с информационной избыточностью

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

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

Аномалия включения. Проблема добавления данных в базу данных.

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

В этом случае мы должны присвоить значение NULL каждому атрибуту преподавателя, но делать это никак нельзя, так как атрибут «Код преподавателя» является первичным ключом отношения (первичным ключом таблицы). Результатом попытки создания такой записи будет нарушение целостности данных базы данных, а любая СУБД, в том числе и СУБД MySQL отклонит подобную попытку создания такой записи.

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

Что понимают под избыточностью данных и как она образуется. Смотреть фото Что понимают под избыточностью данных и как она образуется. Смотреть картинку Что понимают под избыточностью данных и как она образуется. Картинка про Что понимают под избыточностью данных и как она образуется. Фото Что понимают под избыточностью данных и как она образуется

Избавляемся от избыточности данных в базе данных.

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

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

Аномалия модификации. Проблема изменения базы данных.

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

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

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

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

Аномалия удаления. Проблема удаления данных из базы данных.

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

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

Обратите внимание: типы данных у различных СУБД могут быть разными, у MySQL типы данных одни, у какой-либо другой СУБД могут быть другие типы данных, как и у языков программирования. У JavaScript типы данных одни, а у PHP типы данных другие.

Источник

Избыточность данных и нормализация

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

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

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

Аномалия включения – это проблема, связанная с добавлением данных в базу данных

Аномалия модификации – это проблема, связанная с изменением данных в базе данных

Аномалия удаления – это проблема, связанная с удаление данных в базе данных

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

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

Рассмотрим пример таблицы, которую проектировали не профессиональные разработчики, а обычные пользователи:

Наим.ГородАдресЭл. почтаWWWВидКонт. лица
Хлебозавод 1Санкт-ПетербургНевский пр, д. 100info@bread.ruwww.bread.ruПоставщикИванов И.И., зам. дир., тел (812)76-15-95
Хлебозавод 1Санкт-ПетербургНевский пр, д. 100info@bread.ruwww.bread.ruПоставщикПетров П.П., нач. отд. сбыта, тел (812)76-15-35
ООО «Молоко»ОренбургУл. Гоголя, 25moloko@mail.ruКлиентСидоров С.С., директор, тел. (3532)66-65-38
ИЧП «Гамма»Санкт-ПетербургЛиговский пр-кт, 15gamma@mail.ruКлиентМихайлов М.М., директор, тел (812)74-57-45

Конечно же, такая структура таблицы является неоптимальной по нескольким причинам:

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

2) очень легко ошибиться, указав разный адрес (или адрес по-разному для одной и той же фирмы)

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

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

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

Нормальные формы

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

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

· первая нормальная форма (1NF);

· вторая нормальная форма (2NF);

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

· нормальная форма Бойса-Кодда (BCNF);

· четвертая нормальная форма (4NF);

· пятая нормальная форма, или нормальная форма проекции-соединения (5NF или PJ/NF).

Основные свойства нормальных форм:

· каждая следующая нормальная форма в некотором смысле лучше предыдущей;

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

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

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

Определение 1. Функциональная зависимость

В отношении R атрибут Y функционально зависит от атрибута X (X и Y могут быть составными) в том и только в том случае, если каждому значению X соответствует в точности одно значение Y: R.X (r) R.Y.

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

Функциональная зависимость R.X (r) R.Y называется полной, если атрибут Y не зависит функционально от любого точного подмножества X.

Определение 3. Транзитивная функциональная зависимость

Определение 4. Неключевой атрибут

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

Определение 5. Взаимно независимые атрибуты

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

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

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

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

К счастью, сейчас все ограничения на количество полей в записи сняты.

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

Рассмотрим следующий пример схемы отношения:

(СОТР_НОМЕР, СОТР_ЗАРП, ОТД_НОМЕР, ПРО_НОМЕР, СОТР_ЗАДАН)

СОТР_НОМЕР (r) СОТР_ЗАРП

СОТР_НОМЕР (r) ОТД_НОМЕР

ОТД_НОМЕР (r) СОТР_ЗАРП

СОТР_НОМЕР, ПРО_НОМЕР (r) СОТР_ЗАДАН

Как видно, хотя первичным ключом является составной атрибут (СОТР_НОМЕР, ПРО_НОМЕР), атрибуты СОТР_ЗАРП и ОТД_НОМЕР функционально зависят от части первичного ключа, атрибута СОТР_НОМЕР. В результате мы не сможем вставить в отношение СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ кортеж, описывающий сотрудника, который еще не выполняет никакого проекта (первичный ключ не может содержать неопределенное значение). При удалении кортежа мы не только разрушаем связь данного сотрудника с данным проектом, но утрачиваем информацию о том, что он работает в некотором отделе. При переводе сотрудника в другой отдел мы будем вынуждены модифицировать все кортежи, описывающие этого сотрудника, или получим несогласованный результат. Такие неприятные явления называются аномалиями схемы отношения. Они устраняются путем нормализации.

Определение 6. Вторая нормальная форма (в этом определении предполагается, что единственным ключом отношения является первичный ключ)

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

Можно произвести следующую декомпозицию отношения СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ в два отношения СОТРУДНИКИ-ОТДЕЛЫ и СОТРУДНИКИ-ПРОЕКТЫ:

СОТРУДНИКИ-ОТДЕЛЫ (СОТР_НОМЕР, СОТР_ЗАРП, ОТД_НОМЕР)

СОТР_НОМЕР (r) СОТР_ЗАРП

СОТР_НОМЕР (r) ОТД_НОМЕР

ОТД_НОМЕР (r) СОТР_ЗАРП

СОТРУДНИКИ-ПРОЕКТЫ (СОТР_НОМЕР, ПРО_НОМЕР, СОТР_ЗАДАН)

СОТР_НОМЕР, ПРО_НОМЕР (r) CОТР_ЗАДАН

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

Если допустить наличие нескольких ключей, то определение 6 примет следующий вид:

Определение 6

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

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

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

Рассмотрим еще раз отношение СОТРУДНИКИ-ОТДЕЛЫ, находящееся в 2NF. Заметим, что функциональная зависимость СОТР_НОМЕР (r) СОТР_ЗАРП является транзитивной; она является следствием функциональных зависимостей СОТР_НОМЕР (r) ОТД_НОМЕР и ОТД_НОМЕР (r) СОТР_ЗАРП. Другими словами, заработная плата сотрудника на самом деле является характеристикой не сотрудника, а отдела, в котором он работает (это не очень естественное предположение, но достаточное для примера).

В результате мы не сможем занести в базу данных информацию, характеризующую заработную плату отдела, до тех пор, пока в этом отделе не появится хотя бы один сотрудник (первичный ключ не может содержать неопределенное значение). При удалении кортежа, описывающего последнего сотрудника данного отдела, мы лишимся информации о заработной плате отдела. Чтобы согласованным образом изменить заработную плату отдела, мы будем вынуждены предварительно найти все кортежи, описывающие сотрудников этого отдела. Т.е. в отношении СОТРУДИКИ-ОТДЕЛЫ по-прежнему существуют аномалии. Их можно устранить путем дальнейшей нормализации.

Определение 7. Третья нормальная форма. (Снова определение дается в предположении существования единственного ключа.)

Отношение R находится в третьей нормальной форме (3NF) в том и только в том случае, если находится в 2NF и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.

Можно произвести декомпозицию отношения СОТРУДНИКИ-ОТДЕЛЫ в два отношения СОТРУДНИКИ и ОТДЕЛЫ:

СОТРУДНИКИ (СОТР_НОМЕР, ОТД_НОМЕР)

СОТР_НОМЕР (r) ОТД_НОМЕР

ОТДЕЛЫ (ОТД_НОМЕР, СОТР_ЗАРП)

ОТД_НОМЕР (r) СОТР_ЗАРП

Каждое из этих двух отношений находится в 3NF и свободно от отмеченных аномалий.

Если отказаться от того ограничения, что отношение обладает единственным ключом, то определение 3NF примет следующую форму:

Определение 7

Отношение R находится в третьей нормальной форме (3NF) в том и только в том случае, если находится в 1NF, и каждый неключевой атрибут не является транзитивно зависимым от какого-либо ключа R.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *