🗊Презентация Normalization. Теория нормализации

Категория: Информатика
Нажмите для полного просмотра!
Normalization. Теория нормализации, слайд №1Normalization. Теория нормализации, слайд №2Normalization. Теория нормализации, слайд №3Normalization. Теория нормализации, слайд №4Normalization. Теория нормализации, слайд №5Normalization. Теория нормализации, слайд №6Normalization. Теория нормализации, слайд №7Normalization. Теория нормализации, слайд №8Normalization. Теория нормализации, слайд №9Normalization. Теория нормализации, слайд №10Normalization. Теория нормализации, слайд №11Normalization. Теория нормализации, слайд №12Normalization. Теория нормализации, слайд №13Normalization. Теория нормализации, слайд №14Normalization. Теория нормализации, слайд №15Normalization. Теория нормализации, слайд №16Normalization. Теория нормализации, слайд №17Normalization. Теория нормализации, слайд №18Normalization. Теория нормализации, слайд №19Normalization. Теория нормализации, слайд №20Normalization. Теория нормализации, слайд №21Normalization. Теория нормализации, слайд №22Normalization. Теория нормализации, слайд №23Normalization. Теория нормализации, слайд №24Normalization. Теория нормализации, слайд №25Normalization. Теория нормализации, слайд №26Normalization. Теория нормализации, слайд №27Normalization. Теория нормализации, слайд №28Normalization. Теория нормализации, слайд №29Normalization. Теория нормализации, слайд №30Normalization. Теория нормализации, слайд №31

Содержание

Вы можете ознакомиться и скачать презентацию на тему Normalization. Теория нормализации. Доклад-сообщение содержит 31 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Normalization
Описание слайда:
Normalization

Слайд 2





Контрольные вопросы
В чём заключается необходимость перехода от однотабличных БД к многотабличным?
Можно ли создать таблицу без первичного ключа?
Примеры составного первичного ключа
Как реализуется связь N:M?
Виды JOIN, их отличия
Описание слайда:
Контрольные вопросы В чём заключается необходимость перехода от однотабличных БД к многотабличным? Можно ли создать таблицу без первичного ключа? Примеры составного первичного ключа Как реализуется связь N:M? Виды JOIN, их отличия

Слайд 3





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

Слайд 4





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

Слайд 5





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

Слайд 6





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

Слайд 7





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

Слайд 8





Интуитивная нормализация
Существует понятие «интуитивной нормализации» - оно сводится к тому, что повторяющиеся текстовые значения выносятся в отдельные таблицы. Также отдельные таблицы предоставляются для группировки данных, относящихся непосредственно к определённым, конкретным сущностям.
Описание слайда:
Интуитивная нормализация Существует понятие «интуитивной нормализации» - оно сводится к тому, что повторяющиеся текстовые значения выносятся в отдельные таблицы. Также отдельные таблицы предоставляются для группировки данных, относящихся непосредственно к определённым, конкретным сущностям.

Слайд 9





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

Слайд 10





Нормальные формы
Нормализация таблицы включает в себя определённые требования – так называемые нормальные формы (НФ). Существует три базовых НФ:
первая нормальная форма (1НФ)
вторая нормальная форма (2НФ)
третья нормальная форма (3НФ)
Если таблица удовлетворяет соответствующему требованию, то говорят, что она приведена к соответствующей НФ.
Описание слайда:
Нормальные формы Нормализация таблицы включает в себя определённые требования – так называемые нормальные формы (НФ). Существует три базовых НФ: первая нормальная форма (1НФ) вторая нормальная форма (2НФ) третья нормальная форма (3НФ) Если таблица удовлетворяет соответствующему требованию, то говорят, что она приведена к соответствующей НФ.

Слайд 11





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

Слайд 12





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

Слайд 13





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

Слайд 14





