Приведение БД к табличной форме
Проведем анализ блок схемы БД представленной на рисунке 4.4, из связи представленной на рисунке 4.5. видно, что БД имеет простую сетевую структуру.
Рисунок 4.5. – Элементы простой сетевой структуры блок схемы
Для приведения к реляционной модели необходимо преобразовать схему к древовидной структуру, для этого необходимо ввести избыточность.
Задача преобразования древовидной структуры к табличной форме состоит в ведении избыточности. В результате получаем первую нормальную форму (1НФ). Существуют 7НФ. Приведение к каждой из последующих нормальных форм связано с устранением избыточности.
Получение 1НФ из древовидной структуры сводится к устранению повторяющихся групп. Основой этого этапа нормализации является определение ключей и выделение ключевых атрибутов в сущности(рисунок 4.6).
Курсы
Тема
№ Курса |
№ Темы |
Тема |
Лекция |
Текстовые лекции
№ Темы |
Лекция |
Автор |
Контент |
Рейтинг |
Тип файла |
Счетчик |
Видео лекции
№ Темы |
Лекция |
Автор |
Контент |
Рейтинг |
Тип файла |
Счетчик |
Аудио лекции
№ Темы |
Лекция |
Автор |
Контент |
Рейтинг |
Тип файла |
Счетчик |
Дополнительный материал
№ Темы |
Лекция |
Название файла |
Разрешение |
Тест
Тестовые вопросы
№ Темы |
№Тест |
№Вопр. |
Вопрос |
Варианты |
Ответ |
Сложность |
Коэф. |
Результаты тестов
№ Теста |
№Пользователя |
Результат |
Пользователи
№ Пользователя |
Логин |
Пароль |
Тип |
Фамилия |
Имя |
Очество |
Рисунок 4.6. – Приведение базы данных к 1НФ и формирование ключевых атрибутов
Результатом нормализации является отношение, имеющее свои ключи.
На втором этапе нормализации осуществим устранение неполных функциональных зависимостей. Для этого вынесем атрибут «Название» в новое отношение «Тест название» (рисунок 4.7)
а)
Тест
№ Теста |
№ Вопроса |
Название |
б)
Тест
Тест_Название
Рисунок 4.7 - а) Функциональная зависимость в отношении между атрибутами; б) Результат нормализации.
При такой организации нет дублирования данных - каждое название вопроса вводится только один раз. Очевидно, что между двумя сущностями есть связь. В данном случае связь между сущностями "один ко многим", при этом каждому «№ Теста» соответствует «Название».
В сущности «Тестовые вопросы» существует зависимость 1:М между вопросом и вариантами ответов т.к. рационально варианты ответов сделать отдельным кортежем. Для этого разобьем отношение на «Тестовые вопросы» и варианты ответа(рисунок 4.8).
Тестовые вопросы
№ Темы |
№Теста |
№Вопр. |
Вопрос |
Ответ |
Сложность |
Коэф. |
Варианты ответа
Рисунок 4.8. – Нормализация отношения «Тестовые вопросы»
Проанализировав все сущности выяснили что атрибуты функционально зависят от своего первичного ключа, но при этом не находятся в функциональной зависимости от какой-либо его части.
После приведения сущности ко второй нормальной форме, можно приступать к приведению к третьей. Для этого необходимо избавиться от зависимостей неключевых атрибутов, функционально не зависящих от первичного ключа. Все сущности приведенные на рисунках 4.8. удовлетворяют требованиям третьей нормальной форме. |