Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информационное обеспечение3.Х.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
806.75 Кб
Скачать
    1. Разработка реляционной базы данных

      1. Основные предпосылки

Разработку реляционных баз данных традиционно делят на два этапа [2]:

  • Логическое проектирование, при котором решается проблема наилучшего отображения предметной области в абстрактные понятия модели данных.

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

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

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

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

  • аномалия добавления – невозможность добавления новых данных о части объектов из-за нарушения целостности первичного ключа. «Вводить необходимо всё и сразу»;

  • аномалия изменения – потенциальная возможность появления различных значений одного и того же понятия предметной области. «Изменяя, не забываем изменить всё»;

  • аномалия удаления – невозможность удаления информации о части объектов из-за нарушения целостности первичного ключа. «Удаляя часть – удаляем всё».

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

      1. Нормализация

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

Разбиение таблицы на две и более, обладающие лучшими свойствами при основных операциях манипулирования данными называют нормализацией [2, 3, 4]. Разбиение данных на новые таблицы не должно приводить к потерям информации, т.е. нормализация – это преобразование без потерь. Как и любое преобразование без потерь, нормализация имеет обратное преобразование – денормализацию – позволяющее получить исходную таблицу.

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

Столбец Y реляционной таблицы функционально зависит от столбца X, если в любой момент времени каждому значению столбца X соответствует единственное значение столбца Y. Определение остается в силе и для более общего вида, если X и Y являются некоторым множеством (набором) столбцов таблицы. Функциональную зависимость обозначают оператором – стрелкой, где левый операнд – это определяющий столбец, а правый – зависимый:  Y.

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

Транзитивная зависимость определяется следующими соотношениями: если  Y и  Z, то  Z транзитивно, т.е. если столбец Y функционально зависит от столбца X, а столбец Z функционально зависит от столбца Y, то столбец Z функционально зависит от столбца X, причем транзитивно через Y. Столбцы X, Y, Z могут быть составными.