Требование атомарности
Требование неделимости (атомарности) означает, что значение поля не должно делиться на более мелкие значения. Будет возможным такое деление или нет – определяется исключительно требованиями предметной области. Например, может быть поле «ФИО», предназначенное для хранения фамилии, имени и отчества человека. Если задача требует использование полей «Фамилия», «Имя» и «Отчество» по отдельности, то поле «ФИО» является делимым. Если не требует, то оно является неделимым. Если в результате анализа задачи поле оказалось делимым, то его просто следует разбить на несколько полей – это будет процессом приведения таблицы к 1НФ.
Описание слайда:
Требование атомарности Требование неделимости (атомарности) означает, что значение поля не должно делиться на более мелкие значения. Будет возможным такое деление или нет – определяется исключительно требованиями предметной области. Например, может быть поле «ФИО», предназначенное для хранения фамилии, имени и отчества человека. Если задача требует использование полей «Фамилия», «Имя» и «Отчество» по отдельности, то поле «ФИО» является делимым. Если не требует, то оно является неделимым. Если в результате анализа задачи поле оказалось делимым, то его просто следует разбить на несколько полей – это будет процессом приведения таблицы к 1НФ.

Слайд 15





Атомарные атрибуты
В теории баз это атрибуты, которые хранят единственное значение и не являются ни списком, ни множеством значений. Иными словами, это такие данные, разделение которых на составляющие приводит к потере их смысла с точки зрения решаемой задачи.
Стоит ли делить ФИО на части? Правильный ответ: зависит от смысла. Если ФИО с точки зрения решаемой задачи неделимо, то оно атомарно. Если делимо, надо нормализовывать и бить на столбцы.
Описание слайда:
Атомарные атрибуты В теории баз это атрибуты, которые хранят единственное значение и не являются ни списком, ни множеством значений. Иными словами, это такие данные, разделение которых на составляющие приводит к потере их смысла с точки зрения решаемой задачи. Стоит ли делить ФИО на части? Правильный ответ: зависит от смысла. Если ФИО с точки зрения решаемой задачи неделимо, то оно атомарно. Если делимо, надо нормализовывать и бить на столбцы.

Слайд 16





Ещё пример на атомарность
Описание слайда:
Ещё пример на атомарность

Слайд 17





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

Слайд 18





Пример нарушения 1НФ
Эта таблица имеет два серьёзных недостатка. Во-первых, бросается в глаза количество нулей, т.е. дней в которые не продали ни одного экземпляра той или иной книги. Это реальные потери места на диске, и при большом объеме БД они могут вылиться в мегабайты впустую потраченного места.
Описание слайда:
Пример нарушения 1НФ Эта таблица имеет два серьёзных недостатка. Во-первых, бросается в глаза количество нулей, т.е. дней в которые не продали ни одного экземпляра той или иной книги. Это реальные потери места на диске, и при большом объеме БД они могут вылиться в мегабайты впустую потраченного места.

Слайд 19





Идеологическая причина
И потом, что делать, если в магазин завезут пятый вид книг? Напрашивающийся ответ: добавить ещё одно поле  Но такой вариант крайне непроизводителен, и с точки зрения языка SQL идеологически неверен. Все операторы модификации данных рассчитаны на добавление/изменение/удаление записей, но не полей (не должен применяться DDL). Эта проблема решается  путём расширения таблицы не в ширину, а в высоту, т.е. не за счёт добавления полей, а за счёт добавления записей.
Описание слайда:
Идеологическая причина И потом, что делать, если в магазин завезут пятый вид книг? Напрашивающийся ответ: добавить ещё одно поле  Но такой вариант крайне непроизводителен, и с точки зрения языка SQL идеологически неверен. Все операторы модификации данных рассчитаны на добавление/изменение/удаление записей, но не полей (не должен применяться DDL). Эта проблема решается путём расширения таблицы не в ширину, а в высоту, т.е. не за счёт добавления полей, а за счёт добавления записей.

Слайд 20





