Проблемы проектирования реляционных баз данных

Рассмотрим основные проблемы, имеющие место при определении структур данных в отношениях реляционной модели.

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

Сотрудники_Телефоны

Фамилия Телефон
Иванов 16-30-67
Петров 16-30-45
Сидоров 16-30-45
Егоров 16-30-45
Сергеев 16-30-23

Рис. 4.1. Неизбыточное дублирование

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

Сотрудники_Телефоны_Комнаты

Фамилия Телефон Комнаты
Иванов 16-30-67
Петров 16-30-45
Сидоров 16-30-45
Егоров 16-30-45
Сергеев 16-30-23

Рис. 4.2. Избыточное дублирование

На рис. 4.3. приведен пример неудачного отношения Сотрудники_Телефоны_Комнаты приведен пример отношения, в котором вместо телефонов Сидорова и Егорова поставлены прочерки (неопределенные значения).

Сотрудники_Телефоны_Комнаты

Фамилия Телефон Комнаты
Иванов 16-30-67
Петров 16-30-45
Сидоров -
Егоров -
Сергеев 16-30-23

Рис. 4.3. Избыточное дублирование

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

Возможный способ выхода из данной ситуации приведен на рис. 4.4. Здесь показаны два отношения, полученные путем декомпозиции исходного отношения. Первое из них содержит информацию о сотрудниках и номерах комнат, где они работают, а второе – информацию о номерах телефонов в каждой из комнат. Теперь, если Петров уволится из учреждения и, как следствие этого, будет удалена всякая информация о нем из базы данных, это не приведет к утере информации о номере телефона в 112-й комнате.

Сотрудники_Комнаты Телефоны_Комнаты

Фамилия Комнаты   Телефон Комнаты
Иванов   16-30-67
Петров   16-30-45
Сидоров   16-30-23
Егоров      
Сергеев      

Рис. 4.4. Исключение избыточного дублирования

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

Аномалии. Избыточное дублирование данных создает проблемы при обработке кортежей отношения, названные Э. Коддом «аномалиями обновления отношения». Он показал, что для некоторых отношений проблемы возникают при попытке удаления, добавления или редактирования их кортежей.

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

Выделяют три основные вида аномалий: аномалии модификации (или редактирования), аномалии удаления и аномалии добавления.

Аномалии модификации проявляются в том, что изменение значения одного данного может повлечь за собой просмотр всей таблицы и соответствующее изменение некоторых других записей таблицы. Например, изменение номера телефона в комнате 112 (рис.4.2), что представляет собой один единственный факт, потребует просмотра всей таблицы Сотрудники_Телефоны_Комнаты и изменения поля Телефон в записях, относящихся к Петрову, Сидорову и Егорову.

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

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

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

Метод сущность-связь.

Метод сущность-связь называют также методом «ER-диаграмм». Аббревиатура ER происходит от слов Essence (сущность) и Relation (связь). Метод основан на использовании диаграмм, называемых диаграммами ER-экземпляров и диаграммами ER-типа.

Основные понятия метода. Основными понятиями метода сущность-связь являются следующие:

· сущность;

· атрибут сущности;

· ключ сущности;

· связь между сущностями;

· степень связи;

· класс принадлежности экземпляров сущности;

· диаграммы ER-экземпляров;

· диаграммы ER-типа.

Сущность представляет собой объект, информация о котором хранится в БД. Экземпляры сущности отличаются друг от друга и однозначно идентифицируются. Названиями сущностей являются, как правило, существительные, например: ПРЕПОДАВАТЕЛЬ, ДИСЦИПЛИНА, КАФЕДРА, ГРУППА.

Атрибут представляет собой свойство сущности. Это понятие аналогично понятию атрибута в отношении. Так атрибутами сущности ГРУППА могут быть Шифр группы, Факультет, Специальность, Курс, Фамилия_старосты и т.д.

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

Связь двух или более сущностей предполагает существование зависимостей между атрибутами этих сущностей. Название связи обычно представляется глаголом. Примерами связей между сущностями являются следующие: Преподаватель Ведет Дисциплину (Иванов Ведет «Моделирование»), Преподаватель Преподает в Группе (Иванов Преподает в Группе ВМ-021), Преподаватель Работает на Кафедре (Иванов Работает на Кафедре АВС).

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

На рис. 4.5 приведена диаграмма ER-экземпляров для сущностей ПРЕПОДАВАТЕЛЬ и ДИСЦИПЛИНА со связью ВЕДЕТ.

