1.  Реляционная модель данных. Объекты данных, целостность реляционных данных.

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

А) Тип данных.

Б) Домен.

Доменом называется множество атомарных значений одного и того же типа.

Атомарное (неразложимое) значение – наименьшая единица данных.

В) Атрибут.

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

Схемой отношения (заголовком) является список имен атрибутов.

Степень отношения это число его атрибутов.

Г) Кортеж.

Кортеж – это набор именованных значений заданного типа, то есть строка

Набор кортежей называется телом отношения.

Кардинальным числом называется число кортежей.

Д) Ключ

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

Е) Связь между отношениями.

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

Различаются четыре типа связей между отношениями:

-  один к одному – каждой записи одной таблицы соответствует одна запись другой таблицы

НЕ нашли? Не то? Что вы ищете?

-  один ко многим – одной записи главной таблицы соответствует множество записей подчиненной таблицы.

-  многие к одному – множество записей главной таблицы соответствует одна запись подчиненной таблицы.

-  Многие ко многим – одна запись главной таблицы связана со многими записями подчиненной таблицы, одна запись подчиненной таблицы связана со многими записями главной таблицы.

Условия целостности данных:

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

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

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

1.  запрещается удаление и изменение кортежа на который существуют ссылки

2.  каскадное удаление и изменение

3.  каскадное изменение и запрет на удаление (наиболее распространенное)

2.  Цели процесса нормализации. Нормальные формы.

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

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

-  первая нормальная форма (1NF) - значения всех атрибутов отношения должны быть атомарные

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

Для этого необходимо:

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

б) перенести такие поля и часть первичного ключа в новую таблицу

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

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

Для перехода к этому уровню необходимо:

а) Определить все поля от которых зависят другие поля

б) Перенести все эти поля включая поле от которого они зависят в новую таблицу.

Для обычных баз данных этого уровня вполне достаточно.

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

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

-  нормальная форма проекции – соединения (5Nfили PJ/NF) - каждая следующая нормальная форма лучше предыдущей. При переходе к следующей нормальной форме свойства предыдущих сохраняются.

3. Проектирование БД методом «Сущность-Связь». Нотации.

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

Два вида концептуальных моделей:

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

-  семантические модели, отражающие значения реальных сущностей и отношений.

Одной из наиболее популярных семантических моделей данных является модель «сущность-связь» (ER-модель). ER-модель была предложена в 1976 г. Ченом. В связи с наглядностью представления концептуальных схем баз данных ER-модель получила широкое распространение в CASE-средствах разработки.

Основными понятиями ER-диаграммы являются сущность, связь, атрибут.

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

-  иметь уникальный идентификатор

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

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

В диаграммах ER-модели сущность представляется в виде прямоугольника, содержащего имя сущности.

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

Атрибут является характеристикой сущности, значимой для рассматриваемой предметной области. В ER-диаграммах список атрибутов сущности отображается в виде строк.

4. Транзакции. Восстановление транзакций. Восстановление системы.

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

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

Аппаратные сбои подразделяются на два вида:

А) мягкий сбой, связанный с внезапной остановкой работы компьютера.

Б) жесткий сбой, потеря информации на внешних носителях.

Для решения проблемы восстановления базы после сбоя и поддержания надежности хранения требуется избыточность данных. Наиболее распространенным методом является ведение журнала изменений базы данных. Запись об изменении любого объекта должна быть занесена до того, как будет зафиксировано изменение этого объекта (так называемый протокол Write Ahead Log - WAL). Самая простая ситуация восстановления – индивидуальный отказ транзакции. По журналу производится откат транзакции, то есть выполнение обратных операций от конца к началу. При мягком сбое сначала производится откат транзакций не завершенных, а затем выполнение завершенных транзакций результаты которых не сохранились из - за сбоя. Для восстановления базы данных после жесткого сбоя используется архивная копия и журнал.