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

Содержание

Слайд 2

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

Пример приведения к 1NF

Исходная ненормализованная (то есть не являющаяся правильным

Нормализация баз данных Пример приведения к 1NF Исходная ненормализованная (то есть не
представлением некоторого отношения) таблица:

Таблица, приведённая к 1NF (являющаяся правильным представлением некоторого отношения):

Слайд 3

Таблица, находящаяся в 1 НФ обладает следующими недостатками:
- добавление новых данных требует

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

Слайд 4

Вторая нормальная форма (2NF)
Переменная отношения находится во второй нормальной форме тогда и

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

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

Слайд 5

Вторая нормальная форма: пример

Вторая нормальная форма: пример

Слайд 6

Третья нормальная форма (3NF)
Переменная отношения находится в третьей нормальной форме тогда и

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

Слайд 7

Транзитивная зависимость

Транзитивная функциональная зависимость:
Пусть A ,B, C – три атрибута некоторого отношения

Транзитивная зависимость Транзитивная функциональная зависимость: Пусть A ,B, C – три атрибута
R.
Схема транзитивной зависимости:

Слайд 8

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

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

Слайд 9

Т.о. Таблица находится в 3НФ, если она удовлетворяет определению 2НФ и ни

Т.о. Таблица находится в 3НФ, если она удовлетворяет определению 2НФ и ни
одно из ее не ключевых полей функционально не зависит от любого другого не ключевого поля. Можно сказать, что таблица находится в 3НФ, если она находится во 2НФ и каждое не ключевое поле не транзитивно зависит от первичного ключа.
Требование 3НФ сводится к тому, чтобы все не ключевые поля зависели только от первичного ключа и не зависели друг от друга. Должна существовать возможность изменять значение любого не ключевого поля, не изменяя значения любого другого поля БД. Это требование исключает любое поле, значения в котором получаются как результат вычислений, использующий значения других полей.

Слайд 10

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

Нормальная форма Бойса-Кодда (англ. Boyce-Codd normal form; сокращённо

Нормальная форма Бойса — Кодда Нормальная форма Бойса-Кодда (англ. Boyce-Codd normal form;
BCNF) — одна из возможных нормальных форм отношения в реляционной модели данных.
Иногда нормальную форму Бойса-Кодда называют усиленной третьей нормальной формой, поскольку она во всех отношениях сильнее (строже) по сравнению с ранее определённой ЗНФ[1].
Названа в честь Рэя Бойса и Эдгара Кодда, хотя Кристофер Дейт указывает, что на самом деле строгое определение «третьей» нормальной формы, эквивалентное определению нормальной формы Бойса-Кодда, впервые было дано Иэном Хитом (англ. Ian Heath) в 1971 году, поэтому данную форму следовало бы называть «нормальной формой Хита»[

Слайд 11

Четвертая нормальная форма
При использовании 1НФ запрещается таблицам иметь неатомарные, или многозначные, атрибуты.

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

Слайд 12

Пятая нормальная форма.
Нормальная форма область/ключ.
5НФ была предложена для исключения аномалии, связанные с

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

Слайд 13

Процессы, протекающие на протяжении жизненного
цикла информационной системы
Жизненный цикл информационно сис­темы представляет

Процессы, протекающие на протяжении жизненного цикла информационной системы Жизненный цикл информационно сис­темы
собой непрерывный процесс, начинающийся с момента приня­тия решения о создании информационной системы и заканчивается в момент полного изъятия ее из эксплуатации.
Существует международный стандарт, регламентирующий жизненный цикл ин­формационных систем — ISO/IEC 12207.
ISO — International Organization of Standardization (международная организация по стан­дартизации). IЕС — International Electrotechnical Commission (международная комис­сия по электротехнике).
Стандарт ISO/IEC 12207 определяет структуру жизненного цикла, содержащую процессы, действия и задачи, которые должны быть выполнены во время создания информационной системы. Согласно данному стандарту структура жизненною цикла основывается на трех группах процессов:
- основные процессы жизненного цикла (приобретение, поставка, разработки, эксплуатация, сопровождение);
- вспомогательные процессы, обеспечивающие выполнение основных процессов (документирование, управление конфигурацией, обеспечение качества, аттестация, оценка, аудит, разрешение проблем);
- организационные процессы (yправление проектами, создание инфраструктуры проекта, определение, оценка и улучшение самого жизненного цикла, обучение).

Слайд 14

Основные процессы жизненного цикла

Разработка
Разработка информационной системы включает в себя все работы по

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

Слайд 15

Эксплуатация
Эксплуатационные работы можно подразделить на подготовительные и основные. К подготовительным относятся:
- конфигурирование

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

Слайд 16

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

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

Слайд 17

Вспомогательные процессы
Среди вспомогательных процессов одно из главных мест занимает управление конфигурацией. Это

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

Слайд 18

Организационные процессы
Управление проектом связано с вопросами планирования и организации работ, создания коллективов

Организационные процессы Управление проектом связано с вопросами планирования и организации работ, создания
разработчиков и контроля за сроками и качеством выпол­няемых работ. Техническое и организационное обеспечение проекта включает:
- выбор методов и инструментальных средств для реализации проекта;
- определение методов описания промежуточных состояний разработки;
- разработку методов и средств испытаний созданного программного обеспече­ния;
- обучение персонала.
Обеспечение качества проекта связано с проблемами верификации, проверки и тестирования компонентов информационной системы. Верификация — это процесс определения соответствия текущего состояния разра­ботки, достигнутого на данном этапе, требованиям этого этапа. Проверка — это процесс определения соответствия параметров разработки исход­ным требованиям. Проверка отчасти совпадает с тестированием, которое прово­дится для определения различий между действительными и ожидавшимися ре­зультатами и оценки соответствия характеристик информационной системы ис­ходным требованиям.

Слайд 19

Модели жизненного цикла информационной системы
Моделью жизненного цикла информационной системы будем называть некото­рую

Модели жизненного цикла информационной системы Моделью жизненного цикла информационной системы будем называть
структуру, определяющую последовательность осуществления процессов, действий и задач, выполняемых на протяжении жизненного цикла информаци­онной системы, а также взаимосвязи между этими процессами, действиями и за­дачами.
В стандарте ISO/IEC 12207 не конкретизируются в деталях методы реализации и выполнения действий и задач, входящих в процессы жизненного цикла информационной системы, а лишь описываются структуры этих процессов. Это вполне понятно, так как регламенты стандарта являются общими для любых моделей жизненного цикла, методологий и технологий разработки. Модель же жизненного цикла зависит от специфики информационной системы и условий, в которых она создается и функционирует. Поэтому не имеет смысла предлагать какие-либо кон­кретные модели жизненного цикла и методы разработки информационных систем для общего случая, без привязки к определенной предметной области.
К настоящему времени наибольшее распространение получили следующие две основные модели жизненного цикла:
- каскадная модель, иногда также называемая моделью «водопад» (waterfall);
- спиральная модель.