Курсовая "Базы данных" на pascal

Автор работы: Пользователь скрыл имя, 29 Мая 2010 в 18:53, Не определен

Описание работы

база данных на pascal с функциями писка, добавления и т.д.

Файлы: 1 файл

содержание.DOC

— 289.00 Кб (Скачать файл)

         Содержание

     Введение

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

      Действительно при помощи Turbo Pascal достаточно не просто создать программу, которая бы демонстрировала работу с базами данных (далее БД). Для этого в настоящий момент существует огромное количество специализированных программ. Но все-таки основу и саму сущность формирования БД при помощи Turbo Pascal, реализовать, возможно.

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

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

     Для более полноценной работы базы данных должна выполнятся следующие функции:

  • хранение большого объема информации;
  • быстрый поиск требуемой информации;
  • добавление, удаление и изменение хранимой информации;
  • вывод ее в удобном для человека виде.
 
 

 

      

     1 Содержательная постановка и описание задачи

 

      Библиотека  музыкальной школы – это библиотека с конкретно ориентированными книгами и музыкальными композициями, предназначенными для обучения и получения дополнительной информации по различным предметам именно в музыкальной школе.

      Программа должна обладать следующими функциями:

    • Удобная справочная система и система подсказок;
    • Возможность добавление в БД новой книги или музыкальной композиции;
    • Возможность поиска по выбранным критериям;
    • Возможность удобной сортировки книг;
    • Возможность создания отчетности;
    • Возможность удаления ненужной книги.

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

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

 

      

     2 Атрибуты объекта и предоставление данных в программе

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

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

     База  данных нормализована и состоит  из четырех таблиц. Она разбита  на четыре таблицы, дабы быть максимально  гибкой.

Таблица 1 - Структура таблиц

Название  столбца Описание
Таблица книги (tt1)
T1 Номер книги
T2 Автор
T3 Наименование
T4 Год издания
T5 Код издательства
Таблица читатели(tt2)
T1 Номер читательского  билета
T2 Фамилия
T3 Адрес
T4 Дата рождения
T5 Телефон
Таблица издательства(tt3)
T1 Код издательства
T2 Наименование
T3 Адрес
T4 e-mail
T5 Телефон
Таблица выдача и возврат книг (tt4)
T1 № читательского  билета
T2 Дата выдачи
T3 Дата возврата
T4 Дата фактического возврата
T5 Номер книги
 

 

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

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

Рисунок 1 - Связь между таблицами 

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

     2.2 Типы данных

      Основным  объектом в данной программе является книга, все остальные объекты в программе так или иначе связаны с книгой.

      Для реализации базы данных и их объектов были использованы следующие типы данных: m: byte.

      Переменная  хранит, данные о всех атрибутах, представленных выше таблиц. 

 

      

     3  Описание программы создания набора данных

 

      В данной программе записью будет являться книга, а полями записи будет информация о книге.

      Процедуры следующего типа осуществляют загрузку и выгрузку данных из файла. Полный текст процедур представлен в приложении . Чтение осуществляется с помощью 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:boolean), действие которой аналогично предыдущей, только добавляется параметр 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 Описание программы формирование выходного документа

      К выходным документам относятся:

  • Вывод информации на экран;
  • Вывод информации в файл.

     4.1 Вывод информации на экран

      Пример  формирования выходного документа  на экран представлены в приложении 4.

      Экран в данной программе состоит из меню:

    • Заголовок. Заголовок находится в верхней части экрана и выводит название программы «База данных».
    • Меню. Меню находится в левой части экрана и отображает пользователю существующие разделы меню, по которым можно осуществить выбор различных операций с данными.

     4.2 Вывод информации в файл

      Информация в файл выводится при создании файла отчета, при сохранении в типизированный или текстовый файл. Отчет создается по таблицам с данными.

      Файл будет иметь расширение txt или pas и находится в корневой папке с программой. Данные в файле будут отформатированы и неплохо оформлены.

      Пример  формирования выходного документа  в файл представлены в приложении 4. 

 

     5 Описание программы формирование списковой структуры

     5.1 Область применения списковой структуры

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

     5.2 Принцип работы

      В данной программе работу с динамическим списком можно охарактеризовать в виде стека. Общий принцип работы следующий:

    • Когда пользователь выбирает нужный ему подраздел, программа ищет в файле БД первый элемент, если таковой вообще существует, который удовлетворяет выбранному пользователем разделу и подразделу и код этого товара добавляется в динамический список – стек.
    • Далее программа выводит на экран информацию о элементе базы данных, код которого находится в вершине стека.
    • При нажатии пользователем клавиши Enter, вновь осуществляется поиск элемента в БД, который соответствует выбранному пользователем разделу и подразделу, но уже программа проверяет, не находится ли код этого элемента уже в стеке. Если нет, то код элемента добавляется в стек и на экран выводится элемент, код которого находится в вершине стека, т.е. зашедший в стек последний. При повторном нажатии на Enter, проделывается все то же самое.

Информация о работе Курсовая "Базы данных" на pascal