Запрос 8. Спортсмены из команды по заданному виду спорта
SELECT Komanda.Nazvanie AS Komanda, Sportsmen.FIO AS Sportsmen
FROM (VidSporta INNER JOIN Komanda ON VidSporta.ID_Sport=Komanda.ID_Sport) INNER JOIN Sportsmen ON Komanda.ID_Komanda=Sportsmen.ID_Komanda
WHERE (((VidSporta.Nazvanie)=[Введитевидспорта]));
Реализация запросов группы 5)
Запрос 9. Вывести количество игроков, занимающихся каждым видом спорта
SELECT VidSporta.ID_Sport, VidSporta.Nazvanie, Count(Sportsmen.ID_Sportsmen) AS [Kol_vo igrokov]
FROM VidSporta INNER JOIN Sportsmen ON VidSporta.ID_Sport=Sportsmen.ID_Sport
GROUP BY VidSporta.ID_Sport, VidSporta.Nazvanie;
Запрос 10. Сколько спортсменов тренирует каждый тренер
SELECT Trener.ID_Trener, Trener.FIO, Count(Sportsmen.ID_Sportsmen) AS [Kol_vo sportsmenov]
FROM Trener INNER JOIN Sportsmen ON Trener.ID_Trener=Sportsmen.ID_Trener
GROUP BY Trener.ID_Trener, Trener.FIO;
Реализация запросов группы 6)
Запрос 11. Вывести таблицу «Соревнования», сортируя по полю «Дата проведения » по возрастанию
SELECTALL*
FROM Sorevnovania
ORDER BY DataProveden;
Запрос 12. Вывести таблицу «Спортсмен-награда» с сортировкой по убыванию по полю «Ид_спортсмен»
SELECT ALL *
FROM SportsNagrada
ORDER BY ID_Sportsmen DESC;
Реализация запросов группы 7)
Запрос 13. Количество золотых медалей, выигранных командой
SELECT count(*) AS [количество золотых медалей]
FROM Komanda
WHERE ID_Komanda in (Select ID_Komanda from Nagrada where VidNagradi='Медальзолотая');
Запрос 14. Спортсмены, которые получили введенную награду
SELECT FIO, Pol, SportRazr
FROM Sportsmen
WHERE ID_Komanda in
(Select ID_Komanda
from Komanda
where ID_Komanda in
(Select ID_Komanda
from Nagrada
where (((Nagrada.VidNagradi)=[Введитевиднаграды])) ))
or ID_Sportsmen in
(Select ID_Sportsmen
from SportsNagrada
where ID_Nagrada in
(Select ID_Nagrada
from Nagrada
where (((Nagrada.VidNagradi)=[Введитевиднаграды])) ));
Реализация запросов группы 8)
Запрос 15. Количество кубков, выигранных командой
SELECTCount(*) AS [количество кубков]
FROM Komanda
WHERE (((Komanda.ID_Komanda) In (Select ID_Komanda from Nagrada where VidNagradi='Кубок')));
Запрос 16. Спортсмены, которые выступают не за свою страну
SELECT Sportsmen.ID_Sportsmen, Sportsmen.FIO, Sportsmen.Strana
FROM Komanda INNER JOIN Sportsmen ON Komanda.ID_Komanda=Sportsmen.ID_Komanda
WHERE (((Sportsmen.Strana)<>Komanda.Strana));
Реализация запросов группы 10)
Запрос 17. Дата проведения последнего соревнования заданного масштаба
SELECT MasshtabSorevn, DataProveden, MestoProveden
FROM Sorevnovania
WHERE ((MasshtabSorevn)=[Введите масштаб соревнования])
ORDER BY 2;
SELECT Last(Zapros11_1.DataProveden) AS [Последнее соревнование было]
FROMZapros11_1;
Запрос 18. У какой команды больше всего наград
SELECT Nagrada.ID_Komanda, Count(Nagrada.VidNagradi) AS [Count-VidNagradi]
FROM Nagrada
GROUP BY Nagrada.ID_Komanda
ORDER BY 2;
SELECT Last(Zapros12_1.ID_Komanda) AS [Большевсегонаградукоманды №]
FROM Zapros12_1;
На основе запросов из пунктов 5, 7 и 9 необходимо реализовать отчеты.
Отчет 1. Награды команд
В готовом виде:
Отчет 2.Составы команд
В готовом виде:
Отчет 3.Каких спортсменов тренирует каждый тренер
3 ГРУППЫ ПОЛЬЗОВАТЕЛЕЙ
С разработанной базой данных может работать 3 группы пользователей:
1. Администратор – разрешены все действия, в том числе ввод и редактирование таблиц.
2. Менеджер – может работать со всеми данными, но не может добавлять записи в таблицы.
3. Пользователь – может только просматривать запроси и отчеты
Подробнее о группах пользователей и их правах можно узнать из диаграммы прецедентов в приложении 1.
4 ИНТЕРФЕЙС БАЗЫ ДАННЫХ
Интерфейс реализован в среде Microsoft Access. Программа имеет многооконный интерфейс. Для каждого окна реализована форма.
Первоначально загружается форма, которая запрашивает имя и пароль пользователя:
В БД есть таблица, в которой хранятся группы пользователей и пароли для входа в систему:
После входа в систему загружается главная форма. Она связана с конкретными таблицами. Права пользователей разделены за счет видимости некоторых кнопок, выполняющих те или иные действия.
Болем подробно интерфейс программы для каждого пользователя рассмотрен в следующем разделе.
5 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
Чтобы войти в систему в режиме администратора необходимо ввести имя «admin»и пароль «as», в режиме менеджера – «user1», «men», в режиме пользователя – «user2», «us».
Далее при нажатии на кнопку проверяется, правильные ли имя и пароль введены. Если имя и пароль введены верно, то определяется статус пользователя. Затем открывается главная форма.
6 ОПИСАНИЕ КОНТРОЛЬНОГО ПРИМЕРА
Для проверки правильности работы программы нужно внести данные в таблицы, а затем поочередно выполнить все запросы и все отчеты. Нужно проверить, что результаты запросов и отчетов соответствуют введенным данным.
Для таблиц созданы формы для удобства добавления нового элемента
7 СООБЩЕНИЯ ПРОГРАММЫ, ПРИЧИНЫ, ИХ ВЫЗЫВАЮЩИЕ, И РЕАКЦИЯ ПОЛЬЗОВАТЕЛЯ НА СООБЩЕНИЯ
Могут возникать следующие сообщения системы: «Неверное имя!»
Причина – неверно указано имя пользователя, такого имени нет в таблице пользователей. Нужно внести правильное имя.
«Неверный пароль!»
Причина – имя пользователя указано правильно, но неверно указан пароль пользователя. Нужно внести правильный пароль.
СПИСОК ЛИТЕРАТУРЫ
1. Методические указания к курсовому проектированию по дисциплине “Организация баз данных и баз знаний” ля студентов специальности 7.080403/ Сост. С.Л. Зиноватная. – Одесса; ОНПУ, 2007. – ХХ с.
2. Конспект лекций по дисциплине “Организация баз данных и баз знаний”.
3. Основы современных баз данных. – Кузнецов С.Д. - Центр информационных технологий.