46261 (607807)

Файл №607807 46261 (Разработка базы данных, отражающей учет успеваемости студентов)46261 (607807)2016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Министерство образования

Российской Федерации

Хабаровский Государственный Технический Университет

Кафедра: «Программное обеспечение»

КУРСОВАЯ РАБОТА

По теме «Разработка базы данных,

отражающей учет успеваемости студентов»

Выполнил студент

гр. ПО-02 Самойленко П. Р.

Проверил преподаватель

Белоусова Людмила

Васильевна

Хабаровск 2001

Содержание:

  1. Задание на разработку, постановка задачи.

  2. Описание базы данных.

  3. Описание средств, используемых при создании программы.

  4. Первоначальные данные.

  5. Интерфейс программы.

  6. Описание используемых переменных и процедур.

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

Постановка задачи.

Построить систему управления базой данных (в дальнейшем-СУБД), отражающую учет успеваемости студентов вуза. При этом надо предусмотреть, что данные могут вноситься разными людьми. Построить базу данных, которая была бы максимально гибкой. В базе данных должны содержаться данные о студентах, оценках, преподавателях и предметах.

Описание базы данных.

База данных нормализована и состоит из четырех таблиц. Она разбита на четыре таблицы, дабы быть максимально гибкой. При этом разные таблицы могут заполняться разными людьми, а потом объединяться в одну общую базу данных. Например, таблицу о студентах заполняют на кафедре, на которой учиться студент, таблицу о преподавателе и предметах – на кафедре этих преподавателей, а оценки ставит преподаватель.

Структура таблиц

Название столбца

Описание

Таблица студентов (tt1)

T1

Номер студенческого билета

T2

Фамилия студента

T3

Имя

T4

Отчество

T5

Стипендия

Таблица предметов(tt2)

T1

Номер предмета

T2

Название предмета

T3

Номер преподавателя

T4

Часы

T5

Курс

Таблица преподавателей(tt3)

T1

Номер учителя

T2

Фамилия учителя

T3

Его имя

T4

Отчество

T5

Дата принятия преподавателя на работу

Таблица успеваемости(tt4)

T1

Код факта сдачи учебной дисциплины

T2

Оценка

T3

Дата сдачи

T4

Номер студенческого билета

T5

Код учебного предмета

Все атрибуты имеют строковый тип данных. Причем столбец T1 у каждой из таблиц является первичным ключом, то есть данные в нем уникальны.

И зобразим связь между таблицами:

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

Описание средств, используемых при создании программы

Данный программный продукт работает в текстовом режиме, периодически меняя цвет выводимых символов с помощью процедуры textcolor(). Эта процедура принадлежит модулю crt. Помимо нее из этого модуля используется еще две процедуры: clrscr – для отчистки экрана, да gotoxy – для перехода на заданные координаты экрана.

В программе используются списки, записи, собственные модули. Какие же преимущества дают использованные средства?

Списки позволяют рационально использовать память компьютера и выделять ее динамически, не занимая ее попусту. Правда при использовании списков я заметил значительное увеличение кода программы по сравнению со случаем, если бы мы использовали массивы и записи. Но работать с записями намного эффективнее, особенно при создании баз данных. При работе над данной СУБД я использовал стандартные процедуры для работы с указателями:

New() – выделение памяти для переменной

Dispose() - Возвращение памяти в кучу.

Указатель в моем случае указывает на следующий кортеж в данной таблице.

Четыре таблицы хранятся в динамическом списке. Список заканчивается, как только следующий элемент принимает значение nil, то есть ни на что не указывает.

Записи помогают структурировать данные, избежать избыточности.

Модуль я использую для предопределения в нем типов и заполнения записей, значения которых будут потом использованы в основной программе. В этих записях я храню массивы строк – строк меню. Таким образом, этот код не «захламляет» код основной программы. И добавлять новые элементы в меню намного проще – не надо переделывать всю программу.

Первоначальные данные

Для примера я ввел некоторые данные и сохранил в файле pasha. Вот эти данные, выведенные с помощью команды – «Сохр. в текст. файл »:

Студенты

+--------------------------------------------------------------------------+

¦ Студенческий¦ Фамилия¦ Имя¦ Отчество¦ Стипендия¦

+--------------+--------------+--------------+--------------+--------------¦

¦ 3412¦ Поляков¦ Анатолий¦ Алексеевич¦ 54.50¦

¦ 3413¦ Старова¦ Любовь¦ Михайловна¦ 17.00¦

¦ 3414¦ Гриценко¦ Владимир¦ Николаевич¦ 0.00¦

¦ 3415¦ Котенко¦ Анатолий¦ Николаевич¦ 0.00¦

¦ 3416¦ Нагорный¦ Евгений¦ Васильевич¦ 25.50¦

+--------------------------------------------------------------------------+

Предметы

+--------------------------------------------------------------------------+

¦ Код предмета¦ Название¦ Код преподав.¦ Время учебы¦ Курс¦

+--------------+--------------+--------------+--------------+--------------¦

¦ 2001¦ Физика¦ 4001¦ 34¦ 1¦

¦ 2002¦ Химия¦ 4002¦ 68¦ 1¦

¦ 2003¦ Математика¦ 4003¦ 68¦ 1¦

