Курсовая БД Фитнес-зал. Продажа абонементов в Фитнесклуб
Скачать 386.91 Kb.
|
МОСКОВСКИЙ АВТОМОБИЛЬНО-ДОРОЖНЫЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ (МАДИ) Кафедра «Автоматизированные системы управления» Базы данных Курсовой Проект Тема: «Продажа абонементов в Фитнес-клуб» Выполнил: студент группы 4бАСУ1 Гончаров А.С. Проверил: доц. каф. АСУ Суркова Н.Е. Москва 2021 ОглавлениеЭтап концептульного моделирования 4 Описание сущностей 5 Описание связей 6 КМД в стандарте IDEF0 7 КМД в стандарте Чена 7 Анализ КМД 7 Назначение стратегии целостности 8 ЛМД в стандарте IDEF0 9 Анализ типов данных 9 Статическое тестирования 10 Динамическое тестирование 10 Описание предметной областиОбьект – Фитнес-клуб “Молодой” Функция –продажа абонемента в Фитнес-клуб Абонемент предоставляется в 2 тарифах: тариф с тренером: на 12 тренировок и 24 тренировок. 12 тренировок стоит 4500 р с правом заморозки один раз на 7 дней 24 тренировок 8990 с правом заморозки один раз на 30 дней тариф без тренера: 12 тренировок и 24 тренировок. 12 тренировок стоит 2500 р с правом заморозки один раз на 7 дней 24 тренировок стоит 3 990 с правом заморозки один раз на 30 дней Все услуги клиентам по консультированию внутри помещения осуществляют тренеры и получают за это оклад денежных средств раз в месяц. Чтобы получить оклад, тренер должен отработать определённое количество тренировок. Клиент может заниматься индивидуально в зависимости от тарифа. Количество клиентов и тренировок у тренера фиксировано и зависит от типа оклада.Тренер обязательно должен иметь звание(кмс, мс, мсмк). Количество оклада зависит от звания. Менеджер, продаёт абонементы наличными средствами, следит за началом и окончанием тренировки клиента. Срок действия абонемента полгода. Фитнес зал работает с 9:00 до 23:00 Тренировка осуществляется в период работы зала. При заморозке абонемента срок действия увеличивается в размере заморозки. При продажи абонемента ТАРИФ С ТРЕНЕРОМ, клиент договаривается о днях недели(Например, понедельник, вторник, среда) Этап концептульного моделирования
Описание сущностей
Описание связей
КМД в стандарте IDEF0КМД в стандарте ЧенаАнализ КМДСоставной атрибут: - Многозначный атрибут:- Производный атрибут: Клиент:(КолВоТренир, ОстТрен), Менеджер:(КолВоПрод), Тренер(КолВоКлиент) Связь 1к1: - Рекурсивная связь: - Избыточная связь: - Назначение стратегии целостности
ЛМД в стандарте IDEF0Анализ типов данныхСтатическое тестированияКлиент(СотТелефон)- Длинное число->Длинный текст Динамическое тестированиеКлиенты, у которых абономент по тарифу “С тренером” SELECT * FROM Клиент INNER JOIN (Тариф INNER JOIN Абонемент ON Тариф.КодТариф = Абонемент.КодТариф) ON Клиент.НомерКлиент = Абонемент.НомерКлиент WHERE Абонемент.КодТариф < 3 Поиск абонементов купленных за преиод SELECT * FROM Абонемент WHERE ДатаН >#1/11/2021# Количество проведённых тренировок у тренера SELECT Тренер.Фамил,Тренер.Имя,Тренер.Отчество,COUNT(Тренировка.№Договора) AS 'Количество тренировок' FROM (Тренер INNER JOIN Абонемент ON Тренер.НомерТрен = Абонемент.НомерТрен) INNER JOIN Тренировка ON Абонемент.[№Договора] = Тренировка.[№Договора] GROUP BY Тренер.Фамил,Тренер.Имя,Тренер.Отчество Количество продаж у менеджера SELECT Менеджер.Фамилия,Менеджер.Имя,Менеджер.Отчество,COUNT(Абонемент.КодМенедж) AS 'Количество продаж' FROM Менеджер INNER JOIN Абонемент ON Менеджер.КодМенедж = Абонемент.КодМенедж GROUP BY Менеджер.Фамилия,Менеджер.Имя,Менеджер.Отчество Количество тренировок, которые остались у клиента SELECT Клиент.Фамилия,Клиент.Имя,Клиент.Отчество,Тариф.КолВоТренир - COUNT(Тренировка.№Договора) AS 'Отсалось тернировок' FROM (Тариф INNER JOIN (Клиент INNER JOIN Абонемент ON Клиент.НомерКлиент = Абонемент.НомерКлиент) ON Тариф.КодТариф = Абонемент.КодТариф) INNER JOIN Тренировка ON Абонемент.[№Договора] = Тренировка.[№Договора] GROUP BY Клиент.Фамилия,Клиент.Имя,Клиент.Отчество,Тариф.КолВоТренир Список клиентов, которые воспользовались функцией заморозки абонемента SELECT * FROM Клиент INNER JOIN Абонемент ON Клиент.НомерКлиент = Абонемент.НомерКлиент WHERE Абонемент.ЗаморозкаС <> NULL; Клиенты, совершившие тренировку в понедельник или четверг SELECT Клиент.Фамилия,Клиент.Имя,Клиент.Отчество,Тренировка.ДеньНедели FROM Клиент INNER JOIN (Абонемент INNER JOIN Тренировка ON Абонемент.[№Договора] = Тренировка.[№Договора]) ON Клиент.НомерКлиент = Абонемент.НомерКлиент WHERE Тренировка.ДеньНедели = 'Понедельник' OR Тренировка.ДеньНедели = 'Четверг' GROUP BY Клиент.Фамилия,Клиент.Имя,Клиент.Отчество,Тренировка.ДеньНедели |