Спроектируйте структуру БД «Спортивный клуб». Данные нужно организовать в виде четырех таблиц. Каждая таблица должна содержать не менее пяти полей с различными типами данных. Недостающие данные необходимо придумать самостоятельно. Покажите связи и отношения между таблицами.
Решение
В рассматриваемой предметной области выделим следующие сущности: Клиент, Программа, Тренер, Учет посещений. Выпишем атрибуты сущностей:
Клиент: код клиента, фамилия, имя, отчество, дата рождения, телефон, адрес;
Программа: код программы, программа, краткое описание, продолжительность занятия, стоимость посещения;
Тренер: код тренера, фамилия, имя, отчество, дата рождения, телефон;
Учет посещений: код посещения, дата посещения, время посещения, программа, клиент, тренер.
Определим связи между сущностями:
Каждый клиент может посетить в спортивном клубе много занятий, при этом каждая запись по учету посещений относится только к одному клиенту (связь «один-ко-многим»).
Каждый тренер может проводить в спортивном клубе много занятий, при этом каждая запись по учету посещений относится только к одному тренеру (связь «один-ко-многим»).
По каждой программе может быть много посещений, , при этом каждая запись по учету посещений относится только к одной программе (связь «один-ко-многим»).
ER-диаграмма модели данных представлена на рис
. 1.
Рис. 1 – ER-диаграмма модели данных
Каждую сущность преобразуем в таблицу, каждый атрибут сущности – в поле таблицы, определим типы и размеры полей, первичные и внешние ключи.
Таблица 1 – Структура таблицы «Клиент»
Название поля Описание Тип данных Размер данных Ключ
Код клиента Идентификатор клиента Счетчик Длинное целое Первичный
Фамилия Фамилия клиента Текстовый 25
Имя Имя клиента Текстовый 25
Отчество Отчество клиента Текстовый 25
Дата рождения Дата рождения клиента Дата/время Краткий формат даты
Телефон Телефон клиента Текстовый 20
Адрес Адрес клиента Текстовый 100
Таблица 2 – Структура таблицы «Программа»
Название поля Описание Тип данных Размер данных Ключ
Код программы Идентификатор программы Счетчик Длинное целое Первичный
Программа Название программы Текстовый 50
Описание Краткое описание Текстовый 255
Продолжительность Продолжительность занятия (минут) Числовой Целое
Стоимость Стоимость посещения Денежный -
Таблица 3 – Структура таблицы «Тренер»
Название поля Описание Тип данных Размер данных Ключ
Код тренера Идентификатор тренера Счетчик Длинное целое Первичный
Фамилия Фамилия тренера Текстовый 25
Имя Имя тренера Текстовый 25
Отчество Отчество тренера Текстовый 25
Дата рождения Дата рождения тренера Дата/время Краткий формат даты
Телефон Телефон тренера Текстовый 20
Таблица 4 – Структура таблицы «Учет посещений»
Название поля Описание Тип данных Размер данных Ключ
Код посещения Код посещения Счетчик Длинное целое Первичный
Дата посещения Дата посещения Дата/время Краткий формат даты
Время посещения Время посещения Дата/время Краткий формат времени
Программа Идентификатор программы Числовой Длинное целое Внешний
Клиент Идентификатор клиента Числовой Длинное целое Внешний
Тренер Идентификатор тренера Числовой Длинное целое Внешний
Схема данных приведена на рис.2.
Рис