¦ 2004¦ Философия¦ 4005¦ 17¦ 2¦

¦ 2005¦ Экономика¦ 4004¦ 17¦ 3¦

+--------------------------------------------------------------------------+

Преподаватели

+--------------------------------------------------------------------------+

¦ Код преподав.¦ Фамилия¦ Имя¦ Отчество¦ Начало работы¦

+--------------+--------------+--------------+--------------+--------------¦

¦ 4001¦ Викулина¦ Валентина¦ Ивановна¦ 01/04/1984¦

¦ 4002¦ Костыркин¦ Олег¦ Владимирович¦ 01/09/1997¦

¦ 4003¦ Казанко¦ Виталий¦ Владимирович¦ 01/09/1988¦

¦ 4004¦ Позднякова¦ Любовь¦ Алексеевна¦ 01/09/1998¦

¦ 4005¦ Загарийчук¦ Игорь¦ Дмитриевич¦ 10/05/1989¦

+--------------------------------------------------------------------------+

Оценки

+--------------------------------------------------------------------------+

¦ Код сдачи¦ Оценка¦ Дата сдачи¦ Студенческий¦ Код предмета¦

+--------------+--------------+--------------+--------------+--------------¦

¦ 1001¦ 5¦ 10/06/1999¦ 3412¦ 2001¦

¦ 1002¦ 4¦ 10/06/1999¦ 3413¦ 2003¦

¦ 1003¦ 3¦ 11/06/1999¦ 3414¦ 2005¦

¦ 1004¦ 4¦ 12/06/1999¦ 3412¦ 2003¦

¦ 1005¦ 5¦ 12/06/1999¦ 3416¦ 2004¦

+--------------------------------------------------------------------------+

Эти данные будут использоваться в примерах.

Интерфейс программы

Для того, чтоб понять, что делает программа рассмотрим ее меню:



На рисунке 1 представлено главное меню программы, которое появляется при ее запуске. Тут:

«Загрузка » - ввод базы данных из типизированного файла.

«Сохр. в тип. файл » - сохранение базы данных в типизированном файле.

«Сохр. в текст. файл » - сохранение выбранной таблицы в текстовой файл.

«Просмотр » - просмотр данных таблиц.

«Корректировка » - изменение записей таблиц.

«Сортировка » - сортировка записей по определенному полю.

«Запросы » - поиск данных в четырех таблицах, соответствующие заданному условию.

«Выход » - выход из программы.


Г
лавное меню содержит вложенные. Например на 2 рисунке показано меню, служащее для выбора таблицы (одной из четырех). Вход в него может быть осуществлен по разному. То есть это меню вы будете проходить при просмотре данных, при корректировке и при сохранении в текстовой файл. Это меню в комментариях не нуждается.

П
ри выборе «Корректировка» вы перейдете к меню, показанному на рисунке 3.

«Добавление » - добавление нового кортежа в заданную с помощью предыдущего меню таблицу.

«Удаление » - удаление строки из таблицы, причем запись в таблице ищется по первому столбцу.

«Изменение » - изменение свойств существующей в базе данных строки.

Последнее подменю – это подменю запросов, на котором надо остановиться поподробнее. Рассмотрим рисунок:


«
Найти оценку» - найти оценку студента по его фамилии и предмету, который он сдавал.

«Кто принимал экзамен» - фамилия преподавателя, принимавшего данный предмет.

«Найти размер стипендии» - размер стипендии выбранного студента.

«Вывод по оценке» - показать всех студентов, получивших данную оценку.

«Дата сдачи экзамена» - найти даты, когда принимался данный предмет.

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

Б ольше в программе меню такого типа нет, но есть много строчного ввода, например выполним запрос с поиском оценок. После запроса экран будет выглядеть так (искали четверочников):

Результат запроса отображается красным цветом.

Описание используемых процедур.

В приложении используются как глобальные, так и локальные переменные. К глобальным переменным относятся:

1) names,namer:string[10] – строковые переменные, которые вынесены в глобальные, чтобы сделать программу более компактной. Иначе бы в разных процедурах надо было вводить аналогичные типы данных, а так можно обойтись лишь парой глобальных переменных.

2) key,kr:char – символьные переменные. В переменной key хранится код нажатой клавиши. А в переменной kr находится текущее положение звездочки. Звездочка будет рассмотрена ниже.

3) tek,i,j,izm:integer – целочисленные переменные. Из них i и j –циклические, временные переменные. Tek и izm показывают, какое меню активно в текущий момент. Они помогают понять программе от какого меню к какому перешли, тоесть помогает восстановить последовательность действий.

4) exist,vfile,issor:boolean – Логические переменные. Exist – служит для выхода из программы. Vfile – позволяет пускать одну процедуру по двум путям – либо выводить данные на экран, либо в файл. Issor – показывает меню выбора таблиц, что следующим шагом должна быть сортировка данной таблицы.

5) nast:pered – Типизированная переменная, в которой хранятся строки текущего меню. Описание типа pered имеется в модуле:

pered=record

st:array[1..12] of string;

m:byte; {количество строк в меню}

Характеристики

Тип файла
Документ
Размер
1,33 Mb
Тип материала
Учебное заведение
Неизвестно

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6513
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее