Автор работы: Пользователь скрыл имя, 29 Мая 2010 в 18:53, Не определен
база данных на pascal с функциями писка, добавления и т.д.
Содержание
Цель выполнения курсового проекта состоит в том, чтобы научится описывать предметную область реального мира – объект и его атрибуты, закрепить навыки использования основных структур данных, способов их описания и основных операций над ними. Освоить разработку удобного пользовательского интерфейса.
Действительно при помощи Turbo Pascal достаточно не просто создать программу, которая бы демонстрировала работу с базами данных (далее БД). Для этого в настоящий момент существует огромное количество специализированных программ. Но все-таки основу и саму сущность формирования БД при помощи Turbo Pascal, реализовать, возможно.
Современные БД дают возможность включать в них не только текстовую и графическую информацию, но и звуковые фрагменты и даже видеоклипы.
Простота использования различных систем позволяет создавать новые базы данных.
Для более полноценной работы базы данных должна выполнятся следующие функции:
Библиотека музыкальной школы – это библиотека с конкретно ориентированными книгами и музыкальными композициями, предназначенными для обучения и получения дополнительной информации по различным предметам именно в музыкальной школе.
Программа должна обладать следующими функциями:
При этом в реализованной базе данных должен быть интуитивно понятный и доступный любым пользователем. Удобная сортировка, а также удобное управление в режиме работы непосредственно с книгами.
Сортировки
книг в любой БД необходимо уделять особое
внимание. Связано это в первую очередь
с необходимостью оперативного доступа
к требуемой информации из БД.
Построить систему управления базой данных (в дальнейшем-СУБД), отражающую учет книг и музыкальных композиций в библиотеке музыкальной школы. При этом надо предусмотреть, что данные могут вноситься разными людьми. Построить базу данных, которая была бы максимально гибкой. В базе данных должны содержаться данные о книгах, издательствах, читателях, возврат и выдач книг.
База данных нормализована и состоит из четырех таблиц. Она разбита на четыре таблицы, дабы быть максимально гибкой.
Таблица 1 - Структура таблиц
Название столбца | Описание |
Таблица книги (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 у каждой из таблиц является первичным ключом, то есть данные в нем уникальны.
Изобразим связь
между таблицами:
Рисунок
1 - Связь между таблицами
Связь эта осуществляется через уникальные поля каждой из таблиц. Из схемы видно, что связь между выдачей и возвратом книг и например, издательствами, осуществляется только через читатели предметов. Такая организация базы данных позволяет избежать дублирования данных.
Основным объектом в данной программе является книга, все остальные объекты в программе так или иначе связаны с книгой.
Для реализации базы данных и их объектов были использованы следующие типы данных: m: byte.
Переменная
хранит, данные о всех атрибутах, представленных
выше таблиц.
В данной программе записью будет являться книга, а полями записи будет информация о книге.
Процедуры
следующего типа осуществляют загрузку
и выгрузку данных из файла. Полный
текст процедур представлен в приложении
. Чтение осуществляется с помощью readetip,
а запись – writetip. В этих процедурах используются
глобальные переменные. Загрузка идет
посредством таблиц tt1, tt2, tt3, tt4. При работе
пользователь работает как бы с одним
файлом, хотя реально каждая из таблиц
сохраняется в свой файл. При запросе пользователь
вводит название файла, а потом к этому
названию добавляется слева цифра – 1,
2, 3 или 4. Например если при сохранении
в типизированный файл имени сохраняемого
файла присвоить значение pasha, то
таблица tt1 будет сохранена в файле 1pasha,
tt2 – 2pasha, tt3 – 3pasha, tt4 – 4pasha.
При выгрузке из файла присвоение имен
идет таким же образом. Для сохранения
в текстовой файл используется процедура
tabl11(t:integer;rab:cc), где rab – сохраняемая таблица,
а t – помогает найти заголовки столбцов
текущей таблицы. Результат выполнения
данной процедуры можно посмотреть выше,
где показаны таблицы первоначальных
данных. Для вывода содержимого таблицы
на экран используется процедура tabl1(t:integer;rab:cc;yd:
names,namer:string[10] – строковые переменные, которые вынесены в глобальные, чтобы сделать программу более компактной. Иначе бы в разных процедурах надо было вводить аналогичные типы данных, а так можно обойтись лишь парой глобальных переменных.
key,kr:char – символьные переменные. В переменной key хранится код нажатой клавиши. А в переменной kr находится текущее положение звездочки. Звездочка будет рассмотрена ниже.
tek,i,j,izm:integer – целочисленные переменные. Из них i и j –циклические, временные переменные. Tek и izm показывают, какое меню активно в текущий момент. Они помогают понять программе от какого меню к какому перешли, тоесть помогает восстановить последовательность действий.
exist,vfile,issor:boolean – Логические переменные. Exist – служит для выхода из программы. Vfile – позволяет пускать одну процедуру по двум путям – либо выводить данные на экран, либо в файл. Issor – показывает меню выбора таблиц, что следующим шагом должна быть сортировка данной таблицы.
nast:pered – Типизированная переменная, в которой хранятся строки текущего меню. Описание типа pered имеется в модуле:
pered=record
st:array[1..12] of string;
m:byte;
end;
temr,tt1,tt2,tt3,tt4:cc
– Таблицы базы данных. Тут tt1 – таблица
с данными о студентах, tt2 – предметы, tt3
– преподаватели, tt4 – оценки (успеваемость).
Temr – временная таблица. Все эти переменные
являются динамическими списками.
К выходным документам относятся:
Пример формирования выходного документа на экран представлены в приложении 4.
Экран в данной программе состоит из меню:
Информация в файл выводится при создании файла отчета, при сохранении в типизированный или текстовый файл. Отчет создается по таблицам с данными.
Файл будет иметь расширение txt или pas и находится в корневой папке с программой. Данные в файле будут отформатированы и неплохо оформлены.
Пример
формирования выходного документа
в файл представлены в приложении 4.
Списковая
структура применяется для
В данной программе работу с динамическим списком можно охарактеризовать в виде стека. Общий принцип работы следующий: