Главная страница
Навигация по странице:

  • Избыточное дублирование данных и аномалии

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

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

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

  • Формирование исходного отношения

  • Оклад

  • Предм

  • Рис. 1.7. Исходное отношение ПРЕПОДАВАТЕЛЬ

  • Компьютерная безопасность. Тема 3и. Основы построения баз данных Базы данных и информационные системы


    Скачать 250 Kb.
    НазваниеОсновы построения баз данных Базы данных и информационные системы
    АнкорКомпьютерная безопасность
    Дата20.12.2019
    Размер250 Kb.
    Формат файлаdoc
    Имя файлаТема 3и.doc
    ТипДокументы
    #101282
    страница3 из 5
    1   2   3   4   5

    1.3. Проблемы проектирования реляционных БД


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

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

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

    При проектировании структур данных для автоматизированных систем можно выделить три основных подхода.

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

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

    3. Структурирование информации для использования в информационной системе в процессе проведения системного анализа на основе совокупности правил и рекомендаций.

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

    Избыточное дублирование данных и аномалии

    Следует различать простое (неизбыточное) и избыточное дублирование данных. Первое из них вполне естественно, второе может приводить к проблемам при обработке данных. Приведем примеры обоих вариантов дублирования.

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

    С_Т

    Сотрудник

    Телефон

    Иванов

    3721

    Петров

    4328

    Сидоров

    4328

    Егоров

    4328


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

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

    а) б)

    С_Т_Н С_Т_Н

    Служащий

    Телефон

    Н_комн




    Служащий

    Телефон

    Н_комн

    Иванов

    37-21

    109




    Иванов

    3721

    109

    Петров

    43-28

    111




    Петров

    4328

    111

    Сидоров

    4328

    111




    Сидоров

    -

    111

    Егоров

    4328

    111




    Егоров

    -

    111

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

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

    Служащий

    Н_комн




    Н_комн

    Телефон

    Иванов

    109




    109

    3721

    Петров

    111




    111

    4328

    Сидоров

    111










    Егоров

    111










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

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

    Избыточное дублирование данных создает проблемы при обработке кортежей отношения, названные Э. Коддом “аномалиями обновления отношения”. Он показал, что для некоторых отношений проблемы возникают при попытке удаления, добавления или редактировании их кортежей. Проблемы удаления и добавления кортежей, в принципе, снимаются в современных СУБД (например, Visual FoxPro) c появлением в них значений для полей таблиц типа Null - неопределенных значений. Поэтому далее рассмотрим только проблемы редактирования кортежей отношений.

    Формирование исходного отношения

    Проектирование БД начинается с определения всех объектов, сведения о которых будут включены в базу, и определения их атрибутов. Затем атрибуты сводятся в одну таблицу - исходное отношение.

    Пример. Формирование исходного отношения.

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

    ФИО - фамилия и инициалы преподавателя. Исключаем возможность совпадения фамилии и инициалов у преподавателей.

    Должн - должность, занимаемая преподавателем.

    Оклад - оклад преподавателя.

    Стаж - преподавательский стаж.

    Д_Стаж - надбавка за стаж.

    Кафедра - номер кафедры, на которой числится преподаватель.

    Предм - название предмета (дисциплины), читаемого преподавателем.

    Группа - номер группы, в которой преподаватель проводит занятия.

    ВидЗан - вид занятий, проводимых преподавателем в учебной группе.

    Одно из требований к отношениям заключается в том, чтобы все атрибуты отношения имели атомарные (простые) значения. В исходном отношении каждый атрибут кортежа также должен быть простым. Пример исходного отношения ПРЕПОДАВАТЕЛЬ приведен на Рис. 1.7.
    ПРЕПОДАВАТЕЛЬ

    ФИО

    Должн

    Оклад

    Стаж

    Д_Стаж

    Каф

    Предм

    Группа

    ВидЗан

    Иванов И.М

    преп

    500

    5

    100

    25

    СУБД

    256

    Практ

    Иванов И.М.

    преп

    500

    5

    100

    25

    ПЛ/1

    123

    Практ

    Петров М.И.

    ст.преп

    800

    7

    100

    25

    СУБД

    256

    Лекция

    Петров М.И.

    ст.преп

    800

    7

    100

    25

    Паскаль

    256

    Практ

    Сидоров Н.Г.

    преп

    500

    10

    150

    25

    ПЛ/1

    123

    Лекция

    Сидоров Н.Г.

    преп

    500

    10

    150

    25

    Паскаль

    256

    Лекция

    Егоров В.В.

    преп

    500

    5

    100

    24

    ПЭВМ

    244

    Лекция


    Рис. 1.7. Исходное отношение ПРЕПОДАВАТЕЛЬ

    Указанное отношение имеет следующую схему ПРЕПОДАВАТЕЛЬ(ФИО, Должн, Оклад, Стаж, Д_Стаж, Каф, Предм, Группа, ВидЗан).

    Исходное отношение ПРЕПОДАВАТЕЛЬ содержит избыточное дублирование данных, которое и является причиной аномалий редактирования. Различают избыточность явную и неявную.

    Явная избыточность заключается в том, что строки с данными о преподавателях, проводящих занятия в нескольких группах, повторяются соответствующее число раз. Например, в отношении ПРЕПОДАВАТЕЛЬ все данные по Иванову повторяются дважды. Поэтому, если Иванов И.М. станет старшим преподавателем, то этот факт должен быть отражен в обеих строках. В противном случае будет иметь место противоречие в данных, что является примером аномалии редактирования, обусловленной явной избыточностью данных в отношении.

    Неявная избыточность проявляется в одинаковых окладах у всех преподавателей, в одинаковых добавках к окладу за одинаковый стаж. Поэтому, если при изменении окладов за должность с 500 на 510 это значение изменят у всех преподавателей, кроме, например, Сидорова, то база станет противоречивой. Это пример аномалии редактирования для варианта с неявной избыточностью.

    Средством исключения избыточности в отношениях и, как следствие, аномалий является нормализация отношений, рассмотрим ее более подробно.
    1   2   3   4   5


    написать администратору сайта