База данных "Деканат"

Автор работы: Пользователь скрыл имя, 03 Мая 2013 в 00:31, курсовая работа

Краткое описание

1. Исходная постановка задачи
Пусть требуется создать программную систему, предназначенную для работника деканата. Такая система должна обеспечивать хранение сведений о группах и студентах, а также о результатах текущей сессии. Таким образом, для каждого студента должны храниться такие данные, как фамилия, имя отчество студента, номер его зачетной книжки, адрес постоянной прописки и адрес, по которому студент проживает, получает или нет стипендию, а также оценки, полученные в текущей сессии, и отметки о сданных зачетах. Сведения о группе – это номер группы, факультет, кафедра, специальность, к которым она относится, год формирования группы.

Вложенные файлы: 1 файл

course.doc

— 4.89 Мб (Скачать файл)

 

Таблица «Сдача_экзамена»

 

Номер зачетки

Название

Оценка

111111

Русский язык

5

111111

Физика

5

111111

Физкультура

5

222222

Русский язык

2

222222

Физика

2

222222

Физкультура

2

333333

Русский язык

2

333333

Физика

4

333333

Физкультура

4

444444

Русский язык

4

444444

Физкультура

5

555555

Базы данных

2

555555

Математика

2

555555

Физика

2

555555

Физкультура

2

666666

Базы данных

2

666666

Математика

2

666666

Физика

2

666666

Физкультура

2


 

Таблица «Зачеты»

Номер зачетки

Название

Оценка

222222

Базы данных

Да

222222

Русский язык

Да

222222

Физкультура

Да

333333

Базы данных

Да

333333

Русский язык

Да

333333

Физкультура

Да

444444

Базы данных

Да

444444

Русский язык

Да

444444

Физкультура

Да

555555

Базы данных

Да

555555

Математика

Да

555555

Русский язык

Да

555555

Физика

Да

555555

Физкультура

Да

666666

Базы данных

Да

666666

Математика

Да

666666

Русский язык

Да

666666

Физика

Да

666666

Физкультура

Да


 

 

5. Схема иерархии интерфейса.

6. Описание экранных форм.

База данных содержит следующие формы:

Главная форма запускается автоматически при запуске программы. Она содержит следующие кнопки:

Кнопка “Просмотр данных студентов” открывает форму “Студент”.

Кнопка “Изменение данных студентов” открывает форму “Работа со студентами”.

Кнопка “Информация о предметах” открывает форму “Предмет”.

Кнопка “Добавление экзамена” открывает форму “Сдача экзамена”.

Кнопка “Отчеты” открывает кнопочную форму “Отчеты”.

Кнопка “Выход” закрывает главную форму.

Форма Студент (пункт меню “Просмотр данных студентов” в главной форме) выводит информацию о студентах, включающую в себя также и стипендию, которую они получают.

Источник данных – запрос “Для форму студент”.

Кнопки. Кнопки “КнопкаКАФПрименить” и “КнопкаФАКПрименить”, расположенные слева от списков вызывают макрос “ФильтрКафедры_Факультета”, который в зависимости от значения группы переключателей (“Группа”) и значений в списках производит следующие действия:

Условие отбора : [Forms]![Студент]![Группа54]=1

Применить фильтр :

[Для формы студент].[Кафедра]=[Forms]![Студент]![ПолеКафедра] And [Для формы студент].[Двойки]>0

Условие отбора : [Forms]![Студент]![Группа54]=2

Применить фильтр :

[Двойки] Is Null And ([Тройки] Is Null Or ([Иногородний]=1 And ([Тройки] Is Null Or [Тройки]=1))) And [Для формы студент].[Кафедра]=[Forms]![Студент]![ПолеКафедра]

Условие отбора : [Forms]![Студент]![Группа54]=3

Применить фильтр :

[Двойки]>2 And [Для формы студент].[Факультет]=[Forms]![Студент]![ПолеФакультет]

Кнопка “Показать все” вызывает макрос “Показать все”, в котором содержится одна макрокоманда “ПоказатьВсеЗаписи”.

Кнопка “Выход” использует стандартную процедуру обработки события закрытия формы.

Списки. Два выпадающих списка “ПолеКафедра” и “ПолеФакультет”, расположенные слева от надписей “Кафедра” и “Факультет” соответственно (Источники данных – поля Кафедра и Факультет таблицы Группы) содержат списки кафедр и факультетов соответственно.

Подчиненные формы.

Форма содержит 4 подчиненные формы :

“подчиненная форма __Количество студентов без стипендии”

“подчиненная форма __Количество студентов с 100%-ым повышением”

“подчиненная форма __Количество студентов с 50%-ым повышением”

