Разработка базы данных, отражающей учет успеваемости студентов

Содержание

Содержание:

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, то есть ни на что не указывает.

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

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

Похожие записи