Смекни!
smekni.com

Информационная система ВУЗа (стр. 2 из 3)

Преподаватель Читает Дисциплина

Таб. № ФИО Дисциплина Таб. № Дисциплина Колич. часов
101 Иванов Математика 101 Математика 120
120 Сидоров Физика 101 Физика 80
203 Кузнецов Информатика 101 Философия 150
245 Петров Сопромат 120 Сопромат 90
Механика 120 Механика 120
Физика 120 Информатика 150

Проведя анализ на наличие функциональных зависимостей мы выделили следующие функциональные зависимости:

1. № зачетки (NZ)® ФИО (FIO), Группа (GRUPPA), Город (TOWN)

2. №зачетки (NZ), Код дисциплины (S_ID) ® Оценка (MARK)

3. Код дисциплины (S_ID) ® Наименование (SUBS), Колич. Часов (HOUR)

5. Код дисциплины (S_ID) ® Таб. № (TN)

6. Таб. № (TN) ® ФИО (FIO), Ученая степень (UCHSTEPEN), Кафедра (KAFEDRA)

1.2 Формулировка ограничений целостности

Ограничения целостности, как ограничения на значения ключевых полей в связных таблицах служат для сохранения логической структуры баз данных. Как правило, ограничения целостности реализуются на уровне приложений и являются составной частью технического задания на их разработку. Некоторые СУБД способны поддерживать определенные виды ограничений на уровне организации окружения программы. Требования целостности для ключевых полей каждого отношения приведены в таблицах.

Таблица Student (отношение «Студент»).

Имя поля Описание Тип Примечание Требование
NZ № зачетной книжки + ключ Уникальность в пределах отношения; при обновлении значения в связной таблице должны изменяться одновременно; при удалении одновременно удаляется информация из связной таблицы.
FIO ФИО Alpha
GRUPPA Группа студента Alpha
TOWN Город Alpha

Таблица Marks (отношение «Оценки»).

Имя поля Описание Тип Примечание Требование
NZ № зачетной книжки Long integer Должен принадлежать домену Student.NZ
S_ID Код дисциплины Long integer Должен принадлежать домену Subs.S_ID
MARK Оценка за предмет Number

Таблица Subs (отношение «Дисциплина»).

Имя поля Описание Тип Примечание Требование
S_ID Код дисциплины + ключ Уникальность в пределах отношения; при обновлении значения в связной таблице должны изменяться одновременно; при удалении одновременно удаляется информация из связной таблицы.
Subs Наименование дисциплины Alpha
Hour Количество часов Number

Таблица Subj (отношение «Дисциплина2»).

Имя поля Описание Тип Примечание Требование
S_ID Код дисциплины Long integer Должен принадлежать домену Subs.S_ID
TN Табельный номер преподавателя Long integer Должен принадлежать домену Prepodavatel.TN

Таблица Prepodavatel (отношение «Преподаватель»).

Имя поля Описание Тип Примечание Требование
TN Табельный номер преподавателя + ключ Уникальность в пределах отношения; при обновлении значения в связной таблице должны изменяться одновременно; при удалении одновременно удаляется информация из связной таблицы.
FIO ФИО преподавателя Alpha
UCHSTEPEN Ученая степень Alpha
KAFEDRA Название кафедры Alpha

Таблица Kafedra (отношение «Кафедра»).

Имя поля Описание Тип Примечание Требование
KAFEDRA Название кафедры Alpha
TELEPHON № телефона кафедры Long integer

1.3 Физическое проектирование

В качестве исходных данных для физического проектирования примем простейшую ситуацию :

¨ Задача реализуется на одном рабочем месте.

¨ Многопользовательский доступ к базе данных не предусмотрен.

В нашем случае таблицы хранятся в формате DB; все файлы базы данных располагаются на локальном диске. Здесь же хранятся файлы поддержки СУБД и файлы прикладной программы.

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

Для создания таблиц мы используем DatabaseDesktop программы BorlandDelphi. Входим в меню File -> New -> Table и выбираем тип таблицы Paradox 7. И заполняем поля таблицы. Созданные таблицы (см. Приложение 1) будут хранится в формате DB.


Глава 2 Проектирование интерфейса

Функционально приложение состоит из трех частей:

- Интерфейс ввода / корректировки БД

- Подсистема генерации печатных форм.

- Вспомогательные функции.

Каждой из этих частей соответствует опция главного меню программы.

2.1 Интерфейс ввода/корректировки БД

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

Меню программы выглядит следующим образом.

Рис. 2. Структурная схема (дерево диалога)

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

Интерфейс состоит из двух уровней. На первом из них предоставляется доступ к одной из четырех справочников – «Студенты», «Предметы», «Преподаватели» либо «Кафедры». Для доступа к этим справочникам используется экранная форма (см. Приложение 2), в которой отображается содержимое справочника в виде таблицы. На форме размещены специальные кнопки для редактирования, добавления и удаления записи. При нажатии на кнопку «Редактировать» открывается окно (см. Приложение 2), в котором содержатся поля для редактирования. Кнопка «Добавить» добавляет строку в таблицу, а кнопка «Удалить» соответственно удаляет запись.

Выбрав на экране, например, справочник «Студенты» (см. Приложение 2), пользователь получает доступ к информации, содержащейся в данном справочнике, т.е. он получает доступ к личным данным студентов: ФИО студента, номер зачетной книжки, группа, в которой обучается студент, а также город, в котором он проживает. Получив доступ к данной информации, пользователь может осуществлять ввод и корректировку данных. Аналогично и с другими справочниками. Выбрав в меню справочник «Предметы», на экранной форме (см. Приложение 3) пользователь может увидеть список дисциплин, код дисциплин и количество часов для каждой дисциплины. Выбрав в меню справочник «Преподаватели» (см. Приложение 3), пользователь на экранной форме получает доступ к личной информации преподавателей: табельному номеру преподавателя, ФИО, ученой степени и на какой кафедре он работает. Выбрав в меню справочник «Кафедры» (см. Приложение 4) пользователь видит список кафедр и их телефоны.


2.2 Генерация отчетов

Поскольку вся информация хранится в виде декомпозиции, постольку для выдачи на печать отчетов необходимо проводить обратное слияние таблиц. Это можно делать либо на логическом уровне, используя динамические связи, либо на физическом уровне.

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

В качестве рабочего алгоритма выбрана следующая последовательность действий :

- С помощью команды Select создается выборка в курсоре SQL.

- Этот курсор устанавливается как текущая рабочая область и из него происходит вывод на печать.

Для вывода отчета пользователь может выбрать в меню вкладку «Печать». При нажатии на «Печать» открывается экранная форма (см. Приложение 4), на которой изображены две кнопки «Вывод отчета №1» и «Вывод отчета №2». При нажатии на одну из этих кнопок выводится отчет (см. Приложение 5).


Глава 3 Программная реализация

Для реализации БД и разработки интерфейса мы используем среду программирования Delphi.

Главное меню программы создаем следующим образом.

Создаем новый проект и на форме (Form1) размещаем следующие компоненты (см. Приложение 6):

1. MainMenu – этот компонент служит для создания меню программы, в свойстве Items мы прописываем наше меню, состоящее из справочников, отчетов, «о программе» и «выход».