“подчиненная форма __Количество студентов с обычной стипендией”

Форма Работа со студентом (пункт меню “Изменение данных студента” в главной форме) позволяет добавлять и удалять студента в базу данных, а также изменять его данные.

Источник данных – таблица “Студент”.

Кнопки.

Кнопка “Добавить студента” открывает форму “Добавление студента”

Кнопка “Удалить запись” использует стандартную процедуру обработки удаления данных из таблицы.

Кнопка “Выход” использует стандартную процедуру обработки события закрытия формы.

Форма Добавление студента (открывается при нажатии на кнопку “Добавить студента” в форме “Работа со студентом”) позволяет добавить студента.

Источник данных – таблица “Студент”

Кнопки.

Кнопка “Добавить” вызывает макрос “Добавление студента” который осуществляет проверку на то, что все значения были введены в соответствующие поле, и если это не было сделано, выводит сообщение об ошибке, при этом выполнение макроса приостанавливается до тех пор, пока не будут введены все значения. Например, проверка на то, что было введено значение в поле зачетки описано следующим образом:

Условие : [Forms]![Добавление студента]![Номер_зачетки] Is Null

Сообщение : необходимо ввести номер зачетки!

ОстановитьМакрос

Если все значения были введены, то выполняется запуск запроса SQL :

INSERT INTO Студент VALUES (Номер_зачетки, Номер_группы, ФИО, адрес_прож, Адрес_проп, Иногородний)

Кнопка “Выход” использует стандартную процедуру обработки события закрытия формы.

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

Источник данных – запрос “Для формы предмет”

Кнопки. Кнопка “Выход” использует стандартную процедуру обработки события закрытия формы.

Форма Сдача экзамена (пункт меню “Добавление экзамена” главной формы) позволяет добавить оценку по экзамену любому студенту.

Списки.

Выпадающий список “Номер_зачетки” (источник данных – поле Номер зачетки таблицы Студент) справа от надписи “Номер зачетки” содержит номера зачеток студентов.

Выпадающий список “Название_предмета” (источник данных – поле Название предмета таблицы Студент) справа от надписи “Название предмета” содержит названия предметов.

Выпадающий список “Оценка” содержит фиксированный набор значений : 2, 3, 4, 5.

Кнопки.

Кнопка “Добавить” вызывает макрос “ДобавлениеОценкиПоЭкзамену”, который проверяет все ли значения введены в соответствующие поля, и, если это не так, выводит соответствующие сообщения, при этом выполнение макроса приостанавливается до тех пор, пока не будут введены все значения. Если все значения введены, то выполняется запуск запроса SQL:

INSERT INTO Сдача_экзамена VALUES (Номер_зачетки, Название_предмета, оценка)

Кнопочная форма Отчеты (пункт меню “Отчеты” главной формы) позволяет выбрать нужный отчет для вывода на экран. Она содержит следующие кнопки:

Кнопка “Студент факультета, получающие стипендию” открывает отчет “Студенты, получающие стипендию”

Кнопка “Количество студентов” открывает отчет “Количество студентов”

Кнопка “Количество студентов с разной стипендией” открывает отчет “Количество СтудентовСРазнойСтипендией”

Кнопка “Записки на отчисление” открывает отчет “Приказ на отчисление”

Кнопка “Средний балл” открывает отчет “Средний балл каждого студента, группы и факультета”

Кнопка “На главную” осуществляет переход к главной форме.

7. Описание запросов.

Запрос Для формы студент

Используется как источник данных для формы “Студент”. Содержит таблицы “Студент” и “Группа” и запрос “_Сколько оценок у студента”

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

SQL-код запроса.

SELECT Студент.*, [_Сколько оценок у студента].[_Сколько двоек у студента].[Count-Оценка_по_экзамену1] AS Двойки, [_Сколько оценок у студента].[_Сколько троек у студента].[Count-Оценка_по_экзамену1] AS Тройки, [_Сколько оценок у студента].[_Сколько четверок у студента].[Count-Оценка_по_экзамену1] AS Четверки, [_Сколько оценок у студента].[_Сколько пятерок у студента].[Count-Оценка_по_экзамену1] AS Пятерки, Группа.Факультет, Группа.Кафедра

FROM Группа INNER JOIN (Студент INNER JOIN [_Сколько оценок у студента] ON Студент.Номер_зачетки = [_Сколько оценок у студента].Номер_зачетки) ON Группа.Номер_группы = Студент.Номер_группы;

Результат запроса.

Запрос _Сколько оценок у студента

