Учет успеваемости студентов

Методы проектирования информационных систем. Обоснование выбора способа соединения с БД. Приёмы работы с СУБД 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.