Курсовая управление данными. 4207_Фатыхова (1). Курсовая работа по дисциплине Управление данными на тему Учет заболеваемости и посещаемости в детском воспитательном учреждении
Скачать 2.08 Mb.
|
Даталогическая модель. |
Номер задачи | Название задачи | Номер запроса | Вербальное (словесное) описание запроса | Исходные данные необходимые для выполнения запроса | Содержание отчета, результат выполнения запроса (список столбцов, атрибутов) |
1 | Сформировать список пропусков по группам и воспитанникам | 1 | Высчитать количество пропусков по группам | Номер группы, Месяц, Продолжительность болезни | «Номер группы», «Месяц», «Количество пропусков» |
2 | Высчитать количество пропусков по воспитанникам | Номер полиса, Месяц | «Номер полиса», «Месяц», «Количество пропусков» | ||
2 | Сформировать список заболеваний по группам | 3 | Выявить какими болезнями болели в каждой группе | Номер группы, Месяц, Код болезни, Название болезни | «Номер группы», «Месяц», «Код болезни», «Название болезней» |
3 | Сформирование пропуски по причинам и из-за болезни по воспитанникам и группам | 4 | Выявить пропуски без причины по воспитанникам | Номер полиса, Месяц, Код болезни | «Номер полиса», «Месяц», «Код болезни», «Кол-во пропусков без причины» |
5 | Выявить пропуски по болезни среди воспитанников | Номер полиса, Месяц, Код болезни | «Номер полиса», «Месяц», «Код болезни», «Кол-во пропусков по болезни» | ||
6 | Выявить пропуски без причины по группам | Номер группы, Месяц, Код болезни, Продолжительность болезни | «Номер группы», «Месяц», «Код болезни», «Кол-во пропусков без причины» | ||
7 | Выявить пропуски по болезни среди групп | Номер группы, Месяц, Код болезни, Продолжительность болезни | «Номер группы», «Месяц», «Код болезни», «Кол-во пропусков по болезни» |
Листинг 1. Высчитать количество пропусков по группам
SELECT Диагноз.[Номер группы], Диагноз.[Месяц], SUM(Диагноз.[Продолжительность болезни]) AS Количество_пропусков
FROM Диагноз
GROUP BY Диагноз.[Номер группы], Диагноз.[Месяц];
Листинг 2. Высчитать количество пропусков по воспитанникам
SELECT Пропуск.[Номер полиса], Диагноз.[Месяц], COUNT(Пропуск.[Номер полиса]) AS Количество_пропусков
FROM Пропуск
GROUP BY Пропуск.[Номер полиса];
Листинг 3. Выявить какими болезнями болели в каждой группе
SELECT Диагноз.[Номер группы], Диагноз.[Месяц], Диагноз.[Код болезни], Заболеваемость.[Наименование болезни] AS Названия_болезней
FROM Диагноз INNER JOIN Заболеваемость ON Диагноз.[Код болезни]=Заболеваемость.[Код болезни]
GROUP BY Диагноз.[Номер группы], Диагноз.[Месяц], Диагноз.[Код болезни], Заболеваемость.[Наименование болезни];
Листинг 4. Выявить пропуски без причины по воспитанникам
SELECT Пропуск.[Номер полиса], Диагноз.[Месяц], Пропуск.[Код болезни], COUNT(Пропуск.[Код болезни]) AS Кол_во_пропусков_без_причины
FROM Пропуск
WHERE Пропуск.[Код болезни]='000'
GROUP BY Пропуск.[Номер полиса], Пропуск.[Код болезни]; Листинг 5. Выявить пропуски по болезни среди воспитанников
SELECT Пропуск.[Номер полиса], Диагноз.[Месяц], Пропуск.[Код болезни], COUNT(Пропуск.[Код болезни]) AS Кол_во_пропусков_по_болезни
FROM Пропуск
WHERE Пропуск.[Код болезни]<>'000'
GROUP BY Пропуск.[Номер полиса], Пропуск.[Код болезни];
Листинг 6. Выявить пропуски без причины по группам
SELECT Диагноз.[Номер группы], Диагноз.[Месяц], Диагноз.[Код болезни], SUM(Диагноз.[Продолжительность болезни]) AS Кол_во_пропусков_без_причины
FROM Диагноз
WHERE Диагноз.[Код болезни]='000'
GROUP BY Диагноз.[Номер группы], Диагноз.[Код болезни], Диагноз.[Месяц];
Листинг 7. Выявить пропуски по болезни среди групп
SELECT Диагноз.[Номер группы], Диагноз.[Месяц], Диагноз.[Код болезни], SUM(Диагноз.[Продолжительность болезни]) AS Кол_во_пропусков_по_болезни
FROM Диагноз
WHERE Диагноз.[Код болезни]<>'000'
GROUP BY Диагноз.[Номер группы], Диагноз.[Код болезни], Диагноз.[Месяц];
Результаты запросов представлены в приложении 3.