Описание средств, используемых при создании программы
Российской Федерации
Хабаровский Государственный Технический Университет
Кафедра: «Программное обеспечение»
КУРСОВАЯ РАБОТА
По теме «Разработка базы данных, Отражающей учет успеваемости студентов»
Выполнил студент гр. ПО-02 Самойленко П. Р. Проверил преподаватель Белоусова Людмила Васильевна
Хабаровск 2001 Содержание:
1. Задание на разработку, постановка задачи. 2. Описание базы данных. 3. Описание средств, используемых при создании программы. 4. Первоначальные данные. 5. Интерфейс программы. 6. Описание используемых переменных и процедур. 7. Возможности полученного программного продукта.
Постановка задачи. Построить систему управления базой данных (в дальнейшем-СУБД), отражающую учет успеваемости студентов вуза. При этом надо предусмотреть, что данные могут вноситься разными людьми. Построить базу данных, которая была бы максимально гибкой. В базе данных должны содержаться данные о студентах, оценках, преподавателях и предметах. Описание базы данных. База данных нормализована и состоит из четырех таблиц. Она разбита на четыре таблицы, дабы быть максимально гибкой. При этом разные таблицы могут заполняться разными людьми, а потом объединяться в одну общую базу данных. Например, таблицу о студентах заполняют на кафедре, на которой учиться студент, таблицу о преподавателе и предметах – на кафедре этих преподавателей, а оценки ставит преподаватель. Структура таблиц Все атрибуты имеют строковый тип данных. Причем столбец 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. «Добавление» - добавление нового кортежа в заданную с помощью предыдущего меню таблицу. «Удаление» - удаление строки из таблицы, причем запись в таблице ищется по первому столбцу. «Изменение» - изменение свойств существующей в базе данных строки. Последнее подменю – это подменю запросов, на котором надо остановиться поподробнее. Рассмотрим рисунок: «Найти оценку» - найти оценку студента по его фамилии и предмету, который он сдавал. «Кто принимал экзамен» - фамилия преподавателя, принимавшего данный предмет. «Найти размер стипендии» - размер стипендии выбранного студента. «Вывод по оценке» - показать всех студентов, получивших данную оценку. «Дата сдачи экзамена» - найти даты, когда принимался данный предмет. В запросах используются реальные названия предметов, фамилии студентов, а не их номера (для студентов например номер соответствует номеру студенческого билета). Больше в программе меню такого типа нет, но есть много строчного ввода, например выполним запрос с поиском оценок. После запроса экран будет выглядеть так (искали четверочников): Результат запроса отображается красным цветом.
Популярное: Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (172)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |