Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция № 11 Проектирование БД.doc
Скачиваний:
7
Добавлен:
20.09.2019
Размер:
201.73 Кб
Скачать

6. Проектирование баз данных

6.1. Проблемы проектирования

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

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

Избыточное дублирование данных и аномалии. Различают простое (неизбыточное) и избыточное дублирование данных. Первое из них допускается в БД, а второе приводит к проблемам обработки данных.

Пример неизбыточного дублирования:

С_Т

Сотрудник

Телефон

Иванов И.М.

3721

Петров М.И.

4328

Сидоров Н.Г.

4328

Егоров В.В.

4328

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

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

Пример избыточного дублирования (избыточности):

С_Т_К

Сотрудник

Телефон

Комната

Иванов И.М.

3721

109

Петров М.И.

4328

111

Сидоров Н.Г.

4328

111

Егоров В.В.

4328

111

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

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

Процедура декомпозиции отношения С_Т_К на два отношения С_К К_Т является основной процедурой нормализации отношений.

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

С_К К_Т

Телефон

Комната

Сотрудник

Комната

3721

109

Иванов И.М.

109

4328

111

Петров М.И.

111

Сидоров Н.Г.

111

Егоров В.В.

111

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

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

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

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

Аномалии удаления состоят в том, что при удалении какого-либо данного из таблицы может пропасть и другая информация, которая не связана напрямую с удалением (удаление записи о сотруднике Иванове в табл. С_Т_К приводит к потере данных о номере телефона, установленного в к. 109).

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

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

Отношение Преподаватель содержит избыточное дублирование. Различают избыточность явную и неявную.

Явная избыточность – строки с данными о преподавателях повторяются несколько раз (атрибуты должность, оклад, стаж, надбавка, кафедра). Если, например, Иванов И.М. станет старшим преподавателем, то изменить надо данные в двух кортежах, иначе будет иметь место противоречие в данных. Это и есть аномалия редактирования, вызванная явной избыточностью данных в отношении.