Разработка автоматизированного рабочего места для спорткомплекса

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

?па (код группы, название, специализация). Объект содержит информацию обо всех группах, которые занимаются в спорткомплексе.

Посетитель (код посетителя, код группы, Ф.И.О.). Объект содержит информацию обо всех посетителях, которые подразделены на группы.

День недели (код дня, день недели). Объект хранит все дни недели, в которые работает спорткомплекс.

Время (код времени, время). Объект хранит информацию о времени начала и окончания занятий.

 

3.2 Определение логической структуры реляционной базы данных (ERD-модель)

 

Для системы спорткомплекса были выделены следующие сущности: Помещение, Тренер, Группа, Посетитель, Расписание, День и время, День проведения занятий и Время проведения занятий. Рассмотрим наглядно взаимодействие этих сущностей. Для этого построим ERD-модель данных (Рисунок 1).

Рисунок 1 ERD-модель

 

Связи между сущностями:

Сущность группа связана (М:М) с посетителями, один посетитель может находиться в нескольких группах.

Сущность группа связана (1:М) с расписанием значит для определенной группы может быть сформировано расписание с разными тренерами, помещениями и в разные дни недели и время.

Сущность тренер связана (1:М) с расписанием значит для определенного тренера может быть сформировано расписание с разными группами, помещениями, днями недели и временем.

Сущность помещение связана (1:М) с расписанием значит, в определенном помещении могут заниматься множество групп с различными тренерами, и в разные дни недели и время.

Сущности день проведения занятий и время проведения занятий связаны (1:M) c сущностью день и время, каждый рабочий день недели содержит все промежутки времени начала и окончания занятий.

Сущность день и время связано (1:М) с расписанием, расписание содержит разные дни недели и разное время занятий проводимых в спорткомплексе для всех подразделений.

Сущность группа связана (1:М) с сущностью вид спортивного занятия, группа занимается определенным видом спорта.

Анализируя каждую сущность и связи между ними, создадим необходимые таблицы базы данных (Таблица 1).

 

Таблица 1 Таблицы базы данных

ТаблицаОписаниеИмя поляТип и длинаОписание

Auditorium

ПомещенияId_auditoriumAutoincrementКлючевое полеNameVarchar (10)Названиеtype_occupationVarchar (15)Вид занятийFloorInt (5)ЭтажCapacityInt(5)Вместимость

Group_off_student

ГруппыId_groupAutoincrementКлючевое полеNameVarchar (10)НазваниеId_sportsInt(11)Код видаМax_kolInt(5)Количество

 

 

Teacher

 

 

ТренерыId_teacherAutoincrementКлючевое полеNameVarchar (15)ИмяSurnameVarchar (15)ФамилияPatronymic_nameVarchar (15)ОтчествоAddressVarchar (30)АдресTelephoneInt (15)ТелефонAgeVarchar (10)ВозрастVid sportaVarchar (15)Вид занятий

 

Student

 

ПосетителиId_studentAutoincrementКлючевое полеId_groupInt (11)Id группыNameVarchar (15)ИмяSurnameVarchar (15)ФамилияPatronymic_nameVarchar (15)Отчество

 

Raspisanie

 

РасписаниеId_raspisanieAutoincrementКлючевое полеId_timeweekdayInt (11)Id дата и времяId_auditoriumInt (11)Id помещенияId_teacherInt (11)Id тренераId_groupInt (11)Id группыWeekdayДни неделиId_weekdayAutoincrementКлючевое полеWeekdayVarchar (11)День неделиTimeВремяId_timeAutoincrementКлючевое полеtimeVarchar (20)Время

Time_off_weekday

Время дня неделиId_timeweekdayAutoincrementКлючевое полеId_weekdayInt (11)Id дня неделиId_timeInt (11)Id времениSportsВиды спораId_sportsAutoincrementКлючевое полеSportsVarchar (20)Вид занятия

 

4. Алгоритмы решения задачи

 

4.1 Обобщенный алгоритм решения задачи и его декомпозиция на модули

 

Connect.php модуль соединения с БД.

Find.php модуль осуществляющий поиск данных.

Index.php модуль включающий в себя основной интерфейс и вызов остальных модулей и функций.

Function.php модуль содержащий следующие функции:

  1. Данные о тренере (номер тренера, Ф.И.О., адрес, телефон, возраст);
  2. Function rasp_trener выводит расписание для тренера;
  3. Function rasp_group выводит расписание для группы;
  4. Function add_raspisanie добавляет расписание для любого из подразделений, в зависимости от параметров;
  5. Function edit редактирует расписание для любого из подразделений;
  6. Function sw_time выводит таблицу учета свободного времени;
  7. Function spisok формирует поле со списком для каждого подразделения.

View_info.php модуль формирующий отчеты и формы для необходимого подразделения.

 

4.2 Классификация и реализация используемых запросов

 

При написании курсовой работы были использованы следующие классы SQL запросов:

  1. запросы на создание таблиц БД;
  2. запросы на выборку данных со всевозможными условиями;
  3. запросы на редактирования записей в таблицах;
  4. запросы на удаление записей из таблиц;
  5. запросы на добавление записей в таблицы.

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

Запросы на создание таблиц БД.

SQL запрос на создание таблицы time (Время).

CREATE TABLE `time` (`id_time` INT(11) NOT NULL AUTO_INCREMENT,`time` VARCHAR(20) NOT NULL, PRIMARY KEY (`id_time`));

SQL запрос на создание таблицы weekday (День недели).

CREATE TABLE `weekday` (`id_weekday` INT(11) NOT NULL AUTO_INCREMENT,`weekday` VARCHAR(11) NOT NULL, PRIMARY KEY (`id_weekday`));

SQL запрос на создание таблицы time_off_weekday (Время дня недели).

CREATE TABLE `time_off_weekday` (`id_timeweekday` INT(11) NOT NULL AUTO_INCREMENT,`id_time` INT(11) NOT NULL,`id_weekday` INT(11) NOT NULL, PRIMARY KEY (`id_timeweekday`));

SQL запрос на создание таблицы auditorium (Помещения).

CREATE TABLE `auditorium` (`id_auditorium` INT(11) NOT NULL AUTO_INCREMENT,`number_auditorium` VARCHAR(10) NOT NULL,`type_occupation` VARCHAR(15) NOT NULL,`floor` V