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

В 1970 г. появилась статья Тэдда Кодда о представлении данных, организованных в виде двухмерных таблиц, называемых отношениями (Codd E.F. «A relational model for large shared data banks», Comm. ACM,13:6,pp.377-387).

С этого момента реляционная модель широко используется при создании различных БД.

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

Структура данных реляционной модели.

Таблица – основной тип структуры обладает следующими свойствами:

- состоит из столбцов и строк;

- каждый элемент таблицы – это один элемент данных;

- все столбцы в таблицу однороднее, и.е. элементы в столбце имеют одинаковый тип(числовой, текстовый и т.д.) и длину;

- Одинаковые строки в таблице отсутствуют;

- порядок следования строк произволен.

Столбец соответствует элементу данных – атрибуту, который является простейшей структурой. Каждый столбец имеет уникальное имя.

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

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

Между таблицами существуют взаимосвязи. Различают три типа взаимосвязей: один к одному, один ко многим и многие ко многим.

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

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

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

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

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

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

Первая нормальная форма (1НФ)

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

Вторая нормальная форма (2НФ)

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

Пример функциональной зависимости на основе таблицы.

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

 

Третья нормальная форма (3НФ)

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

Транзитивная зависимость выявляет дублирование данных в одном отношении. Если А, В и С - три атрибута одного отношения и С зависит от В, а В от А, то говорят, что С транзитивно зависит от А. Преобразование в третью нормальную форму происходит за счет разделения исходного отношения на два.

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