Вспомогательный запрос для запроса “Для формы студент”. Содержит таблицу “Студент” и запросы “_Сколько двоек у студента”, “_Сколько троек у студента ”, “_Сколько четверок у студента”, “_Сколько пятерок у студента ”

Формулировка запроса. Вывести номера зачеток студентов, и количество их оценок.

SQL-код запроса.

SELECT Студент.Номер_зачетки, [_Сколько двоек у студента].[Count-Оценка_по_экзамену1], [_Сколько троек у студента].[Count-Оценка_по_экзамену1], [_Сколько четверок у студента].[Count-Оценка_по_экзамену1], [_Сколько пятерок у студента].[Count-Оценка_по_экзамену1]

FROM (((Студент LEFT JOIN [_Сколько двоек у студента] ON Студент.Номер_зачетки = [_Сколько двоек у студента].Номер_зачетки) LEFT JOIN [_Сколько троек у студента] ON Студент.Номер_зачетки = [_Сколько троек у студента].Номер_зачетки) LEFT JOIN [_Сколько четверок у студента] ON Студент.Номер_зачетки = [_Сколько четверок у студента].Номер_зачетки) LEFT JOIN [_Сколько пятерок у студента] ON Студент.Номер_зачетки = [_Сколько пятерок у студента].Номер_зачетки;

Результат запроса.

Номер зачетки

_Сколько двоек у студента.Count-Оценка_по_экзамену1

_Сколько троек у студента.Count-Оценка_по_экзамену1

_Сколько четверок у студента.Count-Оценка_по_экзамену1

_Сколько пятерок у студента.Count-Оценка_по_экзамену1

987

       

111111

     

3

222222

3

     

333333

1

 

2

 

444444

   

1

1

555555

4

     

666666

4

     

 

Запрос _Сколько двоек у студента

Вспомогательный запрос для запроса “_Сколько оценок у студента”. Содержит таблицу “Сдача экзамена”.

Формулировка запроса. Вывести номера зачеток студентов и количество двоек у каждого из них.

SQL-код запроса.

SELECT Сдача_экзамена.Номер_зачетки, Count(Сдача_экзамена.Оценка_по_экзамену) AS [Count-Оценка_по_экзамену1]

FROM Сдача_экзамена

GROUP BY Сдача_экзамена.Номер_зачетки, Сдача_экзамена.Оценка_по_экзамену

HAVING (((Сдача_экзамена.Оценка_по_экзамену)=2));

Результат запроса.

Номер зачетки

Count-Оценка_по_экзамену1

222222

3

333333

1

555555

4

666666

4


 

Запрос _Сколько троек у студента

Вспомогательный запрос для запроса “_Сколько оценок у студента”. Содержит таблицу “Сдача экзамена”.

Формулировка запроса. Вывести номера зачеток студентов и количество троек у каждого из них.

SQL-код запроса.

SELECT Сдача_экзамена.Номер_зачетки, Count(Сдача_экзамена.Оценка_по_экзамену) AS [Count-Оценка_по_экзамену1]

FROM Сдача_экзамена

GROUP BY Сдача_экзамена.Номер_зачетки, Сдача_экзамена.Оценка_по_экзамену

HAVING (((Сдача_экзамена.Оценка_по_экзамену)=3));

Результат запроса. Пусто, так как ни один студент не получил 3 по экзамену.

Запрос _Сколько четверок у студента

Вспомогательный запрос для запроса “_Сколько оценок у студента”. Содержит таблицу “Сдача экзамена”.

Формулировка запроса. Вывести номера зачеток студентов и количество четверок у каждого из них.

SQL-код запроса.

SELECT Сдача_экзамена.Номер_зачетки, Count(Сдача_экзамена.Оценка_по_экзамену) AS [Count-Оценка_по_экзамену1]

FROM Сдача_экзамена

GROUP BY Сдача_экзамена.Номер_зачетки, Сдача_экзамена.Оценка_по_экзамену

HAVING (((Сдача_экзамена.Оценка_по_экзамену)=4));

Результат запроса.

Номер зачетки

Count-Оценка_по_экзамену1

333333

2

444444

1


 

Запрос _Сколько пятерок у студента

Вспомогательный запрос для запроса “_Сколько оценок у студента”. Содержит таблицу “Сдача экзамена”.

Формулировка запроса. Вывести номера зачеток студентов и количество пятерок у каждого из них.

SQL-код запроса.

SELECT Сдача_экзамена.Номер_зачетки, Count(Сдача_экзамена.Оценка_по_экзамену) AS [Count-Оценка_по_экзамену1]

FROM Сдача_экзамена

GROUP BY Сдача_экзамена.Номер_зачетки, Сдача_экзамена.Оценка_по_экзамену

Информация о работе База данных "Деканат"