ПРЕПОДАВАТЕЛЬ ВЕДЕТ ДИСЦИПЛИНА
Проблемы проектирования реляционных баз данных - student2.ru Проблемы проектирования реляционных баз данных - student2.ru СЕРГЕЕВА   МОДЕЛИРОВАНИЕ
Проблемы проектирования реляционных баз данных - student2.ru Проблемы проектирования реляционных баз данных - student2.ru ТЮРИН   ЭЛЕКТРОНИКА
БУРКОВСКИЙ   БАЗЫ ДАННЫХ
Проблемы проектирования реляционных баз данных - student2.ru ПОПОВ   СХЕМОТЕХНИКА
ПИТОЛИН   МЕНЕДЖМЕНТ

Рис.4.5. Диаграмма ER-экземпляров

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

Степень связиявляется характеристикой связи между сущностями, которая может быть следующей: 1:1, 1:М, М:1, М:М.

Класс принадлежности(КП) сущности может быть: обязательным и необязательным.

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

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

В диаграмме ER-типа используются следующие обозначения:

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

под сущностью записывают ключевые поля через запятую, затем ставят запятую и многоточие (означает наличие не ключевых описательных полей); ключевые поля подчеркивают;

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

степень связи изображают цифрами или буквами;

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

Рассмотрим примеры диаграмм ER-типа.

Пример 1.

Связи типа 1:1 и обязательный класс принадлежности.

На рис.0 4.6 приведены диаграммы, у которых степень связи между сущностями 1:1, а класс принадлежности обеих сущностей обязательный.

а) диаграмма ER-экземпляров

ПРЕПОДАВАТЕЛЬ ВЕДЕТ ДИСЦИПЛИНА
Проблемы проектирования реляционных баз данных - student2.ru Проблемы проектирования реляционных баз данных - student2.ru СЕРГЕЕВА   МОДЕЛИРОВАНИЕ
Проблемы проектирования реляционных баз данных - student2.ru Проблемы проектирования реляционных баз данных - student2.ru ТЮРИН   ЭЛЕКТРОНИКА
БУРКОВСКИЙ   БАЗЫ ДАННЫХ
Проблемы проектирования реляционных баз данных - student2.ru ПОПОВ   СХЕМОТЕХНИКА
ПИТОЛИН   МЕНЕДЖМЕНТ

б) диаграмма ER-типа

 
  Проблемы проектирования реляционных баз данных - student2.ru

1 1

Рис.4.6. Диаграммы для связи 1:1 и обязательным классом

принадлежности обеих сущностей

Пример 2. Связи типа 1:М, класс принадлежности первой сущности необязательный, а второй – обязательный. Например, каждый сотрудник кафедры может вести несколько дисциплин или ни одной, но каждая дисциплина ведется одним сотрудником кафедры (рис. 4.7).

а) диаграмма ER-экземпляров

СОТРУДНИКИ ВЕДЕТ ДИСЦИПЛИНА
Проблемы проектирования реляционных баз данных - student2.ru   ИНФОРМАТИКА
Проблемы проектирования реляционных баз данных - student2.ru Проблемы проектирования реляционных баз данных - student2.ru СЕРГЕЕВА   МОДЕЛИРОВАНИЕ
Проблемы проектирования реляционных баз данных - student2.ru Проблемы проектирования реляционных баз данных - student2.ru Проблемы проектирования реляционных баз данных - student2.ru ТЮРИН   ЭЛЕКТРОНИКА
БУРКОВСКИЙ   БАЗЫ ДАННЫХ
Проблемы проектирования реляционных баз данных - student2.ru ПОПОВ   СХЕМОТЕХНИКА
Проблемы проектирования реляционных баз данных - student2.ru ПИТОЛИН   МЕНЕДЖМЕНТ
ВАСИЛЬЕВА   ЭЛЕКТРОТЕХНИКА
ПЛОТНИКОВА   ТЕОРИЯ АВТОМАТОВ

б) диаграмма ER-типов

Проблемы проектирования реляционных баз данных - student2.ru 1 М

Рис. 4.7. Диаграммы для связи типа 1:М варианта Н-О

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

1. Выделение сущностей и связей между ними.

2. Построение диаграмм ER-типа с учетом всех сущностей и их связей.

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

4. Добавление неключевых атрибутов в отношения.

5. Приведение предварительных отношений к нормальной форме Бойса-Кодда, например, с помощью метода нормальных форм.

6. Пересмотр ER-диаграмм в следующих случаях:

· некоторые отношения не приводятся к нормальной форме Бойса-Кодда;

· некоторым атрибутам не находится логически обоснованных мест в предварительных отношениях.

После преобразования ER-диаграмм осуществляется повторное выполнение предыдущих этапов проектирования (возврат к этапу 1).

Наши рекомендации