Нормализованная таблица
Таким образом, после устранения повторяющихся групп полей получаем такую таблицу:
Описание слайда:
Нормализованная таблица Таким образом, после устранения повторяющихся групп полей получаем такую таблицу:

Слайд 21





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

Слайд 22





Вторая нормальная форма
Таблица должна находиться в первой нормальной форме. Любое её поле, не входящее в состав первичного ключа, функционально полно зависит от первичного ключа (все не-ключевые поля таблицы должны целиком зависеть от полного первичного ключа, т.е. чтобы первичный ключ однозначно определял запись и не был избыточен). Те поля, которые зависят только от части первичного ключа или не зависят от него вообще, должны быть вынесены в другие таблицы. Обнаружение не-ключевых полей в таблице, независящих от первичного ключа целиком, говорит о наличии в строке описания сразу нескольких объектов (сущностей), хотя каждая запись таблицы должна описывать лишь один объект. Решение – вынести дополнительные сущности в отдельные таблицы.
Описание слайда:
Вторая нормальная форма Таблица должна находиться в первой нормальной форме. Любое её поле, не входящее в состав первичного ключа, функционально полно зависит от первичного ключа (все не-ключевые поля таблицы должны целиком зависеть от полного первичного ключа, т.е. чтобы первичный ключ однозначно определял запись и не был избыточен). Те поля, которые зависят только от части первичного ключа или не зависят от него вообще, должны быть вынесены в другие таблицы. Обнаружение не-ключевых полей в таблице, независящих от первичного ключа целиком, говорит о наличии в строке описания сразу нескольких объектов (сущностей), хотя каждая запись таблицы должна описывать лишь один объект. Решение – вынести дополнительные сущности в отдельные таблицы.

Слайд 23





Пример
Описание слайда:
Пример

Слайд 24





Практика
Привести таблицу Sales ко 2НФ:
Описание слайда:
Практика Привести таблицу Sales ко 2НФ:

Слайд 25





Третья нормальная форма
3НФ требует выполнения 2НФ, а также чтобы в таблице не имелось транзитивных зависимостей между не-ключевыми полями, т.е. чтобы значение любого поля таблицы, не входящего в первичный ключ, не зависело от значения другого поля, не входящего в первичный ключ.
Проанализируем таблицу «Sales» из примера с книгами. Очевидно, что поле «Общая стоимость» зависит от поля «Продано шт.». Раз так, то это поле лишнее, и его следует удалить.
Описание слайда:
Третья нормальная форма 3НФ требует выполнения 2НФ, а также чтобы в таблице не имелось транзитивных зависимостей между не-ключевыми полями, т.е. чтобы значение любого поля таблицы, не входящего в первичный ключ, не зависело от значения другого поля, не входящего в первичный ключ. Проанализируем таблицу «Sales» из примера с книгами. Очевидно, что поле «Общая стоимость» зависит от поля «Продано шт.». Раз так, то это поле лишнее, и его следует удалить.

Слайд 26





Ещё пример
Если добавить в таблицу Product поле total_cost, которое будет вычисляться как price * quantity, это будет нарушением третьей нормальной формы.
Описание слайда:
Ещё пример Если добавить в таблицу Product поле total_cost, которое будет вычисляться как price * quantity, это будет нарушением третьей нормальной формы.

Слайд 27





И ещё пример
Описание слайда:
И ещё пример

Слайд 28





