close

Вход

Забыли?

вход по аккаунту

?

Отчет по курсовой (сданный)

код для вставкиСкачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра Автоматизированных Систем Управления
ОТЧЁТ
по дисциплине Базы данных
лабораторные работы
Журнал успеваемости Моё не стирать - уберу сама.
Нигде не указаны среда прогр-я интерфейса
Здесь поместить логин и пароль
Запросы в отчёт скопировать из кода с пояснениями (не только с лаб.)
Представить и скрипт-файл.
- MS SQL Server 2005/2008
- Приложение для администратора: superAdmin, 123
- Приложение для секретаря: 1, 1
Факультет: АВТФ Преподаватель: Панова В.Б. Группа: АВТ-013
Студент: Зиновьев Иван
Новосибирск 2012
I. Задание
База данных должна содержать сведения о следующих объектах:
Школьник - фамилия, имя, отчество, адрес, дата рождения, класс, год поступления, сведения о родителях (фамилия, имя, отчество, адрес, степень родства), успеваемость (год, класс, предмет, оценки: четвертные, полугодовые, годовая, экзаменационная, итоговая).
Выходные документы:
1. Справка об успеваемости.
2. Гистограмма средней успеваемости по предметам и по ученикам.
Бизнес правила:
1. В школе по всем классам несколько параллелей.
2. Один предмет может изучаться в течении нескольких лет. В разных классах разные наборы предметов.
3. Ученик может оставаться на повторное обучение.
4. Экзамены сдаются в 9 и 11 классах, но не по всем предметам.
5. Итоговая оценка совпадает с годовой или вычисляется как среднее между годовой и экзаменационной (с округлением в большую сторону).
II. Табличное представление
III. Логическая модель
IV. Физическая модель (MS SQL Server 2005/2008)
V. SQL запросы выходных документов
1) Справка об успеваемости
- для одного ученика за год по всем предметам (на выбор - 1ч, 2ч, 3ч, 4ч, экзамен и т.д., в данном случае - итоговая)
SELECT s.subject as "Предмет", p.summary as "Итоговая" FROM gb_progress p INNER JOIN gb_subjects s ON (s.id_subject = p.id_subject)
WHERE id_pupil = (SELECT id_pupil FROM gb_pupils WHERE last_name = '&last_name'
AND first_name = '&first_name'
AND patronymic = '&patronymic') AND (SELECT class FROM gb_classes WHERE id_class = (SELECT id_class FROM gb_pupil_year_class WHERE id_pupil = (SELECT id_pupil FROM gb_pupils WHERE last_name = '&last_name'
AND first_name = '&first_name'
AND patronymic = '&patronymic'))) = '&class'
AND EXTRACT (YEAR FROM year) = '&year'
ORDER BY s.subject; Не переменные, а параметры
2) Гистограмма средней успеваемости
- по предметам за определенный год (на выбор - 1ч, 2ч, 3ч, 4ч, экзамен и т.д., в данном случае - итоговая)
SELECT s.subject as "Предмет", AVG (p.summary) as "Итоговая"
FROM gb_progress p INNER JOIN gb_subjects s ON (s.id_subject = p.id_subject)
WHERE EXTRACT (YEAR FROM year) = '&year'
GROUP BY s.subject
ORDER BY s.subject - по ученикам за определенный год (на выбор - 1ч, 2ч, 3ч, 4ч, экзамен и т.д., в данном случае - итоговая)
SELECT pu.last_name || ' ' || pu.first_name || ' ' || pu.patronymic as "ФИО", AVG (p.summary) as "Итоговая"
FROM gb_progress p INNER JOIN gb_pupils pu ON (pu.id_pupil = p.id_pupil)
WHERE EXTRACT (YEAR FROM year) = '&year'
GROUP BY pu.last_name || ' ' || pu.first_name || ' ' || pu.patronymic
ORDER BY pu.last_name || ' ' || pu.first_name || ' ' || pu.patronymic
VI. Названия полей таблиц
АнглийскийРусскийIdКодPupilУченикParentРодительParallel Школьная параллельSubjectПредметLast nameФамилияFirst nameИмяPatronymicОтчествоStreetУлицаHouseДомApartmentКвартираRelation degreeСтепень родстваBirthdayДень рожденияYearГодQuarterЧетвертьFirstПерваяSecondВтораяThirdТретьяFourthЧетвертаяHalfПолугодиеYearlyГодоваяExamЭкзаменационнаяSummaryИтоговаяClassКлассAdmissionПоступление
VII. Реализация системы
В программном продукте реализовано 2 вида пользователей: администратор и секретарь. Что привело к разделению системы на 2 приложения, для каждого типа пользователей соответственно.
Для реализации системы были выбраны язык программирования C#, среда разработки Visual Studio 2012, СУБД MS SQL Server.
Как сделано разделение прав? Функции пользователей:
1. Администратор (приложение GradeBookAdmin): создание, удаление и редактирование пользователей системы. Администратор всегда один в системе, в отличие от других видов пользователей. 2. Секретарь (приложение GradeBookClerk): редактирование справочников, выставление оценок, получение выходных документов.
VIII. Иерархия программных модулей
Привести вид папки/папок
Рис. Файлы приложения для секретаря
Рис. Файлы приложения для администратора
IX. Описание приложений
Приложение GradeBookAdmin (для администратора)
При запуске приложения появляется окно авторизации для входа в систему.
Рис. Окно авторизации
На главном окне отображаются данные пользователей.
Рис. Главное окно (заголовок д.б. по-русски )
По нажатии кнопки Добавить пользователя открывается соответствующее окно, приведенное ниже.
Приложение GradeBookClerk (для секретаря).
При запуске приложения появляется окно авторизации для входа в систему.
Рис. Окно авторизации
Что в файле и что в справке?
Рис. Содержимое главного меню
Рис. Главное окно
Главное окно приложение делится на 7 вкладок: Школьники, Классы, Предметы, Параллели и предметы, Родители, Улицы, Успеваемость.
Имеется возможность фильтрации школьников, как по параллелям, так и по классам, т.е. можно сделать так, чтобы отображались только школьники 5ых классов, или конкретно 5б класса. Показать доб-ние школьника и удаление.
Удаление школьника осуществляется при выделении соответствующей строки в таблице и нажатии клавиши Delete.
Запрос:
string selectSQLQuery = string.Format("DELETE FROM Pupil_year_class WHERE id_pupil = '{0}'; DELETE FROM Pupils WHERE id_pupil = '{0}'", id_pupil);
Добавление ученика осуществляется через окно, приведенное ниже.
Рис. Добавление ученика
Рис. Фильтрация школьников по классу
В различных параллелях могут преподаваться разные предметы. На вкладке Параллели и предметы можно проследить, в каких классах, какие предметы преподаются.
Рис. Просмотр соответствия предметов параллелям (это ред-ние?)
На вкладке успеваемости можно наблюдать все выставленные оценки.
Рис. Вкладка Успеваемость
Также как и на вкладке Школьники, на вкладке Успеваемость можно произвести фильтрацию по параллелям и классам, а также по предметам. На примере, приведенном ниже, можно наблюдать оценки 6б класса по математике.
Рис. Вкладка Успеваемость с включенной фильтрацией
Гистограмма средней успеваемости двух видов - по ученикам и по предметам. Обе можно просмотреть за разный период: за любую четверть, полугодие, годовую, итоговую.
Запрос:
string selectSQLQuery = string.Format("SELECT pu.last_name + ' ' + pu.first_name + ' ' + pu.patronymic AS 'ФИО', AVG (p.{0}) as 'Оценка' FROM Progress p INNER JOIN Pupils pu ON (pu.id_pupil = p.id_pupil) WHERE p.id_pupil = ANY(SELECT id_pupil FROM Pupil_year_class WHERE id_class = (SELECT id_class FROM Classes WHERE class = '{1}')) GROUP BY pu.last_name + ' ' + pu.first_name + ' ' + pu.patronymic ORDER BY pu.last_name + ' ' + pu.first_name + ' ' + pu.patronymic", mark, cbClassProgress.SelectedItem.ToString());
Рис. Гистограмма средней успеваемости по ученикам
Запрос:
string selectSQLQuery = string.Format("SELECT s.subject AS 'Предмет', AVG (p.{0}) AS 'Оценка' FROM Progress p INNER JOIN Subjects s ON (s.id_subject = p.id_subject) GROUP BY s.subject ORDER BY s.subject", mark);
Рис. Гистограмма средней успеваемости по предметам
Получение справки об успеваемости осуществляется путем двойного нажатия по ФИО школьника на вкладке Успеваемость.
Запрос:
string selectSQLQuery = string.Format("SELECT s.subject as 'Предмет', p.{4} as 'Оценка' FROM Progress p INNER JOIN Subjects s ON (s.id_subject = p.id_subject) WHERE id_pupil = (SELECT id_pupil FROM Pupils WHERE last_name = '{0}' AND first_name = '{1}' AND patronymic = '{2}') AND (SELECT class FROM Classes WHERE id_class = (SELECT id_class FROM Pupil_year_class WHERE id_pupil = (SELECT id_pupil FROM Pupils WHERE last_name = '{0}' AND first_name = '{1}' AND patronymic = '{2}'))) = '{3}' ORDER BY s.subject", fam, imya, otch, classPupil, mark);
Рис. Справка об успеваемости
Литература?
X. Литература
1. С. Малик, ADO.NET 2.0 для профессионалов, М., Вильямс, 2006.
2. К. Уотсон, C# 4.0 и платформа .NET 4 для профессионалов, М., Диалектика, 2011.
Документ
Категория
Без категории
Просмотров
15
Размер файла
3 461 Кб
Теги
курсовой, отчет, сданный
1/--страниц
Пожаловаться на содержимое документа