Учет успеваемости студентов
Методы проектирования информационных систем. Обоснование выбора способа соединения с БД. Приёмы работы с СУБД Access и языком SQL. Логическая и физическая модели базы данных. Формы просмотра, редактирования и ввода данных. Алгоритм работы приложения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 24.06.2015 |
Размер файла | 4,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Министерство образования и науки РФ
Пермский национальный исследовательский политехнический университет
Электротехнический факультет
Кафедра ИТАС
Курсовая работа по базам данных
На тему: Учет успеваемости студентов
Выполнил
Шаякбаров Н.Ф.
Пермь 2015
Введение
В современном мире базы данных применяются практически везде - в интернет магазинах, предприятиях, учебных и медицинских учреждениях. В связи с этим возникает нужда в создании специальных систем, которые ответственны за управление базами данных.
Язык SQL широко применяется в работе с базами данных. Значительная сфера IT-сферы так или иначе связана с ним. Несмотря на свою кажущуюся простоту, язык SQL предоставляет огромные возможности для работы с базами данных.
В ходе работы будет проведена систематизация и углубление теоретических знаний о базах данных и методах работы с ними. Помимо этого, курсовая работа позволит практически применить методы проектирования информационных систем, освоить выбранную СУБД и выработать навыки работы с базой данных.
Для выполнения курсовой работы была выбрана СУБД MS Access - один из нынешних лидеров рынка программного обеспечения для работы с базами данных. Для программирования пользовательского приложения был выбран компилятор CODEGear - как один из наиболее удобных, современных и наиболее часто встречающихся.
1. Цели и задачи курсовой работы
Цель курсовой работы - систематизация и углубление теоретических знаний, полученных за время обучения, а так же приобретение и закрепление навыков самостоятельной работы.
Задачи курсовой работы:
1) практическое применение методов проектирования ИС;
2) выработка навыков работы с БД;
3) усвоение приемов работы с СУБД Access и языком SQL;
В ходе выполнения курсового проекта было поставлено следующее задание. Необходимо создать базу данных для учета успеваемости студентов, состоящую из трех таблиц:
Студент (НомерЗачетки, Фамилия, ДомашнийАдрес, Группа),
Предмет (КодПредмета, Наименование),
Экзамен (КодПредмета, НомерЗачетки, ДатаЭкзамена).
Далее нужно запрограммировать систему, позволяющую получать ответы на запросы:
1) получите данные о студентах указанной группы, например ПОВТ-06;
2) получите данные о студентах, сдавших экзамен после указанной даты;
3) получите данные о студенте по номеру его зачетки;
4) получите данные о количестве студентов, сдававших экзамены по предметам;
5) получите сведения о количестве студентов, получивших положительные оценки;
6) получите название предмета, по которому поставлено наибольшее количество двоек;
7) получите данные о предметах, которые сдавали студенты заданной группы;
8) получите домашние адреса студентов, сдавших на «отлично» указанный предмет.
Необходимо разработать формы ввода, просмотра и редактирования данных в базе и создать отчеты по таблице «Студенты», по запросам 1, 7, 8.
2. Выбор СУБД для реализации БД
Основными критериями для выбора служили: 1) Доступность ПО; 2) Знакомство с ПО; 3) Функциональные возможности;
В качестве реляционной СУБД была выбрана MSAccess, по следующим причинам:
1) Access легко взаимодействует с другими программами;
2) Access широко распространён;
3) Access наиболее привычен, имеет удобный интерфейс, широкий функционал и субъективно понятен.
Несмотря на отсутствие лицензии, можно использовать Access в режиме trial.
В сравнении Access с другими реляционными СУБД можно сказать следующее. Большая часть СУБД аналогичная и различается незначительно. Вопрос выбора СУБД чаще всего упирается в удобство и привычку использования той или иной СУБД, ну и конечно доступности. На примере того же OpenOfficeBase можно сказать, что различия не всегда могут быть найдены обычным пользователем. Самым существенным различием между Access и Base для меня стало трудность прикрепления БД от Base к сторонним ПО разработки, т.к. не все они знают о такой СУБД. По этой причине, Access наиболее удобен для разработки БД. [1]
Для разработки клиентского приложения была выбрана свободно распространяемая CODEGearRADStudio. Основными преимуществами данного ПО можно назвать:
1) Поддержка большого количества языков разработки;
2) Поддержка технологии ADO;
3) Широкий функционал и лёгкая интеграция VS с Access.
3. Обоснование выбора способа соединения с БД
Технология ADO имеет как свои недостатки, так и свои преимущества. Основными преимуществами можно назвать:
· Технология ADO предлагает разработчику удобный прикладной интерфейс для OLE DB;
· ADO удобна в обращении, так как предоставляет объекты Automation, скрывающие интерфейсы OLE DB, что позволяет программисту уделять основное внимание решаемым задачам, а не сложностям технологии OLE DB;
· ADO-объекты разрешается применять на любой платформе, которая поддерживает СОМ и Automation;
· ADO-набор данных допустимо отсоединять от источника данных и передавать другим приложениям, при этом возможно изменение данных набора в отрыве от сети и источника данных.
Ко всему вышесказанному стоит прибавить тот факт, что ADO проста в использовании и привычна. Это и стало ключевым моментом в выборе технологии соединения. [2]
В качестве языка для разработки клиентского приложения использовался Delphi. В качестве ПО для разработки использовался CodeGear. Преимуществами CodeGear можно назвать:
1) Поддержка множества языков программирования;
2) Поддержка технологии ADO.
3) Простота и интуитивность интерфейса, собранность интерфейса в едином окне;
4) Широкий функционал;
5) Привычность, большое количество учебных материалов в сети;
4. Интерфейсы и приложения для технологических операций с БД
Рисунок 1 - форма ввода таблицы «Предмет»
Рисунок 2 - форма просмотра таблицы «Предмет»
Рисунок 3 - форма редактирования таблицы «Предмет»
Рисунок 4 - форма ввода таблицы «Студент»
Рисунок 5 - форма просмотра таблицы «Студент»
Рисунок 6 - форма редактирования таблицы «Студент»
Рисунок 7 - форма редактирования таблицы «Экзамен»
Рисунок 8 - форма ввода таблицы «Экзамен»
Рисунок 9 - форма просмотра таблицы «Экзамен»
Рисунок 10 - Отчёт по запросу 1
Рисунок 11 - Отчёт по запросу 2
Рисунок 12 - Отчёт по запросу 8
5. Приёмы работы с Базой Данных
В СУБД были установлены связи между таблицами. Тип связей между:
1) КодПредмета(Экзамен) - КодПредмета(Экзамен) один-ко-многим, так как одному коду соответствует несколько экзаменов. Т.е. один и тот же предмет сдают многие студенты.
2) НомерЗачётки(Студент) - НомерЗачётки(Студент) многие-ко-многим, т.к. один студент может сдавать несколько экзаменов, по нескольким предметам, и несколько студентов могут сдавать один и тот же экзамен.
Рисунок 13 - Логическая модель базы данных
Связи с отношением «многие-ко-многим» создаются в базе данных с помощью промежуточных (связующих) таблиц. Связующая таблица содержит столбцы первичного ключа обеих связываемых таблиц. Была создана связующая таблица «Студент + Экзамен». Она содержит в себе ключевой ключ НомерЗачётки таблицы «Студент» и id_записи, ключевой ключ таблицы «Экзамен».
Рисунок 14 - Cвязующая таблица
Физическая модель данных - это конкретные места хранения данных в конкретной СУБД. Модель зависит от конкретной СУБД. Объектами физической модели являются таблицы и поля с типами данных, определенными для выбранной СУБД. Объекты именуются в соответствии с правилами СУБД. Одной логической модели данных может соответствовать несколько физических моделей.
Так как, CODEGear не может работать с версиями MS Access после 2003, то было создано две базы данных. Одна из них версия 2003 - для работы с пользовательским приложением, другая аналогичная, с формами ввода, просмотра, редактирования, отчётами, запросами в режиме конструктора и так далее.
Рисунок 15 - Физическая модель базы данных
6. Алгоритм работы приложения
Если описывать основной алгоритм программы в работе, а именно осуществление запросов к Базе Данных, то можно выразить его следующим образом:
НАЧАЛО
1 ОЧИСТИТЬ.SQL;
2 ВЫКЛЮЧИТЬ КОМПОНЕНТ ADO Query;
3 ДОБАВИТЬ НОВЫЙ.SQL;
4 ВКЛЮЧИТЬ КОМПОНЕНТ ADOQuery;
5 ВЫРАВНИТЬ СТОЛБЦЫ;
6 ЗАДАТЬ ШИРИНУ СТОЛБЦОВ;
КОНЕЦ
Теперь давайте рассмотрим пошагово:
1) Необходимо очистить предыдущий SQL-запрос для корректного вывода нового. Данный шаг выполняется строкой кода ADOQuery1.SQL.Clear;
2) Выключение компонента ADOQuery (т.е. выставление свойства Active в положение false) происходит автоматически, при очистке содержащейся в нём SQL-строки;
3) Новый SQL-запрос передаётся через 2 шага. Сначала срабатывает оператор множественного выбора, который передаёт необходимый запрос в компонент Memo2, затем уже вне оператора множественного выбора данный запрос передаётся в SQL строку ADOQuery. Это сделано для того, что бы пользователь легко мог найти ошибку в SQLзапросе, в случае если она допущена;
4) Включение компонента ADOQuery происходит так же после оператора множественного выбора, строчкой кода ADOQuery1.Active:=true;
5) Выравнивание столбцов и задача их ширины не обязательны, но позволяют легче просматривать полученные данные;
Далее приведём код программы:
Код, выполняющийся при создании формы
Код для вывода таблицы из Базы Данных и форматирования таблицы DBGrid
Код, выполняющий смену переменных оперирующих в запросах
данные алгоритм access логический
Основной код, отвечающий за SQL запросы
Подробно разберём запросы:
1) SELECT * FROM Студент WHERE Группа = '''+group+''' - простой запрос выборки всех столбцов из таблицы Студент с условием, что столбец Группа будет равен переменной строковой переменной group.
2) SELECT * FROM Студент WHERE НомерЗачёткиIN(SELECT НомерЗачётки FROM Экзамен WHERE ДатаЭкзамена>'''+date+''') - запрос с вложенным запросом. Вложенный запрос выдаёт все номера зачётки, из таблицы Экзамен, у которых ДатаЭкзамена позднее 01.01.2015. Конструкция IN принимает значения из вложенного запроса. Далее на основе полученных НомеровЗачётки из таблицы Студент выбираются все данные.
3) SELECT * FROM Студент WHEREНомерЗачётки='+IntToStr(numb)+' - простой запрос выборки всех данных из таблицы студенты с условием, что НомерЗачётки будет равняться целочисленной переменной numb.
4) SELECTCOUNT(*) FROM Экзамен WHEREКодПредмета='+IntToStr(pred)+' - простой запрос использующий агрегатную функцию COUNT(*) для подсчёта экзаменов по заданному КодуПредмета.
5) SELECTCOUNT(*) FROM Экзамен WHERE Оценка>3 - запрос использующий агрегатную функцию COUNT(*) для подсчёта количество оценок выше 3, в таблице Экзамен.
6) SELECT TOP 1 Наименование FROM Предмет WHERE КодПредметаIN(SELECT COUNT(*) as Оценка FROM Экзамен WHERE Оценка=2 GROUP BY КодПредмета ORDER BY 1 DESC) - сложный запрос на выборку. TOP 1 - означает, что будет выводиться только первый по значению. GROUPBYКодПредмета - означает что данные группируются по заданному полю. ORDERBY 1 DESC- задаёт, что упорядочивание происходит по 1 столбцу в порядке убывания. Таким образом, вложенный запрос подсчитывает количество Оценок равных 2, затем получает два результата 2 (Математика), 1(Физика). Сортирует их в порядке убывания. Затем передаёт в основной запрос, который выводит только самый верхний, т.е. максимальный.
7) SELECT Наименование FROM Предмет WHERE КодПредметаIN(SELECT КодПредмета FROM Экзамен WHERE НомерЗачетки IN(SELECT НомерЗачетки FROM Студент WHERE Группа='''+group+''')) - сложный запрос, использующий две вложенности. Сначала выбирается НомераЗачётки из таблицы Студенты, в соответствии с прописанной группой, далее номера передаются и просматривается каким Экзаменам соотвествуют данные номера в таблице Экзамен и наконец в Таблице КодПредмета выводятся предметы.
8) SELECT ДомашнийАдрес FROM Студент WHERE НомерЗачёткиIN(SELECT НомерЗачётки FROM Экзамен WHERE Оценка=5 andКодПредмета='+IntToStr(pred)+') - сложный запрос использующий вложенность. Изначально вложенный запрос выбирает такие НомераЗачётки в таблице Экзамен, у которых Оценка по определённому предмету 5. Затем данные передаются и из таблицы Студент находится их ДомашнийАдрес.
Компоненты и процедуры разработанной программы
7. Документация пользователя
Установка соединения БД с клиентским приложением происходит с помощью компонента ADOConnection, в котором в режиме обозревателя задаётся необходимая строка соединения. Если бы у нас было многооконное приложение, то был бы смысл в отключении и подключении БД динамически, но так как у нас всего одно окно, это не имеет большого значения.
Рисунок 16 - Свойство канала
Для соеденения использовался провайдер MicrosoftJet 4.0 OLEDBProvider и технология ADO. Строка соединения связанна с другими компонентами связи - ADOQuery, DataSourseи DBGrid.
Рисунок 17 - Тестовые данные таблицы «Студент»
Рисунок 18 - Тестовые данные таблицы «Экзамен»
Рисунок 19 - Тестовые данные таблицы «Предмет»
8. Интерфейс приложения
Интерфейс приложения состоит из следующих компонентов:
DBGrid - необходимый для отображения Базы Данных;
ADOConnection - содержащий строку подключения с БД;
ADOQuery - содержащий запросы SQL;
2 компонента Memo - служащие для вывода текста запроса и объяснения, что он должен делать;
2 компонента ComboBox - необходимых для выбора запросов или таблиц;
8компонентовLabel - для вывода на экран пояснительных надписей;
4 компонента Edit - для ввода данных новых переменных;
Рисунок 20 - Интерфейс приложения
9. Результаты работы приложения
Таблицы Отображение таблицы «Студент»
Рисунок 21 - таблица «Студент»
Отображение таблицы «Экзамен»
Рисунок 22 - таблица «Экзамен»
Отображение таблицы «Предмет»
Рисунок 23 - таблица «Предмет»
Запросы
Запрос 1- получите данные о студентах указанной группы;
Рисунок 24 - ответ на запрос 1
Запрос 2 - получите данные о студентах, сдавших экзамен после указанной даты;
Рисунок 25 - ответ на запрос 2
Запрос 3 - получите данные о студенте по номеру его зачетки;
Рисунок 26 - ответ на запрос 3
Запрос 4 - получите данные о количестве студентов, сдававших экзамены по предметам;
Рисунок 27 - ответ на запрос 4
Запрос 5 - получите сведения о количестве студентов, получивших положительные оценки;
Рисунок 28 - ответ на запрос 5
Запрос 6 - получите название предмета, по которому поставлено наибольшее количество двоек;
Рисунок 29 - ответ на запрос 6
Запрос 7 - получите данные о предметах, которые сдавали студенты заданной группы;
Рисунок 30 - ответ на запрос 7
Запрос 8 - получите домашние адреса студентов, сдавших на «отлично» указанный предмет;
Рисунок 31 - ответ на запрос 8
Заключение
По мере работы с проектом были созданы логическая и физическая модели базы данных, установлены связи, созданы запросы на языке SQL и в конструкторе запросов, были сделаны отчёты по запросам, созданы таблицы и заполнены тестовыми данными, формы просмотра, редактирования и ввода данных.
В ходе выполнения курсового проекта были выполнены поставленная цель и задачи, а именно:
1) Практически применены различные методы проектирования информационных систем;
2) Были выработаны навыки работы с базами данных;
3) Усвоены приёмы работы с СУБД Access и языком SQL;
Так же, в ходе работы над курсовым проектом было разработано пользовательское приложение, которое позволяет работать с базой данных, осуществлять подачу запросов на выборку данных в соответствии с заданием.
Вдобавок к этому, были получены навыки по использованию технологии соединения с базами данных - ADO.
В ходе разработки пользовательского приложения, были на практике продемонстрированы возможности языка SQL на возможность сложной выборки, условной выборки и использования вложенных запросов.
Приложение 1
Листинг процедуры создания формы
Приложение 2
Листинг SQL-запросов
Размещено на Allbest.ur
Подобные документы
Теоретические основы проектирования баз данных. Аналитический учет расчетов с поставщиками и подрядчиками. Характеристика объектов СУБД MS Access. Создание физической формы модели базы данных. Алгоритм построения электронного приложения базы данных.
курсовая работа [2,5 M], добавлен 10.12.2014Логическая и физическая модели базы данных. Запрет на содержание неопределенных значений. Размещение базы данных на сервере. Реализация клиентского приложения управления базой данных. Модульная структура приложения. Основные экранные формы приложения.
курсовая работа [1,4 M], добавлен 13.06.2012Сущность и виды СУБД Microsoft Access. Алгоритм создания базы данных сессионной успеваемости студентов ВУЗа. Проектирование форм для сводных таблиц с помощью конструктора окон. Разработка отчетов и запросов на выборку данных. Создание кнопочной формы.
курсовая работа [5,4 M], добавлен 09.05.2011Изучение технологии разработки базы данных, создания таблиц, простых и составных форм для ввода, редактирования и просмотра данных, хранимых в таблицах. Проектирование информационной системы "Кафедра" средствами СУБД Access, с созданием форм отчетов.
курсовая работа [5,9 M], добавлен 12.05.2012Особенности систем управления базами данных (СУБД): основные понятия, реляционные базы, основные этапы их проектирования. Концептуальная (логическая) модель БД "Экспресс поставки", её физическая модель, создание в Access и SQL запроса к БД при её работе.
курсовая работа [1,2 M], добавлен 19.11.2012Создание базы данных при помощи СУБД, разработка собственного приложения. Информационно-логическая модель рекламного агентства. Структура реляционной базы данных в Access. Заполнение таблиц информацией. Структура приложения и взаимодействия форм.
курсовая работа [12,6 M], добавлен 17.06.2014Изучение основных понятий баз данных: структура простейшей базы данных, компоненты базы данных Microsoft Access. Проектирование базы данных "Туристическое агентство" в СУБД Access 2010, в которой хранятся данные о клиентах, которые хотят поехать отдыхать.
курсовая работа [3,3 M], добавлен 20.09.2013Построение модели вариантов использования для актантов с использованием конструкций языка UML. Перенос логической модели данных в среду СУБД Access. Тестирование базы данных. Создание форм для просмотра и редактирования, отчетов, запросов, макросов.
курсовая работа [568,7 K], добавлен 15.03.2015Основные принципы проектирования реляционных баз данных и их практическая реализация в MS Access. Концептуальная и логическая модели реляционной базы данных, ее физическое проектирование. Автоматизация процесса взаимодействия с клиентами и поставщиками.
курсовая работа [2,8 M], добавлен 10.03.2015Проектирование базы данных с использованием комплекса программных и языковых средств Microsoft Access. Модель данных, доступ к ним. Назначение, основные возможности и версии Access. Запуск программы; окно базы данных, формы для их ввода и редактирования.
курсовая работа [1,1 M], добавлен 30.12.2014