Нормализация данных.1,2,3 нормальные формы.

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

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

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

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

Отношение находится в первой нормальной форме, если значения всех атрибутов отношения атомарны (неделимы)

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

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

Переход от 1 к 2 нф:

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

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

3.Удалить из исходной таблицы поля, перемещенные в другие таблицы

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

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

Переход от 2 к 3 нф:

1.определить все поля (или группы полей), от которых зависят другие поля

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

3. удалить перемещенные поля из исходной таблицы

Транзакция.

Транзакцией называется некоторая неделимая последовательность операций над данными, к-ая воспринимается СУБД как единое целое и отслеживается ею от начала до завершения транзакции (это группа последовательных операций, которая представляет собой логическую единицу работы с данными). Если по каким-либо причинам одна из операций не выполняется, то вся транзакция отменяется и выполняется откат к исходному состоянию БД. Свойства транзакций: 1.Атомарность-выполняются все входящие в транзакцию операции или ни одна из них. 2.Серолизуемость-транзакции выполняются сами по себе. Отсутствует взаимное влияние выполняемых в одно и то же время транзакции. 3.Долговечность – даже крах системы не приводит к утрате результатов зафиксированной транзакций. Транзакции обеспечивают целостность и безубыточность БД. Контроль транзакции возможен как в однопользовательском, так и в многопользовательском СУБД. В многопользовательском СУБД при параллельном выполнении транзакции, возможны возникновения конфликтов, разрешение к-ых явл. функцией СУБД. При обнаружении конфликтов, происходит откат путем отмены изменений. Для этого СУБД ведет журнал изменений БД. Транзакционная система —система, реализующая транзакции над хранилищем данных. Задача транзакционной системы — обработать как можно больше транзакций в минимальное время с гарантией безошибочных результатов.

Принципы совместной обработки (сериализации) транзакций:

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

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

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

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

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

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

Локальные и глобальные транзакции

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

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

 

 

Реляционная модель

Ряляционная модель- представляет собой двухмерную структуру(может и несколько).Основные понятия:

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

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

Ключ м.б.простым (на основе 1 атрибута) и составным (нескольких), так же естественным и Суррогатным

(искусственным). Естественный ключ строится на основе атрибутов. «+»:

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

Суррогатный ключ создается либо СУБД, либо пользователем и не несет инф. нагрузку, а используется только для однозначной идентификации записей в таблице. «-»: избыточность данных в таблице и увеличении объема самой БД.