CHECK (отделение IN («спортивная гимнастика»,» лёгкая атлетика»,» волейбол»)));
CREATE TABLE ПОЧЕТНЫЕ ЗВАНИЯ
(Код_званияINTEGER PRIMARY KEY,
звание TEXT(30)
CHECK (звание IN («Заслуженный тренер России»,» Почётный работник общего образования»,» Отличник физической культуры и спорта РФ»,» Мастер спорта международного класса»,» Мастер спорта РФ»,» Знак «80-лет Министерству по физической культуре, спорту и туризму Свердловской области»)));
CREATE TABLE ДОЛЖНОСТИ
(код_должINTEGER PRIMARY KEY,
должность TEXT(15)
CHECK (должность IN («тренер», «методист», «директор»)));
CREATE TABLE ГОРОДА
(код_городаINTEGER PRIMARY KEY,
города TEXT(20)
CHECK (города IN («Алапаевск», «Екатеринбург», «Челябинск», «Нижний Тагил»)));
CREATE TABLE УРОВЕНЬ СОРЕВНОВАНИЙ
(код_урINTEGER PRIMARY KEY,
ур_сор TEXT(20)
CHECK (ур_сор IN («международные», «всероссийские», «зональные», «областные», «районные», «городские»)));
CREATE TABLE РАЗРЯД
(код_раздINTEGER PRIMARY KEY,
разряд TEXT(20)
CHECK (разряд IN («первый юношеский», «второй юношеский», «третий юношеский», «первый взрослый», «второй взрослый», «третий взрослый», «четвертый взрослый», «пятый взрослый», «кандидат в мастера спорта», «мастер спорта России», «мастер спорта России международного класса»)));
CREATE TABLE УРОВЕНЬ ЗДОРОВЬЯ
(код_ур_зINTEGER PRIMARY KEY,
Ур_здор TEXT
CHECK (группа IN («низкий», «ниже среднего», «средний», «выше среднего», «высокий»)));
CREATE TABLE КАТЕГОРИИ
(код_катINTEGER PRIMARY KEY,
категория CHAR(10)
CHECK (группа IN («первая», «вторая», «высшая»)));
CREATE TABLE ПРОГРАММА СОРЕВНОВАНИЙ
(код_прогр_сор INTEGER PRIMARY KEY,
прогр_сор TEXT
CHECK (прогр_сор IN («произвольная», «общая»);
ОБРАЗОВАНИЕ СОТРУДНИКОВ (таб_ном, код_образ) [список сотрудников] [образование];
CREATE TABLE ОБРАЗОВАНИЕ СОТРУДНИКОВ
(таб_ном INTEGER
код_образ INTEGER)
PRIMARY KEY (таб_ном, код_образ),
FOREIN KEY (таб_ном) REFERENCES СПИСОК СОТРУДНИКОВ
ФЗ: (город, ур_сор, прогр_сор, дата_сор)ранг, (город, ур_сор, прогр_сор, дата_сор)фин_сор. Но (город, ур_сор, прогр_сор, дата_сор) - возможный ключ. Значит все ФЗ в таблице сводятся к полной ФЗ от возможного ключа. Т.о. таблица СОРЕВНОВАНИЯ находится в НФБК.
ФЗ: (Ф.И.О._уч, разряд, дата_разр) Ф.И.О._сот, (Ф.И.О._уч, разряд, дата_разр) ном_прик. Но (Ф.И.О._уч, разряд, дата_разр) - возможный ключ. Значит все ФЗ в таблице сводятся к полной ФЗ от возможного ключа. Т.о. таблица СПОРТСМЕНЫ - РАЗРЯДНИКИ находится в НФБК.
3. Таблицы с составными PK.
ЛУЧШИЕ УЧАЩИЕСЯ (ном_уч, год_л_уч, лучший_уч) [список учащихся];
ФЗ: (ном_уч, год_л_уч) лучший учащийся.
(ном_уч, год_л_уч) - составной ключ. Таблица находится в НФБК.
ДОЛЖНОСТИ СОТРУДНИКОВ (Ф.И.О._сотдолжность, дата_зач_должн) [список сотрудников] [должности];
ФЗ: (Ф.И.О._сот, должность) дата_зач_должн.
Таблица находится в НФБК.
Схема данных
2.4 Описание реализации
2.4.1 Обоснование выбора СУБД
Microsoft Access 2003 представляет собой СУБД которая предназначена для создания настольных приложений и приложений клиент / сервер, работающих под управлением Windows 2000 и XP.
1. Access предоставляет разработчикам средства, необходимые для создания развитых сложных баз данных, легко интегрирующихся со структурой данных предприятия, обеспечивая при этом прямую и обратную совместимость с существующими и новыми решениями. Access 2003 предоставляет средства для создания решений, интегрирующих и использующих преимущества Internet
2. Способы анализа данных пользователями с помощью динамических сводных таблиц и сводных диаграмм,
3. Страницы доступа к данным, позволяющие пользователям распространять приложения корпоративных баз данных в Internet.
4. Система поддерживает все средства для создания, введения и защиты от несанкционированного доступа к данным
5. Система позволяет импортировать и экспортировать файлы многих известных форматов
6. Одна из важных возможностей access - создание запросов
Таким образом, средств Access 2003 достаточно для реализации моего проекта. Кроме того, в организации приобретение лицензии другой СУБД в ближайшее время не планируется.
2.4.2 Описание интерфейса
Для информационная система для поддержки учебной деятельности ДЮСШ №1 г. Алапаевск был спроектирован многостраничный интерфейс в соответствии с категориями пользователей. Такой интерфейс позволяет просто переводить информационную систему в многопользовательский вариант технологии клиент-сервер.
Главная форма:
Рис. 2.1
Директор:
Автоматизированное рабочее место директора, рис 2.2
Просмотр и печать отчетов директора:
Форма для просмотра и печати директоров, рис 2.3
Методист:
Автоматизированное рабочее место методиста, рис 2.4
Отчеты методиста:
Отчеты методиста"рис 2.5
Форма «Справочники»:
Справочники, рис 2.6
Форма «Для форм учащихся»:
Для форм учащихся, рис 2.7
Форма «Для форм сотрудников»:
Для форм сотрудников, рис 2.8
Форма «Для форм соревнований»:
Для форм соревнований, рис 2.9
Тренер:
Автоматизированное рабочее место тренера, рис 2.4
Форма «Просмотр и печать отчетов тренера»:
Отчеты тренера, рис 2.10
2.4.3 Проектирование запросов
1. Запрос «аттестация тренеров запрос». Для отчета «Аттестация тренеров».
FROM Разряд INNER JOIN [Спортсмены-разрядники] ON Разряд.код_разр = [Спортсмены-разрядники]. код_разр;
8,9,10. Запросы «кол групп волейбол», «кол групп легкой атлетики», «кол групп спорт гимнастики» для отчета «Справка о МОУ».
SELECT Count([Список групп]. код_группы) AS [Count-код_группы]
FROM [Список групп]
WHERE ((([Список групп]. код_отделения)=2));
11,12,13,14,15. Запросы «кол засл тренер россии», «кол знак 80 л мин физ к», «кол мастер спорта», «кол отлич физ культ и спорта рф», «кол почет работ общего образ» для отчета «Справка о МОУ часть3».
SELECT Count([Заслуженные работники]. таб_ном) AS [Count-таб_ном]
FROM [Заслуженные работники]
WHERE ((([Заслуженные работники]. код_звания)=2));
16,17,18,19,20,21. Запросы «кол малоимущих семей», «кол многодет семей», «кол неблагополуч семей», «кол неполных семей», «кол опекаемых детей», «кол состоят на учете в ОППН» для отчета «Справка о МОУ часть4»
SELECT Count([Семья учащегося]. ном_уч) AS [Count-ном_уч]
FROM [Семья учащегося]
WHERE ((([Семья учащегося]. код_стат)=4));
22,23,24 Запросы «кол сотр вторая кат», «кол сотр высшей кат», «кол сотр первой кат» для отчета «Справка о МОУ часть 2»
SELECT Count([Аттестация тренеров]. таб_ном) AS [Count-таб_ном]
FROM [Аттестация тренеров]
WHERE ((([Аттестация тренеров]. код_утв_кат)=1));
25,26,27,28,29. Запросы «кол сотр с высшим обр», «кол сотр с высшим физкульт образ», «кол сотр со средним образ», «кол сотр со средним спец образ», «кол сотр со средним физкульт образ» для отчета «Справка о МОУ часть 2»
SELECT Count([образование сотрудников]. таб_ном) AS [Count-таб_ном]
FROM [образование сотрудников]
WHERE ((([образование сотрудников]. код_образ)=2));
30. Запрос «кол сотр-м» для отчета «Справка о МОУ часть 2».
SELECT Count([Список сотрудников]. таб_ном) AS [Count-таб_ном]
FROM [Список сотрудников]
WHERE ((([Список сотрудников]. Пол)= «м»));
31,32,33. Запросы «кол уч волейбол»,» кол уч легкая атлетика»,» кол уч спорт гимпнастика» для отчета «Справка о МОУ».
SELECT Count([комплектование уч]. ном_уч) AS [Count-ном_уч]
FROM [Список групп] INNER JOIN [комплектование уч] ON [Список групп]. код_группы=[комплектование уч]. код_группы
WHERE ((([Список групп]. код_отделения)=2));
34,35,36,37,38. Запросы «кол уч на всеросс сор за период», «кол уч на город сор за период»,» кол уч на междунар сор за период»,» кол уч на област сор за период», «кол уч на школьн сор за период» для отчета» участие в сор за опр период»
SELECT Count([Список учащихся]. Ном_уч) AS [Count-Ном_уч]
FROM [Список учащихся] INNER JOIN (Соревнования INNER JOIN [результат выступлений на соревнованиях] ON Соревнования.код_сор = [результат выступлений на соревнованиях]. код_сор) ON [Список учащихся]. Ном_уч = [результат выступлений на соревнованиях]. ном_уч
WHERE (((Соревнования.дата_сор)>[введите начальну дату] And (Соревнования.дата_сор)<[введите конечную дату]))
GROUP BY Соревнования.код_ур
HAVING (((Соревнования.код_ур)=2));
39. Запрос «количество групп» для отчета «Справка о МОУ».
SELECT Count([Список групп]. код_группы) AS [Count-код_группы]
FROM [Список групп];
40. Запрос «количество учащихся» для отчета «Справка о МОУ».
SELECT Count([Список учащихся]. Ном_уч) AS [Count-Ном_уч]
FROM [Список учащихся];
41. Запрос «количество штатных сотрудников» «Справка о МОУ часть 2».
SELECT Count([Список сотрудников]. таб_ном) AS [Count-таб_ном]
FROM [Список сотрудников]
WHERE ((([Список сотрудников]. Штат_сотр)=Yes));
42. «лучшие учащиеся запрос» для связанной формы «лучший учащийся».
FROM [Список учащихся] INNER JOIN [Лучшие учащиеся] ON [Список учащихся]. Ном_уч = [Лучшие учащиеся]. ном_уч;
43,44,45,46. Запросы «мастер спорта», «мастер спорта международного класса», «отлич физ к и спорта рф», «почет раб общего образ» для личного пользования методиста.
SELECT [Список сотрудников]. Ф.И.О._сотр
FROM [Список сотрудников] INNER JOIN ([Почетные звания] INNER JOIN [Заслуженные работники] ON [Почетные звания]. код_звания = [Заслуженные работники]. код_звания) ON [Список сотрудников]. таб_ном = [Заслуженные работники]. таб_ном
WHERE ((([Заслуженные работники]. код_звания)=2));
47. Запрос «Показатель здоровья» для личного пользования методиста, сводной таблицы, диаграммы, отчета «показатель здоровья».
FROM [Уровень здоровья] INNER JOIN [Оздоровление учащихся] ON [Уровень здоровья]. Код_ур_з = [Оздоровление учащихся]. код_ур_з;
48. Запрос «результат выступлений на соревнованиях Запрос» для связанной формы «результат выступлений на соревнованиях»
SELECT [результат выступлений на соревнованиях]. ном_уч, [Список учащихся]. Ф.И.О._уч, [результат выступлений на соревнованиях]. код_сор, [результат выступлений на соревнованиях]. кол_бал, [результат выступлений на соревнованиях]. таб_ном, [Список сотрудников]. Ф.И.О._сотр
FROM [Список учащихся] INNER JOIN ([Список сотрудников] INNER JOIN (Соревнования INNER JOIN [результат выступлений на соревнованиях] ON Соревнования.код_сор = [результат выступлений на соревнованиях]. код_сор) ON [Список сотрудников]. таб_ном = [результат выступлений на соревнованиях]. таб_ном) ON [Список учащихся]. Ном_уч = [результат выступлений на соревнованиях]. ном_уч;
49. Запрос «сведения о количестве, принявших участие в сор» для личного пользования методиста, сводной таблицы, диаграммы, отчета «сведения о количестве принявших участие в соревнованиях».
SELECT [результат выступлений на соревнованиях]. код_сор, [результат выступлений на соревнованиях]. ном_уч, [Список учащихся]. Ф.И.О._уч, Соревнования.код_ур, [Уровень соревнований]. ур_сор, Соревнования.дата_сор
FROM [Уровень соревнований] INNER JOIN ([Список учащихся] INNER JOIN (Соревнования INNER JOIN [результат выступлений на соревнованиях] ON Соревнования.код_сор = [результат выступлений на соревнованиях]. код_сор) ON [Список учащихся]. Ном_уч = [результат выступлений на соревнованиях]. ном_уч) ON [Уровень соревнований]. код_ур = Соревнования.код_ур;
50. Запрос «сведения об учащихся образовательных учреждений» для личного пользования методиста, сводной таблицы, диаграммы, отчета «сведения об учащихся образовательных учреждений».
FROM [Уровень соревнований] INNER JOIN ([Список учащихся] INNER JOIN ([Список сотрудников] INNER JOIN (([Программы соревнований] INNER JOIN (Города INNER JOIN Соревнования ON Города.код_города = Соревнования.код_города) ON [Программы соревнований]. код_прогр_сор = Соревнования.код_прогр_сор) INNER JOIN [результат выступлений на соревнованиях] ON Соревнования.код_сор = [результат выступлений на соревнованиях]. код_сор) ON [Список сотрудников]. таб_ном = [результат выступлений на соревнованиях]. таб_ном) ON [Список учащихся]. Ном_уч = [результат выступлений на соревнованиях]. ном_уч) ON [Уровень соревнований]. код_ур = Соревнования.код_ур;
58. Запрос «участие в сор за опр период» для формы «участие в сор за опр период».
SELECT [кол уч на всеросс сор за период]. [Count-Ном_уч], [кол уч на город сор за период]. [Count-Ном_уч], [кол уч на междунар сор за период]. [Count-Ном_уч], [кол уч на област сор за период]. [Count-Ном_уч], [кол уч на школьн сор за период]. [Count-Ном_уч]
FROM [кол уч на всеросс сор за период], [кол уч на город сор за период], [кол уч на междунар сор за период], [кол уч на област сор за период], [кол уч на школьн сор за период];
59. Запрос «школы учащихся» для формы «школы учащихся».
WHERE ((([вспомог запрос]. дата_оконч)>[введите дату начала] And ([вспомог запрос]. дата_оконч)<[введитие дату конца])) OR ((([вспомог запрос]. дата_оконч) Is Null));
2.4.4 Проектирование форм для ввода, редактирования и просмотра
1. Форма «Список сотрудников» доступна для ввода, изменения и удаления данных о сотрудниках директору и методисту. Тренеру доступна только для просмотра. Разработка основана на таблице «Список сотрудников»
рис 2.11.
2. Форма «Список учащихся» доступна для ввода, изменения и удаления данных об учащихся директору и методисту. Тренеру доступна только для просмотра. Разработка основана на запросе» список учащихся запрос».
рис 2.12
3. Форма «Соревнования» доступна для ввода, изменения и удаления данных о соревнованиях директору и методисту. Тренеру доступна только для просмотра. Разработка основана на запросе» Соревнования Запрос1».
рис 2.13
4. Форма «Комплектование групп» доступна для ввода, изменения и удаления данных о комплектовании групп директору и методисту. Тренеру доступна только для просмотра. Разработка основана на запросе «Комплектование групп».
рис 2.14
5. Связанная форма «Должности сотрудников» для формы «Список сотрудников»
рис 2.15
6. Связанная форма «Образование сотрудников» для формы «Список сотрудников»
рис 2.16
7. Связанная форма «Аттестация тренеров» для формы «Список сотрудников»
рис 2.17
8. «Должности сотрудников подчиненная форма» для формы «Должности сотрудников»
рис 2.18
9. «Образование сотрудников подчиненная форма» для формы «Образование сотрудников»
рис 2.19
10. Связанная форма «Оздоровление учащихся» для формы «Список учащихся»
рис 2.20
11. Связанная форма «Семья учащегося» для формы «Список учащихся»
рис 2.21
12. Связанная форма «Лучший учащийся» для формы «Список учащихся»
рис 2.22
13. Связанная форма «Спортсмены - разрядники» для формы «Список учащихся»
рис 2.23
14. Связанная форма «Зач-отч учащихся» для формы «Список учащихся»
рис 2.24
15. «Семья учащегося подчиненная форма» для формы «Семья учащегося»
рис 2.25
16. «Лучший учащийся подчиненная форма» для формы «Лучший учащийся»
рис 2.26
17. Подчиненная форма «Список групп» для формы «Комплектование групп»
рис 2.27
18. «Список групп подчиненная форма» для формы «Список групп»
рис 2.28
19. Подчиненная форма «Комплектование уч» для формы «Список групп подчиненная форма»
рис. 2.29
20. Связанная форма «Результаты выступлений на соревнованиях» для формы «Соревнования»
рис 2.30
21. Связанная форма «Заслуженные работники» для формы «Список сотрудников»
рис 2.31
22, 23. Формы «Показатель здоровья» и» Показатель здоровья диаграмма» для анализа данных методистом и директором о состоянии здоровья учащихся.
24, 25 Формы «сведения об учащихся образовательных учреждений» «сведения об учащихся образовательных учреждений диаграмма» для личного пользования методиста и директора.
26. Форма «Справочники» для общего пользования
рис 2.32
2.4.5 Проектирование отчетов
1. Отчет по аттестации тренеров. Просматривают и печатают все пользователи. Сгенерирован на основе запроса «Аттестация тренеров» - см. Приложение 1.
2. Отчет по качеству спортивно подготовки учащихся. Сгенерирован на основе запроса «Качество спортивной подготовки учащихся МОУ ДОД ДЮСШ №1» - см. Приложение 2.
3. Отчет о количестве учащихся, принявших участие в различных соревнованиях. Сгенерирован на основе запроса «сведения о количестве, принявших участие в сор» - см. Приложение 3.
4. Отчет «Список учащихся за определенный период». Сгенерирован на основе запроса «список учащихся за определенный период» - см. Приложение 4.
5. Отчет «Спортсмены - разрядники». Сгенерирован на основе запроса» спортсмены-разрядники запрос « - см. Приложение 5.
6. Отчет «Справка о МОУ». Сгенерирован на основе запросов» часть1», «часть2», «часть3», «часть4» - см. Приложение 6.
7. Отчет «Учет поступлений и выпуска учащихся». Сгенерирован на основе запроса» зач-отч»
Заключение
Дипломная работа представляет собой разработку ИС для муниципального образовательного учреждения дополнительного образования детей «Детско-юношеская спортивная школа №1» г. Алапаевск.
В результате проделанной работы:
- спроектирована и реализована база данных (всего 29 таблиц);
- Спроектированы и реализованы необходимые для всех категорий пользователей запросы (всего 61);
- На основе запросов разработан и реализован пользовательский интерфейс, состоящий из форм (всего 45), отчётов (всего 15) и макросов (всего 10).
Разработанная ИС обеспечит автоматизацию следующих процессов:
- учет численности учащихся;
- получение разрядов учащимися;
- участие в соревнованиях;
- процесс аттестации тренеров;
- получение званий тренеров;
- Составление отчетной информации по соревнованиям
- аттестации тренеров;
- оздоровлению учащихся;
- учету зачисления и выпуска учащихся.
В настоящее время разработка системы в основном закончена, она продемонстрирована пользователям, которые будут проводить ее тестирование.
Дальнейшее развитие проекта:
- Для защиты данных базы необходимо провести разделение пользователей на группы с присвоением каждому имени и пароля;
- Расширить атрибутику с тем, чтобы:
- сделать вычисляемым поле «лучший учащийся»;
- разработать и реализовать процесс аттестации учащихся;
- Доработать интерфейс с целью улучшить возможности удобного поиска информации;
- В случае расширения организации необходимо перенести базу данных на Microsoft SQL Server, в многопользовательский вариант с архитектурой «клиент-сервер».
Список используемой литературы
1. Дейт К. Руководство по реляционной СУБД DB2.М.: Финансы и статистика, 1988, 320 с.
2. Дейт К.Дж. Введение в систем баз данных. М.: Изд. Дом «Вильямс», 2001. 1072 с.
3. Бекаревич Ю.Б., Пушкина Н.В. Microsoft Access 2002. СПб.: БХВ-Петербург, 2003. 718 с.
4. Гринченко Н.Н., Гусев Е.В., Макаров Н.П. Проектироване баз данных СУБД Microsoft ACCESS: Учеб. Пособие. М.: Горячая линия - Телеком, 2004. 240 с.
5. Шарипова Н.Н. Теория и практика проектирования баз данных: Учеб. Пособие. Екатеринбург: Издательство Уральского университета, 2006. 380 с.