База данных "Деканат"
Курсовая работа, 03 Мая 2013, автор: пользователь скрыл имя
Краткое описание
1. Исходная постановка задачи
Пусть требуется создать программную систему, предназначенную для работника деканата. Такая система должна обеспечивать хранение сведений о группах и студентах, а также о результатах текущей сессии. Таким образом, для каждого студента должны храниться такие данные, как фамилия, имя отчество студента, номер его зачетной книжки, адрес постоянной прописки и адрес, по которому студент проживает, получает или нет стипендию, а также оценки, полученные в текущей сессии, и отметки о сданных зачетах. Сведения о группе – это номер группы, факультет, кафедра, специальность, к которым она относится, год формирования группы.
Вложенные файлы: 1 файл
course.doc
— 4.89 Мб (Скачать файл)HAVING (((Сдача_экзамена.Оценка_по_экзамену)=5));
Результат запроса.
Номер зачетки |
Count-Оценка_по_экзамену1 |
111111 |
3 |
444444 |
1 |
Запрос Для формы предмет
Используется как источник данных для формы “Предмет”. Содержит таблицу “Сдача экзамена” и Запрос ”Сколько двоек по предмету”.
Формулировка запроса. Вывести названия предметов, количество двоек и средний балл по каждому из них.
SQL-код запроса.
SELECT Сдача_экзамена.Название_предмета,
Avg(Сдача_экзамена.Оценка_по_экзамену)
AS [Avg-Оценка_по_экзамену], [Сколько двоек
по предмету].[Count-Оценка_по_экзамену1]
FROM Сдача_экзамена INNER JOIN [Сколько
двоек по предмету] ON Сдача_экзамена.Название_предмета
= [Сколько двоек по предмету].Название_предмета
GROUP BY Сдача_экзамена.Название_предмета,
[Сколько двоек по предмету].[Count-Оценка_по_экзамену1];
Результат запроса.
Название |
Avg-Оценка_по_экзамену |
Count-Оценка_по_экзамену1 |
Базы данных |
2 |
2 |
Математика |
2 |
2 |
Русский язык |
3,25 |
2 |
Физика |
3 |
3 |
Физкультура |
3,33333333333333 |
3 |
Запрос Сколько двоек по предмету
Вспомогательный запрос для запроса “Для формы предмет”. Содержит таблицу “Сдача_экзамена”
Формулировка запроса. Вывести названия предметов и количество двоек по каждому из них.
SQL-код запроса.
SELECT Сдача_экзамена.Название_предмета,
Count(Сдача_экзамена.Оценка_по_экзамену)
AS [Count-Оценка_по_экзамену1]
FROM Сдача_экзамена
GROUP BY Сдача_экзамена.Название_предмета,
Сдача_экзамена.Оценка_по_экзамену
HAVING (((Сдача_экзамена.Оценка_по_экзамену)=2))
ORDER BY Count(Сдача_экзамена.Оценка_по_экзамену)
DESC;
Результат запроса.
Название |
Count-Оценка_по_экзамену1 |
Физкультура |
3 |
Физика |
3 |
Русский язык |
2 |
Математика |
2 |
Базы данных |
2 |
Запрос _Количество студентов без стипендии
Используется для вспомогательный формы “_Количество студентов без стипендии” формы “Студент”. Содержит запрос “_Студенты без стипендии”
Формулировка запроса. Вывести количество студентов, не получающих стипендии.
SQL-код запроса.
SELECT Count([__Студенты без стипендии].ФИО) AS [Count-ФИО]
FROM [__Студенты без стипендии];
Результат запроса.
Count-ФИО |
4 |
Запрос _Студенты без стипендии
Вспомогательный запрос для запроса “_Количество студентов без стипендии”. Содержит запрос “Для формы студент”
Формулировка запроса. Вывести ФИО студентов, не получающих стипендию.
SQL-код запроса.
SELECT [Для формы студент].ФИО, [Для формы студент].Двойки, [Для формы студент].Тройки, [Для формы студент].Иногородний
FROM [Для формы студент]
WHERE ((([Для формы студент].Двойки) Is Null) AND (([Для формы студент].Тройки)>1) AND (([Для формы студент].Иногородний)<>0)) OR ((([Для формы студент].Двойки) Is Null) AND (([Для формы студент].Тройки)>=1) AND (([Для формы студент].Иногородний)=0)) OR ((([Для формы студент].Двойки)>0));
Результат запроса.
ФИО |
Двойки |
Тройки |
Иногородний |
Сергеев М. Н. |
3 |
Нет | |
Петров А. К. |
1 |
Да | |
Асин А. Ю. |
4 |
Да | |
Никифоров Б. Б. |
4 |
Нет |
Запрос _Количество студентов с обычной стипендией
Используется для вспомогательный формы “_Количество студентов с обычной стипендией” формы “Студент”. Содержит запрос “_Студенты с обычной стипендией”
Формулировка запроса. Вывести количество студентов, с обычной стипендией.
SQL-код запроса.
SELECT Count([__Студенты с обычной стипендией].ФИО) AS [Count-ФИО]
FROM [__Студенты с обычной стипендией];
Результат запроса.
Count-ФИО |
0 |
Запрос _Студенты с обычной стипендией
Вспомогательный запрос для запроса “_Количество студентов без c обычной стипендией”. Содержит запрос “Для формы студент”
Формулировка запроса. Вывести ФИО студентов, получающих обычную стипендию.
SQL-код запроса.
SELECT [Для формы студент].ФИО, [Для формы студент].Двойки, [Для формы студент].Тройки, [Для формы студент].Иногородний, [Для формы студент].Четверки
FROM [Для формы студент]
WHERE ((([Для формы студент].Двойки) Is Null) AND (([Для формы студент].Тройки)=1) AND (([Для формы студент].Иногородний)<>0)) OR ((([Для формы студент].Двойки) Is Null) AND (([Для формы студент].Тройки) Is Null) AND (([Для формы студент].Иногородний)<>0) AND (([Для формы студент].Четверки)>2)) OR ((([Для формы студент].Двойки) Is Null) AND (([Для формы студент].Тройки) Is Null) AND (([Для формы студент].Иногородний)=0) AND (([Для формы студент].Четверки)>2));
Результат запроса. Пусто, так как нет студентов, получающих обычную стипендию.
Запрос _Количество студентов с 50%-ым повышением
Используется для вспомогательный формы “_Количество студентов с 50%-ым повышением” формы “Студент”. Содержит запрос “_Студенты с 50%-ым повышением”
Формулировка запроса. Вывести количество студентов, получающих стипендию с 50%-ой надбавкой.
SQL-код запроса.
SELECT Count([__Студенты с 50%-ным повышением].ФИО) AS [Count-ФИО]
FROM [__Студенты с 50%-ным повышением];
Результат запроса.
Count-ФИО |
1 |
Запрос _Студенты с 50%-ым повышением
Вспомогательный запрос для запроса “_Количество студентов c 50%-ым повышением”. Содержит запрос “Для формы студент”
Формулировка запроса. Вывести ФИО студентов, получающих стипендию с 50%-ой надбавкой.
SQL-код запроса.
SELECT [Для формы студент].ФИО, [Для формы студент].Двойки, [Для формы студент].Тройки, [Для формы студент].Четверки
FROM [Для формы студент]
WHERE ((([Для формы студент].Двойки) Is Null) AND (([Для формы студент].Тройки) Is Null) AND (([Для формы студент].Четверки)<=2 And ([Для формы студент].Четверки)>0));
Результат запроса.
ФИО |
Двойки |
Тройки |
Четверки |
Юрьев С. С. |
1 |
Запрос _Количество студентов со 100%-ым повышением
Используется для вспомогательный формы “_Количество студентов со 100%-ым повышением” формы “Студент”. Содержит запрос “_Студенты со 100%-ым повышением”
Формулировка запроса. Вывести количество студентов, получающих стипендию со 100%-ой надбавкой.
SQL-код запроса.
SELECT Count([__Студенты с 100%-ным повышением].ФИО) AS [Count-ФИО]
FROM [__Студенты с 100%-ным повышением];
Результат запроса.
Count-ФИО |
1 |
Запрос _Студенты со 100%-ым повышением
Вспомогательный запрос для запроса “_Количество студентов cо 100%-ым повышением”. Содержит запрос “Для формы студент”
Формулировка запроса. Вывести ФИО студентов, получающих стипендию со 100%-ой надбавкой.
SQL-код запроса.
SELECT [Для формы студент].ФИО, [Для формы студент].Двойки, [Для формы студент].Тройки, [Для формы студент].Четверки, [Для формы студент].Пятерки
FROM [Для формы студент]
WHERE ((([Для формы студент].Двойки) Is Null) AND (([Для формы студент].Тройки) Is Null) AND (([Для формы студент].Четверки) Is Null) AND (([Для формы студент].Пятерки)>0));
Результат запроса.
ФИО |
Двойки |
Тройки |
Четверки |
Пятерки |
Иванов А. Е. |
3 |
Запрос Для отчета количество студентов
Используется для отчета “Количество студентов”. Содержит таблицы “Студент” и “Группа”.
Формулировка запроса. Вывести ФИО студента, номер группы, в которой он учится и факультет, к которому относится группа.
SQL-код запроса.
SELECT Студент.ФИО, Группа.Номер_группы, Группа.Факультет
FROM Группа INNER JOIN Студент ON Группа.Номер_группы = Студент.Номер_группы
GROUP BY Студент.ФИО, Группа.Номер_группы, Группа.Факультет;
Результат запроса.
ФИО |
Номер группы |
Факультет |
Асин А. Ю. |
3300 |
Программирование |
вася |
1100 |
Литературный |
Иванов А. Е. |
1100 |
Литературный |
Никифоров Б. Б. |
3300 |
Программирование |
Петров А. К. |
2200 |
Литературный |
Сергеев М. Н. |
1100 |
Литературный |
Юрьев С. С. |
2200 |
Литературный |
Запрос КоличествоСтудентовСРазнойСтипендией
Используется для отчета “КоличествоСтудентовСРазнойСтипендией”.
Содержит запросы “_Количество студентов
без стипендии”, “_Количество студентов
с обычной стипендией”, “_Количество
студентов с 50%-ым повышением”, “_Количество
студентов со 100%-ым повышением”.
Формулировка запроса. Вывести количество студентов, не получающих стипендию, получающих обычную стипендию, с 50% и 100%-ыми надбавками.
SQL-код запроса.
SELECT [__Количество студентов без стипендии].[Count-ФИО], [__Количество студентов с 100%-ым повышением].[Count-ФИО], [__Количество студентов с 50%-ым повышением].[Count-ФИО], [__Количество студентов с обычной стипендией].[Count-ФИО]
FROM [__Количество студентов без стипендии], [__Количество студентов с 100%-ым повышением], [__Количество студентов с 50%-ым повышением], [__Количество студентов с обычной стипендией];
Результат запроса.
__Количество студентов без стипендии.Count-ФИО |
__Количество студентов с 100%-ым повышением.Count-ФИО |
__Количество студентов с 50%-ым повышением.Count-ФИО |
__Количество студентов с обычной стипендией.Count-ФИО |
4 |
1 |
1 |
0 |
Запрос Для отчета : Приказ на отчисление
Используется для отчета “Приказ на отчисление”. Содержит запрос “Для формы студент”.
Формулировка запроса. Вывести ФИО студентов, которые получили больше 2-х двоек по экзамену, а также вывести количество не сданных экзаменов.
SQL-код запроса.
SELECT [Для формы студент].ФИО, [Для формы студент].Двойки
FROM [Для формы студент]
WHERE ((([Для формы студент].Двойки)>2));
Результат запроса.
ФИО |
Двойки |
Сергеев М. Н. |
3 |
Асин А. Ю. |
4 |
Никифоров Б. Б. |
4 |
Запрос для отчета : Студенты, получающие стипендию
Используется для отчета “Студенты, получающие стипендию”. Содержит таблицы “Студент”, “Группа” и “Сдача_Экзамена”, а также запрос “_Сколько оценок у студента”.
Формулировка запроса. Вывести номер зачетки и ФИО студентов, получающих стипендию, с указанием номера их группы, факультета. Также вывести оценки по экзаменам, указывая названия предметов.
SQL-код запроса.
SELECT Студент.Номер_зачетки,
Студент.ФИО, Группа.Факультет, Студент.Номер_группы,
Сдача_экзамена.Название_предмета, Сдача_экзамена.Оценка_по_экзамену
FROM (Группа INNER JOIN (Студент INNER JOIN [_Сколько оценок у студента] ON Студент.Номер_зачетки = [_Сколько оценок у студента].Номер_зачетки) ON Группа.Номер_группы = Студент.Номер_группы) INNER JOIN Сдача_экзамена ON Студент.Номер_зачетки = Сдача_экзамена.Номер_зачетки
WHERE ((([_Сколько оценок у студента].[_Сколько
двоек у студента].[Count-Оценка_по_экзамену1])
Is Null) AND (([_Сколько оценок у студента].[_Сколько
троек у студента].[Count-Оценка_по_экзамену1])
Is Null) AND ((Студент.Иногородний)=0)) OR ((([_Сколько
оценок у студента].[_Сколько двоек у студента].[Count-Оценка_по_экзамену1])
Is Null) AND (([_Сколько оценок у студента].[_Сколько
троек у студента].[Count-Оценка_по_экзамену1])=1)
AND ((Студент.Иногородний)<>0)) OR ((([_Сколько
оценок у студента].[_Сколько двоек у студента].[Count-Оценка_по_экзамену1])
Is Null) AND (([_Сколько оценок у студента].[_Сколько
троек у студента].[Count-Оценка_по_экзамену1])
Is Null) AND ((Студент.Иногородний)<>0));
Результат запроса.
Номер зачетки |
ФИО |
Факультет |
Группа |
Название |
Оценка |
111111 |
Иванов А. Е. |
Литературный |
1100 |
Русский язык |
5 |
111111 |
Иванов А. Е. |
Литературный |
1100 |
Физика |
5 |
111111 |
Иванов А. Е. |
Литературный |
1100 |
Физкультура |
5 |
444444 |
Юрьев С. С. |
Литературный |
2200 |
Русский язык |
4 |
444444 |
Юрьев С. С. |
Литературный |
2200 |
Физкультура |
5 |