
4. Логическое проектирование бд.
4.1 Преобразование ER – диаграммы в схему базы данных.
На этапе логического проектирования разрабатывается логическая структура БД, соответствующая логической модели предметной области. База данных создаётся на основании схемы базы данных. Инфологическую модель данных, построенную в виде ER–диаграммы, следует преобразовать в схему БД. Преобразование ER–диаграммы в схему БД выполняется путем сопоставления каждой сущности и каждой связи, имеющей атрибуты, отношения (таблицы БД). Для этого необходимо выполнить следующие шаги проектирования модели.
1. Представить каждый стержень таблицей базы данных (базовой таблицей) и специфицировать первичный ключ этой базовой таблицы.
В нашей базе данных 3 стержня. Проанализируем каждый стержень в отдельности.
Стержень «Упражнения».
Таблица 4.1
Стержень «Спортсмены».
Таблица 4.2
Стержень «Тренера».
Таблица 4.3
2. Представить каждую ассоциацию как базовую таблицу. Использовать в этой таблице внешние ключи для идентификации участников ассоциации и специфицировать ограничения, связанные с каждым из этих внешних ключей.
Ассоциация «Соревнования».
Таблица 4.4
Ассоциация «Тренировки».
Таблица 4.5
Объединяя все таблицы, получим схему базы данных «Учета аудиторного фонда института» в формате, в котором она выглядит в окне схемы данных приложения Microsoft Access.
Рисунок 3 – Схема базы данных
4.2 Составление и нормализация полученных отношений.
Рассмотрим ограничения, накладываемые на хранимую информацию в данной БД.
Проведем нормализацию таблиц.
Цель нормализации сводиться к получению такого проекта базы данных, в котором каждый факт появляется лишь в одном месте, то есть, исключена избыточность информации.
Каждая таблица в реляционной БД удовлетворяет условию, в соответствии с которым в позиции на пересечении каждой строки и каждого столбца таблицы всегда находиться единственное атомарное значение, и никогда не может быть множества таких значений.
Отношение находится в 1НФ, если все его атрибуты являются простыми (имеют единственное значение).
Отношение находиться во 2НФ, если оно находиться в 1НФ и каждый неключевой атрибут функционально полно зависит от первичного составного ключа.
Отношение находиться в 3НФ, если оно находиться во 2НФ и каждый неключевой атрибут нетранзитивно зависит от первичного составного ключа (то есть, не зависит функционально от любого другого неключевого поля).
Выявим все атрибуты и подберем все данные из всей базы данных (таблица 4.6)
Звание спортсмена |
Название соревнования |
Дата проведения соревнования |
ФИО спортсмена |
Дата рождения спортсмена |
Место рождения |
Название титула |
ФИО тренера |
Дата рождения тренера |
Звание тренера |
Стаж |
Место проведения тренировок |
Расписание |
Продолжительность одной тренировки |
Номер зала |
Название упражнения |
Таблица 4.6
Таблица 4.6 представляет собой экземпляр корректного отношения. Его называют универсальным отношением проектируемой базы данных. В одно универсальное отношение включаются все представляющие интерес атрибуты, и оно может содержать все данные, которые предполагается размещать в БД в будущем. Данная таблица находится в первой нормальной форме, так как на пересечении каждой строки и столбца таблицы всегда находится единственное атомарное значение, и никогда не может быть множества таких значений. Но в этой таблице возникают противоречия избыточности, аномалии обновления, аномалии включения, аномалии удаления.
Многие проблемы исчезнут, если выделить в отдельные таблицы сведения о спортсменах, тренерах, тренировочном процессе, соревнованиях, классификации, титулах и упражнениях. В результате получим:
код спортсмена |
ФИО |
Дата рождения |
Место рождения |
код классификации |
код тренировки |
код соревнования |
код спортсмена1 |
ФИО1 |
Дата рождения1 |
Место рождения1 |
код классификации1 |
код тренировки1 |
код соревнования1 |
код спортсмена2 |
ФИО2 |
Дата рождения2 |
Место рождения2 |
код классификации2 |
код тренировки2 |
код соревнования2 |
Таблица 4.7 - «Спортсмены»
код титула |
название титула |
код титула1 |
название титула1 |
код титула2 |
название титула2 |
Таблица 4.8 - «Титул»
код классификации |
Звание |
код классификации1 |
Звание1 |
код классификации2 |
Звание2 |
Таблица 4.9 - «Классификация»
код упражнения |
название упражнения |
код упражнения1 |
название упражнения1 |
код упражнения2 |
название упражнения2 |
Таблица 4.10 - «Упражнения»
код соревнования |
название соревнования |
дата |
код упражнения |
код соревнования1 |
название соревнования1 |
дата1 |
код упражнения1 |
код соревнования2 |
название соревнования2 |
дата2 |
код упражнения2 |
Таблица 4.11 - «Соревнования»
код тренировки |
место проведения тренировок |
расписание |
продолжительность одной тренировки |
номер зала |
код тренера |
код тренировки1 |
место проведения тренировок1 |
расписание1 |
продолжительность одной тренировки1 |
номер зала1 |
код тренера1 |
код тренировки2 |
место проведения тренировок2 |
расписание2 |
продолжительность одной тренировки2 |
номер зала2 |
код тренера2 |
Таблица 4.12 - «Тренировки»
код тренера |
ФИО |
Дата рождения |
звание |
стаж |
код тренера1 |
ФИО1 |
Дата рождения1 |
звание1 |
стаж1 |
код тренера2 |
ФИО2 |
Дата рождения2 |
звание2 |
стаж2 |
Таблица 4.13 - «Тренера»
Теперь все таблицы БД находятся в 3НФ, т.к. каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
5 Физическое проектирование
Произведем ввод данных в таблицы отношения.
Рисунок 5.1 – Схема отношений БД «Спортивная гимнастика»
5.1 Составление форм, запросов и отчетов
Доступ ко всем компонентам, а именно, формам и отчетам осуществляется через окно главной кнопочной формы, которая запускается автоматически при открытии базы данных.
Рисунок 5.2 - Главная кнопочная форма
В БД содержатся следующие таблицы:
Рисунок 5.3 - Таблица «Спортсмены»
Рисунок 5.4 - Таблица «Классификация»
Рисунок 5.5 - Таблица «Соревнования»
Рисунок 5.6 - Таблица «Титул»
Рисунок 5.7 - Таблица «Упражнения»
Рисунок 5.8 - Таблица «Тренера»
Рисунок 5.9 - Таблица «Тренировки»
Чтобы было легко узнать из БД «Спортивная гимнастика» необходимые данные, создадим необходимые запросы и отчеты.
Создадим отчет «Спортсмены» и отчет «Тренера». Данный отчет нужен для наглядного отображения информации о спортсменах и тренерах.
Рисунок 5.10 - Отчет «Спортсмены»
Рисунок 5.11 - Отчет «Тренера»
Рисунок 5.12 - Запрос «Соревнования»
Создадим форму для спортсменов
Рисунок 5.13 - Форма для спортсменов