Нормализация: за и против
Несмотря на очевидные преимущества, которые даёт нормализация, за всё нужно платить. Использование нормализации также имеет свою цену. С одной стороны приведение БД к 1, 2 и 3НФ позволяет избавиться от избыточности и логической противоречивости. Но с другой стороны, это приводит к заметному увеличению количества таблиц в БД. В случае если речь идет большой БД, это может существенно затруднить разработку. Бывало, разработка БД сворачивалась по причине того, что по мере увеличения количества таблиц - их становилось настолько много, что некоторые разработчики были просто не в состоянии удержать 	структуру БД в голове целиком.
Описание слайда:
Нормализация: за и против Несмотря на очевидные преимущества, которые даёт нормализация, за всё нужно платить. Использование нормализации также имеет свою цену. С одной стороны приведение БД к 1, 2 и 3НФ позволяет избавиться от избыточности и логической противоречивости. Но с другой стороны, это приводит к заметному увеличению количества таблиц в БД. В случае если речь идет большой БД, это может существенно затруднить разработку. Бывало, разработка БД сворачивалась по причине того, что по мере увеличения количества таблиц - их становилось настолько много, что некоторые разработчики были просто не в состоянии удержать структуру БД в голове целиком.

Слайд 29





Накопительные поля
Другая проблема, возникающая при нормализации, – это проблема производительности. В первую очередь это касается 3НФ. Строгое следование требованиям 3НФ приводит к необходимости избавиться от так называемых накопительных полей. Это означает, что при необходимости подсчитать некие данные, серверу БД придётся каждый раз выполнять расчёт заново, вместо того, чтобы воспользоваться промежуточными накопительными значениями.
Описание слайда:
Накопительные поля Другая проблема, возникающая при нормализации, – это проблема производительности. В первую очередь это касается 3НФ. Строгое следование требованиям 3НФ приводит к необходимости избавиться от так называемых накопительных полей. Это означает, что при необходимости подсчитать некие данные, серверу БД придётся каждый раз выполнять расчёт заново, вместо того, чтобы воспользоваться промежуточными накопительными значениями.

Слайд 30





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

Слайд 31





Домашнее задание
Спроектировать базу данных "Туристическая фирма".
Необходимо хранить информацию:
- о курортах (например: название, описание, рейтинг)
- экскурсиях в рамках курорта (значимые места, памятники, музеи, храмы)
- отелях (название, количество звёзд, количество свободных номеров, типы номеров)
- видах отдыха (например: море, горнолыжный спорт и др.)
- видах транспорта (например: на корабле, поезде, самолете, пеший тур. возможно несколько видов одновременно!)
- городах, странах (без областей)
- людях, которые поедут/находятся/уже ездили в путешествие (имена, фамилии, отчества, возраст, пол, национальность, профессия, дата отъезда, цель поездки, курорт, пр.)
- длительности путешествия (например: год, месяц, неделя, 2 недели, 10 дней 11 ночей)
- стоимости путешествия (с описанием всех составляющих – шведский стол, экскурсии)
- о работниках фирмы и их должностях (например: 3 секретаря, 1 бухгалтер, директор - с зарплатами)
- другие таблицы (при необходимости)
Все таблицы должны соответствовать 1, 2 и 3 нормальным формам.
Описание слайда:
Домашнее задание Спроектировать базу данных "Туристическая фирма". Необходимо хранить информацию: - о курортах (например: название, описание, рейтинг) - экскурсиях в рамках курорта (значимые места, памятники, музеи, храмы) - отелях (название, количество звёзд, количество свободных номеров, типы номеров) - видах отдыха (например: море, горнолыжный спорт и др.) - видах транспорта (например: на корабле, поезде, самолете, пеший тур. возможно несколько видов одновременно!) - городах, странах (без областей) - людях, которые поедут/находятся/уже ездили в путешествие (имена, фамилии, отчества, возраст, пол, национальность, профессия, дата отъезда, цель поездки, курорт, пр.) - длительности путешествия (например: год, месяц, неделя, 2 недели, 10 дней 11 ночей) - стоимости путешествия (с описанием всех составляющих – шведский стол, экскурсии) - о работниках фирмы и их должностях (например: 3 секретаря, 1 бухгалтер, директор - с зарплатами) - другие таблицы (при необходимости) Все таблицы должны соответствовать 1, 2 и 3 нормальным формам.



Похожие презентации
Mypresentation.ru
Загрузить презентацию