Разработка программного приложения для библиотеки

Структура и компоненты Delphi 7, их функциональные особенности и назначение. Системная информация утилиты настройки BDE. Свойства полей базы данных и ее главные объекты. Разработка и содержание руководства пользователя. Требования к надежности программы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 10.05.2016
Размер файла 1,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Курсовой проект

Разработка программного приложения для библиотеки

Введение

программа утилита пользователь библиотека

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

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

С начала 60-70 хх началось бурное развитие компьютеризации всех крупных промышленных центров. Ближе к 80-ым, компьютеры стали появляться и в учебных заведениях, предмету «Информатика» стали уделять огромное внимание. Стали появляться языки программирования высокого уровня такие, как Delphi, C++.

В России Borland Delphi появляется в конце 1993 г. и сразу же завоевывает широкую популярность. Новые версии выходят практически каждый год. В них реализуются все новые мастера, компоненты и технологии программирования.

Действительно, процесс разработки в Delphi предельно упрощен. В первую очередь это относится к созданию интерфейса, на который уходит 80% времени разработки программы. Вы просто помещаете нужные компоненты на поверхность Windows-окна (в Delphi оно называется формой) и настраиваете их свойства с помощью специального инструмента (Object Inspector). С его помощью можно связать события этих компонентов (нажатие на кнопку, выбор мышью элемента в списке и т.д.) с кодом его обработки - и вот простое приложение готово. Причем разработчик получает в свое распоряжение мощные средства отладки (вплоть до пошагового выполнения команд процессора), удобную контекстную справочную систему (в том числе и по Microsoft API), средства коллективной работы над проектом, всего просто не перечислить. Вы можете создавать компоненты ActiveX без использования Microsoft IDL, расширять возможности web-сервера (скрипты на стороне сервера), практически ничего не зная об HTML, XML или ASP. Можно создавать распределенные приложения на базе СОМ и CORBA, Интернет- и intranet-приложения, используя для доступа к данным Borland DataBase Engine, ODBC-драйверы или Microsoft ADO. Появившаяся, начиная с Delphi 3, поддержка многозвенной технологии (multi-tiered) доступа к данным позволяет создавать масштабируемые приложения (относительно слабо зависящие от сервера БД) за счет перенесения методов обработки информации (бизнес-правил) на среднее звено.

Как уже говорилось ранее, в Delphi используется язык Object Pascal, который постоянно расширяется и дополняется Borland. Язык в полной мере поддерживает все требования, предъявляемые к объектно-ориентированному языку программирования. Как и положено строго типизированному языку, классы поддерживают только простое наследование, но зато интерфейсы могут иметь сразу несколько предков. К числу особенностей языка следует отнести поддержку обработки исключительных ситуаций (exceptions), а также перегрузку методов и подпрограмм (overload) в стиле C++. К числу удачных, на взгляд автора, относится также поддержка длинных строк в формате WideChar и AnsiChar. Последний тип (AnsiStrmg) позволяет использовать все прелести динамического размещения информации в памяти без всяких забот о ее выделении и сборке мусора Delphi делает это автоматически. Для поклонников свободного стиля программирования имеются открытые массивы, варианты и вариантные массивы, позволяющие размещать в памяти все, что душе угодно и смешивать типы данных.

Вы можете создавать свои собственные компоненты, импортировать ОСХ-компоненты, создавать <шаблоны> проектов и <мастеров>, создающих <заготовки> проектов. Мало того, Delphi предоставляет разработчику интерфейс для связи ваших приложений (или внешних программ) с интегрированной оболочкой Delphi (IDE).

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

Ну, и одна из самых последних новостей от Inprise обещает, что в ближайшем будущем вы сможете переносить приложения, разработанные в Delphi, на платформу Linux. Более подробную информацию о Delphi можно получить на сайтах www.inprise.com и www.inprise.ru. Существует большое количество сайтов, посвященных Delphi, например <Королевство Delphi> - delphi.vitpc.com, Torry's Delphi Pages - www.torry.ru. Последний содержит большое число ссылок на ресурсы, связанные с Delphi. Ну а если вы уже давно знакомы с этим продуктом, то на сайте www.brainbench.com можно бесплатно протестироваться в качестве программиста Delphi 3 и получить по почте сертификат.

Мощность и гибкость Delphi при работе с базами данных основана на низкоуровневом ядре - процессоре баз данных Borland Database Engine (BDE). Его интерфейс с прикладными программами называется Integrated Database Application Programming Interface (IDAPI). В принципе, сейчас не различают эти два названия (BDE и IDAPI) и считают их синонимами. BDE позволяет осуществлять доступ к данным как с использованием традиционного record-ориентированного (навигационного) подхода, так и с использованием set-ориентированного подхода, используемого в SQL-серверах баз данных. Кроме BDE, Delphi позволяет осуществлять доступ к базам данных, используя технологию (и, соответственно, драйверы) Open DataBase Connectivity (ODBC) фирмы Microsoft. Но, как показывает практика, производительность систем с использованием BDE гораздо выше, чем оных при использовании ODBC. ODBC драйвера работают через специальный «ODBC socket», который позволяет встраивать их в BDE.

Все инструментальные средства баз данных Borland - Paradox, dBase, Database Desktop - используют BDE. Все особенности, имеющиеся в Paradox или dBase, «наследуются» BDE, и поэтому этими же особенностями обладает и Delphi.

1. Анализ предметной области

1.1 Цель разработки

Целью создания данного программного продукта является создание подсистемы «Библиотека» способную:

1. Выявить книги, хранящиеся на i-том стеллаже

2. Все книги i-го автора выданные и невозвращенные читателями.

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

Модель предметной области. Модель предметной области - это наши знания о предметной области. Знания могут быть как в виде неформальных знаний в мозгу эксперта, так и выражены формально при помощи каких-либо средств. В качестве таких средств могут выступать текстовые описания предметной области, наборы должностных инструкций, правила ведения дел в компании и т.п. Опыт показывает, что текстовый способ представления модели предметной области крайне неэффективен. Гораздо более информативными и полезными при разработке баз данных являются описания предметной области, выполненные при помощи специализированных графических нотаций. Имеется большое количество методик описания предметной области. Из наиболее известных можно назвать методику структурного анализа SADT и основанную на нем IDEF0, диаграммы потоков данных Гейна-Сарсона, методику объектно-ориентированного анализа UML, и др. Модель предметной области описывает скорее процессы, происходящие в предметной области и данные, используемые этими процессами. От того, насколько правильно смоделирована предметная область, зависит успех дальнейшей разработки приложений.

Предметной областью моей базы является библиотека.

Каждая книга, хранящаяся в библиотеке, имеет следующие параметры: название, автор, издание, год издания, жанр, ключевые слова, количество страниц. Каждая книга имеет уникальный номер - шифр.

Так же в библиотеке ведется картотека читателей. О каждом читатели заносятся следующие сведения: Ф.И.О., дата рождения, адрес, телефон.

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

1.2 Компоненты Delphi 7

Начнем рассмотрение компонентов работы с файловой системой с компонента DriveComboBox - выпадающего списка дисков (драйверов). При размещении на форме этот компонент автоматически отображает список имеющихся на компьютере дисков. Во время выполнения приложения вы можете прочитать имя выбранного пользователем диска в свойстве Drive, а строку, содержащуюся в окне списка - в свойстве Text.

Свойство TextCase задает регистр отображения: tcUpperCase - в верхнем регистре, tcLowerCase - в нижнем.

Связать компонент DriveComboBox со списком каталогов, отображаемых компонентом DirectoryListBox, можно во время проектирования через свойство DirList компонента DriveComboBox. Это свойство может указывать на компонент типа DirectoryListBox. Можно обеспечить связь этих двух типов компонентов и программно, включив в обработчик события OnChange компонента DriveComboBox оператор

DirectoryListBox1. Drive:= DriveComboBox1. Drive;

Этот оператор задает имя диска, выбранное пользователем в компоненте DriveComboBox1, свойству Drive списка каталогов DirectoryListBox1.

Аналогичным оператором можно обеспечить связь компонента DriveComboBox с деревом каталогов и файлов в компоненте DirectoryOutline:

DirectoryOutline1. Drive:= DriveComboBox1. Drive;

Рассмотрим теперь выпадающий список фильтров - компонент FilterComboBox. Его основное свойство - Filter, которое задается так же, как в описанных ранее диалогах. К отдельным частям фильтра - тексту и маске, можно получить доступ через свойства Text и Mask соответственно. Связь компонента со списком файлов типа TFileListBox можно установить, задав свойство FileList.

Компонент DirectoryListBox отображает список каталогов диска, заданного свойством Drive. Значение этого свойства можно установить программно во время выполнения. Как уже говорилось выше, связь этого свойства с выбранным пользователем диском в компоненте DriveComboBox устанавливается или программно, или с помощью свойства DirectoryListBox компонента DriveComboBox. Связь списка каталогов с компонентом типа TFileListBox, отображающим список файлов, осуществляется с помощью свойства FileList. Можно также использовать результаты выбора пользователем каталога, читая свойство Directory в обработчике события OnChange.

С компонентом DirectoryListBox можно также связать метку типа Label. В этой метке будет отображаться путь к текущему каталогу. Если путь не умещается в метке, он автоматически отображается в сокращенном виде с помощью функции MinimizeName. Метка, отображающая каталог, указывается в свойстве DirLabel.

Кнопки, индикаторы, управляющие элементы компоненты - меню (Button и BitBtn)

Простейшей и, пожалуй, наиболее часто используемой кнопкой является кнопка Button расположенная на странице библиотеки Standard. Реже используется кнопка BitBtn отличающаяся, прежде всего, возможностью отобразить на ее поверхности изображение. Большинство свойств, методов и событий у этих видов кнопок одинаковы.

Основное с точки зрения внешнего вида свойство кнопки - Caption (надпись). В надписях кнопок можно предусматривать использование клавиш ускоренного доступа, выделяя для этого один из символов надписи. Перед символом, который должен соответствовать клавише ускоренного доступа, ставится символ амперсанта «&». Этот символ не появляется в надписи, а следующий за ним символ оказывается подчеркнутым. Тогда пользователь может вместо щелчка на кнопке нажать в любой момент клавишу Alt совместно с клавишей выделенного символа.

Например, если в вашем приложении имеется кнопка выполнения какой-то операции, вы можете задать ее свойство Caption равным «&Выполнить». На кнопке эта надпись будет иметь вид «Выполнить». И если пользователь нажмет клавиши Alt-В, то это будет эквивалентно щелчку на кнопке.

Основное событие любой кнопки - OnClick, возникающее при щелчке на ней. Именно в обработчике этого события записываются операторы, которые должны выполняться при щелчке пользователя на кнопке. Помимо этого есть еще ряд событий, связанных с различными манипуляциями клавишами и кнопками мыши.

Свойство Cancel, если его установить в true, определяет, что нажатие пользователем клавиши Esc будет эквивалентно нажатию на данную кнопку. Это свойство целесообразно задавать равным true для кнопок «Отменить» в различных диалоговых окнах, чтобы можно было выйти из диалога, нажав на эту кнопку или нажав клавишу Esc.

Свойство Default, если его установить в true, определяет, что нажатие пользователем клавиши ввода Enter будет эквивалентно нажатию на данную кнопку, даже если данная кнопка в этот момент не находится в фокусе. Правда, если в момент нажатия Enter в фокусе находится другая кнопка, то все-таки сработает именно кнопка в фокусе.

Еще одно свойство - ModalResult используется в модальных формах, рассмотрение которых выходит за рамки данной книги. В обычных приложениях значение этого свойства должно быть равно mrNone.

Из методов, присущих кнопкам, имеет смысл отметить один - Click. Выполнение этого метода эквивалентно щелчку на кнопке, т.е. вызывает событие кнопки OnClick. Этим можно воспользоваться, чтобы продублировать какими-то другими действиями пользователя щелчок на кнопке. Пусть, например, вы хотите, чтобы при нажатии пользователем клавиши с символом «С» или «с» в любой момент работы с приложением выполнялись операции, предусмотренные в обработчике события OnClick кнопки Button1. Поскольку неизвестно, какой компонент будет находиться в фокусе в момент этого события, надо перехватить его на уровне формы. Такой перехват осуществляется, если установить свойство формы KeyPreview в true. Тогда в обработчике события формы OnKeyPress можно написать оператор

if (key='C' or key='c') then Button1. Click;

Если пользователь ввел символ «С» или «с», то в результате будет выполнен обработчик щелчка кнопки Button1.

Все сказанное выше в равной степени относится и к Button, и к BitBtn. Рассмотрим теперь особенности кнопки с пиктограммой BitBtn. Изображение на этой кнопке задается свойством Glyph. При нажатии кнопки с многоточием в строке свойства Glyph в Инспекторе Объектов вызывается окно. Нажав в нем кнопку Load вы перейдете в обычное окно открытия файла рисунка и можете выбрать файл битовой матрицы.bmp, содержащий желаемое изображение. В частности, с Delphi поставляется большое количество изображений для кнопок. Они расположены в каталоге \Images\Buttons, а сам каталог Images в Delphi 5 и 4 расположен в каталоге \program files\common files\borland shared, а в других версиях Delphi - в каталоге \program files\borland\delphi….

После того, как вы выбрали изображение, нажмите OK и выбранное изображение появится на вашей кнопке левее надписи.

Файл изображения для кнопки может содержать до четырех изображений пиктограмм размера 16x16. Самое левое соответствует отжатой кнопке. Второе слева соответствует недоступной кнопке, когда ее свойство Enabled равно false. Третье слева изображение используется при нажатии пользователя на кнопку при ее включении. Четвертое слева изображение используется в кнопках с фиксацией SpeedButton, о которых будет сказано позднее, для изображения кнопки в нажатом состоянии. Большинство изображений для кнопок использует две пиктограммы. Число пиктограмм вы можете узнать из свойства кнопки NumGlyphs, которое после загрузки изображения покажет вам число пиктограмм в нем.

Расположение изображения и надписи на кнопке определяется свойствами Margin, Layout и Spacing. Если свойство Margin равно -1 (значение по умолчанию), то изображение и надпись размещаются в центре кнопки. При этом положение изображения но отношению к надписи определяется свойством Layout, которое может принимать значения: blGlyphLeft (слева, это значение принято по умолчанию), blGlyphRight (справа), blGlyphТор (вверху), blGlyphBottom (внизу). Если же Margin > 0, то в зависимости от значения Layout изображение и надпись смещаются к той или иной кромке кнопки, отступая от нее на число пикселей, заданное значением Margin.

Свойство Spacing задает число пикселей, разделяющих изображение и надпись на поверхности кнопки. По умолчанию Spacing = 4. Если задать Spacing = 0, изображение и надпись будут размещены вплотную друг к другу. Если задать Spacing = -1, то текст появится посередине между изображением и краем кнопки.

Еще одно свойство BitBtn - свойство Kind определяет тип кнопки. По умолчанию значение этого свойства равно bkCustom - заказная. Но можно установить и множество других предопределенных типов: bkOK, bkCancel, bkHelp, bkYes, bkNo, bkClose, bkAbort, bkRetry, bkIgnore, bkAll.

В этих типах уже сделаны соответствующие надписи, введены пиктограммы, заданы еще некоторые свойства. Обычно все-таки лучше ими не пользоваться. Во-первых, надписи все равно надо переводить на русский язык. Во-вторых, предопределенные рисунки обычно выбиваются из общего стиля конкретного приложения. И главное - предопределение некоторых свойств, не учтенных вами, может иногда приводить к странным результатам работы. Уж лучше использовать заказные кнопки и самому устанавливать в них все необходимые свойства.

1.3 Алиасы

Таблицы сохраняются в базе данных. Некоторые СУБД сохраняют базу данных в виде нескольких отдельных файлов, представляющих собой таблицы (в основном, все локальные СУБД), в то время как другие состоят из одного файла, который содержит в себе все таблицы и индексы (InterBase). Например, таблицы dBase и Paradox всегда сохраняются в отдельных файлах на диске. Каталог, содержащий dBase.DBF файлы или Paradox.DB файлы, рассматривается как база данных. Другими словами, любой каталог, содержащий файлы в формате Paradox или dBase, рассматривается Delphi как единая база данных. Для переключения на другую базу данных нужно просто переключиться на другой каталог. Как уже было указано выше, InterBase сохраняет все таблицы в одном файле, имеющем расширение.GDB, поэтому этот файл и есть база данных InterBase.

Удобно не просто указывать путь доступа к таблицам базы данных, а использовать для этого некий заменитель - псевдоним, называемый алиасом. Он сохраняется в отдельном конфигурационном файле в произвольном месте на диске и позволяет исключить из программы прямое указание пути доступа к базе данных. Такой подход дает возможность располагать данные в любом месте, не перекомпилируя при этом программу. Кроме пути доступа, в алиасе указываются тип базы данных, языковый драйвер и много другой управляющей информации. Поэтому использование алиасов позволяет легко переходить от локальных баз данных к SQL-серверным базам (естественно, при выполнении требований разделения приложения на клиентскую и серверную части). Для создания алиаса запустите утилиту конфигурации BDE (программу bdeadmin.exe), находящуюся в каталоге, в котором располагаются динамические библиотеки BDE.

Главное окно утилиты настройки BDE имеет вид, изображенный на рисунке 1:

Рисунок 1. SQL Explorer

Для создания алиаса выберите в меню «Object» пункт «New». В появившемся диалоговом окне выберите имя драйвера базы данных. Тип алиаса может быть стандартным (STANDARD) для работы с локальными базами в формате dBase или Paradox или соответствовать наименованию SQL-сервера (InterBase, Sybase, Informix, Oracle и т.д.). (Рисунок 2.)

Рисунок 2. В диалоговом окне добавления нового алиаса можно указать тип базы данных

После создания нового алиаса следует дать ему имя. Это можно сделать с помощью подпункта «Rename» меню «Object». Однако просто создать алиас не достаточно. Вам нужно указать дополнительную информацию, содержание которой зависит от типа выбранной базы данных. Например, для баз данных Paradox и dBase (STANDARD) требуется указать лишь путь доступа к данным, имя драйвера и флаг ENABLE BCD, который определяет, транслирует ли BDE числа в двоично-десятичном формате.

Значения двоично-десятичного кода устраняют ошибки округления:

TYPE

STANDARD

DEFAULT DRIVER

PARADOX

ENABLE BCD

FALSE

PATH

c:\BIBLIOT

SQL-сервер InterBase и другие типы баз данных требуют задания большого количества параметров, многие из которых можно оставить установленными по умолчанию.

2. Программная документация

2.1 Проектирование инфологической модели

Инфологическая модель для базы данных «Библиотека» проектировалась, как модель «Сущность-связь».

Сущность - это класс однотипных объектов. Процесс ведения учета и исполнения входящей документации идентифицирует такие сущности: Читатель, Книга, Движение книги, Штраф.

Каждая из сущностей имеет свой набор атрибутов. Сущность Читатель

включает в себя следующие характеристики:

- Ф.И.О.;

- домашний адрес;

- телефон;

- год рождения;

- пол;

- место работы.

Сущность Книга имеет такие атрибуты:

- название;

- автор;

- жанр;

- стелаж;

- количество экземпляров;

- цена;

В сущности Движение книги характеристики:

- книга;

- кому выдана;

- когда выдана;

- на какой срок;

- дата возврата;

В сущности Штраф характеристики:

- дата;

- читатель;

- книга;

- сумма штрафа;

- библиотекарь;

2.2 Технико-математическая формулировка задачи

Входными данными в этой программе являются базы данных:

Chitatel.db с полями:

§ FIO - Ф.И.О.

§ Dom adr - домашний адрес

§ Tel - телефон

§ God rozhd - год рождения

§ Pol - пол

§ Mesto rab - место работы

Рисунок 3. Таблица «Читатель»

Рисунок 4. Таблица «Читатель» c указанием типов данных

Kniga.db с полями:

§ Nazvanie - название

§ Avtor - автор

§ God izd - год издания

§ Zhanr - жанр

§ Stelazh - стеллаж

§ Kol-vo ekz - количество экземпляров

§ Cena - цена

Рисунок 5. Таблица «Книги»

Рисунок 6. Таблица «Книги» c указанием типов данных

Dvizhenie knigi.db с полями:

§ Kniga - книга

§ Komu vidana - кому выдана

§ Kogda - когда

§ Тф kakoy srok - на какой срок

§ Data vozvrata - дата возврата

Рисунок 7. Таблица «Движение книги»

Рисунок 8. Таблица «Движение книги» c указанием типов данных

Shtraf.db с полями:

§ Data - дата

§ Chitatel - читатель

§ Kniga - книга

§ Summa shtrafa - сумма штрафа

§ Bibliotekar - библиотекарь

Рисунок 9. Таблица «Штраф»

Рисунок 10. Таблица «Штраф» c указанием типов данных

Для создания использовался драйвер баз данных Paradox 7.0. Для администрирования этих баз данных, в Borland Delphi Administrator был создан Alias (Псевдоним) bd.

Выходными данными является книги хранящиеся на i-том стеллаже и все книги i-го автора выданные и невозвращенные читателями.

Общий вид подсистемы «Библиотека» находится на рисунке 11.

Рисунок 11. Общий вид Подсистемы «Библиотека»

Кнопки - «Читатель» (Button1), «Книга» (Button2), «Движение книги» (Button3), «Штраф» (Button4) показывают окна базы данных относящиеся к ним:

DbGrid1

DbGrid2

DbGrid3

DbGrid4

Кнопка «Книги по стелажу» (Button5) выполняет поиск всех книг хранящиеся на i-том стеллаже.

Кнопка «Невозвращенные книги» (Button7) выполняет поиск всех книг i-го автора выданные и невозвращенные читателями.

Кнопка «Обновить» (Button6) выполняет обновление активного компонента StrinGrid.

Кнопка «Выход» (Button8) выполняет выход из приложения.

Так же на форме расположены 4 компонента dbnavigator, datasource, table и Query.

2.3 Системная информация утилиты настройки BDE

Итак, мы познакомились с наиболее важной возможностью утилиты настройки BDE - созданием и редактированием алиасов, определяющих параметры доступа к базам данных. Однако, утилита настройки BDE позволяет специфицировать не только алиасы, но и драйверы для доступа к базам данных, а также различную системную информацию, составляющую операционное окружение этих самых алиасов.

Рассмотрим, например, системную информацию драйвера PARADOX:

NET DIR. Параметр содержит расположение каталога сетевого управляющего файла. Он нужен для того, чтобы обратиться к таблице PARADOX на сетевом диске.

VERSION. Номер версии драйвера.

TYPE. Тип драйвера.

LANGDRIVER. Языковой драйвер, определяющий множество допустимых символов.

BLOCK SIZE. Размер блока на диске, используемого для запоминания одной записи.

FILL FACTOR. Содержит процент от блока на текущем диске. Параметр нужен для создания индексных файлов.

LEVEL. Параметр определяет тип формата таблицы, используемой для создания временных таблиц.

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

Как уже отмечалось выше, утилита настройки BDE сохраняет всю конфигурационную информацию в файле IDAPI.CFG. Этот файл с предустановленными ссылками на драйверы и некоторыми стандартными алиасами создается при установке Delphi. Кроме того, он создается при установке файлов редистрибуции BDE (т.е. когда Вы переносите BDE и SQL Links на другие компьютеры).

2.4 Свойства полей базы данных

Поля базы данных не просто определяют структуру базы - они еще определяют групповые свойства данных, записываемых в ячейки, принадлежащие каждому из полей. Ниже перечислены основные свойства полей таблиц баз данных на примере СУБД Microsoft Access.

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

Тип поля - определяет тип данных, которые могут содержаться в данном поле.

Размер поля - определяет предельную длину (в символах) данных, которые могут размещаться в данном поле.

Формат поля - определяет способ форматирования данных в ячейках, принадлежащих полю.

Маска ввода - определяет форму, в которой вводятся данные а поле (средство автоматизации ввода данных).

Подпись - определяет заголовок столбца таблицы для данного поля (если подпись не указана, то в качестве заголовка столбца используется свойство Имя поля).

Значение по умолчанию-то значение, которое вводится в ячейки поля автоматически (средство автоматизации ввода данных).

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

Сообщение об ошибке - текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных.

Обязательное поле - свойство, определяющее обязательность заполнения данного поля при наполнении базы.

Пустые строки - свойство, разрешающее ввод пустых строковых данных (от свойства Обязательное поле отличается тем, что относится не ко всем типам данных, а лишь к некоторым, например к текстовым).

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

Поскольку в разных полях могут содержаться данные разного типа, то и свойства у полей могут различаться в зависимости от типа данных. Так, например, список вышеуказанных свойств полей относится в основном к полям текстового типа. Поля других типов могут иметь или не иметь эти свойства, но могут добавлять к ним и свои. Например, для данных, представляющих действительные числа, важным свойством является количество знаков после десятичной запятой. С другой стороны, для полей, используемых для хранения рисунков, звукозаписей, видео клипов и других объектов OLE, большинство вышеуказанных свойств не имеют смысла.

2.5 Объекты базы данных

Таблицы

Таблицы - это основные объекты любой базы данных. Во-первых, в таблицах хранятся все данные, имеющиеся в базе, а во-вторых, таблицы хранят и структуру базы (поля, их типы и свойства).

Запросы

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

Формы

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

Отчеты

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

Страницы

Это специальные объекты баз данных, реализованных в последней версии СУБД Microsoft Access (Access 2000). Правда, более коректно их называть страницами доступа к данным. Физически это особый объект, выполненный в коде HTML, размещаемый на Web-странице и передаваемый клиенту вместе с ней. Сам по себе этот объект не является базой данной, но содержит компоненты, через которые осуществляется связь переданной Web-страницы с базой данных, остающейся на сервере. Пользуясь этими компонентами, посетитель Web-узла может просматривать записи базы в полях страницы доступа. Таким образом, страницы доступа к данным осуществляют интерфейс между клиентом, сервером и базой данных, размещенной на сервере. Эта база данных не обязательно должна быть базой данных Microsoft Access. Страницы доступа, созданные средствами Microsoft Access, посволяют работать также с базами данных Microsoft SQL Server.

Макросы и модули

Эти категории объектов предназначены как для автоматизации повторяющихся операций при работе с СУБД, так и для создания новых функций путем программирования. В СУБД Microsoft Access макросы состоят из последовательности внутренних команд СУБД и являются одним из средств автоматизации работы с базой. Модули создаются средствами внешнего языка програмирования, в данном случае языка Visual Basic for Applications. Это одно из средств, с помощью которых разработчик базы может заложить в нее нестандартные функциональные возможности, удовлетворить специфическое требование заказчика, повысить быстродействие системы управления, а также уровень ее защищенности.

3. Эксплуатационная документация

3.1 Руководство пользователя

Запуск программы «Библиотека», осуществляется с помощью файла Project1.exe.

Главное окно приложение предоставляет возможность бегло просмотреть все 4 таблицы. Здесь также можно осуществить добавление / удаление записи.

Передвигаясь по вкладкам вверху формы, пользователь перемещается между таблицами. Каждая из таблиц содержит определенную информацию по одному из аспектов приложения, также имеется возможность добавления записей к данному блоку. Все секции выдержаны в одинаковом стиле для создания однородного и интуитивно понятного интерфейса. (Рисунок 12.)

Рисунок 12. Главное окно приложения

Рисунок 13. Таблицы приложения

При нажатии на кнопку «Книги по стеллажу» появляется окно запроса данных. Вводим количество стеллажей и получаем список книг находящихся на данном стеллаже. (Рисунок 14.)

Рисунок. 14. Окно запроса

При нажатии на кнопку «Невозвращенные книги» появляется окно запроса данных. Вводим название книги и получаем список книг которое не вернули в библиотеку. (Рисунок 15.)

Рисунок 15. Окно запроса

Рисунок 16. Выход из программы

3.2 Требования к надежности

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

В качестве постоянного хранения программы следует использовать жесткий магнитный диск, а для распространения программы, установку программы лучше записывать на CD-ROM.

Программа была выполнена в оперционной системе Windows XP, она совместима с опеационными системами Windows 98, Windows XP, Windows 95, Windows ME, Windows 2000.

Для работы данной программы используется ПК имеющий следующий характеристики:

- Процессор не ниже Pentium 100

- Емкость ОЗУ не ниже 64 МБ

- Разрядность 32 бит

- Жесткий магнитный диск

- Диск 3,5

- CD-ROM

Требование к оперативной и дисковой памяти:

- Минимальные требования к оперативной памяти: 32Мб;

- Минимальные требования к дисковой памяти: 9.01Мб программный модуль (объема базы данных не учитывался)

Минимальные требования к техническим средствам:

- Pentium 100MHz/ 32Mb RAM/ Windows 95/98/ХР.

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

- Монитор, поддерживающий разрешающую способность работы в 1024*768 пикселей (для удобства отображения одновременно всей информации, расположенной на формах программы).

Для работы необходим BDE (Borland Database Engine).

Файлы базы данных должны находиться в папке DATA рабочей папке программы.

Описание алгоритма:

1. Начало

2. Инициализация окна приложения

3. Ввод данных в программу

4. Обработка данных

5. Поиск книги по стелажу

6. Поиск невозвращенных книг

7. Выход из программы

В результате тестового запуска программы не наблюдалось никаких ошибок и сбоев. Программа работает корректно и полностью отвечает поставленной задаче.

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

Заключение

Данный курсовой проект является актуальным и отвечает предъявленым к нему требованиям.

Задачи выполненные в ходе работы:

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

- Изучены источники.

- На основе анализа средств проектирования и существующих СУБД был выбран инструментарий, наиболее отвечающий требованиям для разработки системы.

- Проведено инфологическое и физическое проектирования БД.

- Разработаны и закодированы методы доступа к данным.

- Разработан удобный пользовательский интерфейс.

Организация данных является ключевым моментом при работе с большими объемами информации. Чрезвычайно важно упорядочить информацию таким образом, чтобы легко и быстро находить нужные сведения. В Microsoft Access подлежащая хранению информация называется данными, а место ее хранения - базой данных.

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

- Каково назначение базы данных и кто будет ею пользоваться?

- Какие таблицы (данные) будет содержать база данных?

- Какие запросы могут потребоваться пользователям этой базы данных?

- Какие формы может потребоваться создать?

Отвечая на эти вопросы, можно разработать проект базы данных и создать полезную и удобную в использовании базу данных. В результате работы мы получили базу данных «Библиотека», которая может выполнять запросы:

- Книги, хранящиеся на i-том стеллаже

- Все книги i-го автора выданные и невозвращенные читателями.

Программа была разработана и написана, на языке программирования высокого уровня Borland Delphi 7.0, с использованием баз данных.

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

Список использованной литературы

1. Электронный самоучитель Delphi 7.0

2. Симонович С.В., Евсеев Г.А., Алексеев А.Г. Специальная информатика: Учебное пособие. - М.: АСТ-ПРЕСС: Инфорком-Пресс, 2001. - 480 с.

3. Сайт http://delhpi.mastak.ru

4. Багриновский К.А. Хрусталев Е.Ю. Новые информационные технологии. - М.: ЭКО, 2007. - 250 с.

5. Берлинер Е.М. Microsoft Windows XP / Е.М. Берлинер, И.Б. Глазырина, Б.Э. Глазырин. - М.: Бином, 2004

6. «Толковый словарь терминов понятийного аппарата информатизации образования» - М.: ИИО РАО, 2006

7. Шалкина Т.Н. «Электронные учебно-методические комплексы: проектирование, дизайн» - 2008

8. IBM PC для пользователя. Краткий курс. - М.: ИНФРА - М, 1999

9. Международные стандарты, поддерживающие жизненный цикл программных средств. М., МП «Экономика», 1996

10. Фаронов В.В. Delphi 6.0. Начальный курс. Учебное пособие., М., 2002.

11. Базы данных: Модели, разработка, реализация / Т.С. Карпова. - СПб: Питер, 2001. - 304 с.: ил.

12. Microsoft Corporation, «Курс уроков по Delphi», 1999-2000 г.

13. Н. Культин. «Основы программирования в Delphi 7», 2003 г.

14. Информатика и информационно-коммуникационные технологии. Базовый курс: Учебник для 8 класса/И.Г. Семакин, С.В. Русаков, Л.В. Шестакова. - М: БИНОМ, Лаборатория знаний, 2005. - 176 с.

15. В. Фаронов. «Программирование баз данных в Delphi 6», 2002 г.

16. Компьютерные технологии обработки информации / Под ред. С.В. Назарова. - М.: Финансы и статистика, 2005. - 248 с.

Приложение

Листинг программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, Spin;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

DBGrid2: TDBGrid;

DBNavigator2: TDBNavigator;

DBGrid3: TDBGrid;

DBNavigator3: TDBNavigator;

DBGrid4: TDBGrid;

DBNavigator4: TDBNavigator;

Table1: TTable;

Table2: TTable;

Table3: TTable;

Table4: TTable;

Query2: TQuery;

DataSource2: TDataSource;

DataSource3: TDataSource;

DataSource4: TDataSource;

Table1FIO: TStringField;

Table1Domadr: TStringField;

Table1Tel: TStringField;

Table1Godrozhd: TDateField;

Table1Pol: TStringField;

Table1Mestorab: TStringField;

Table3Kniga: TStringField;

Table3Komuvidana: TStringField;

Table3Kogda: TDateField;

Table3Nakakoysrok: TStringField;

Table3Datavozvrata: TDateField;

Button5: TButton;

Button6: TButton;

Button7: TButton;

Query1: TQuery;

Button8: TButton;

Query1Nazvanie: TStringField;

Table2Nazvanie: TStringField;

Table2Avtor: TStringField;

Table2Godizdaniya: TStringField;

Table2Izdatelstvo: TStringField;

Table2Zhanr: TStringField;

Table2Stelazh: TStringField;

Table2Kolvoekz: TStringField;

Table2Cena: TStringField;

Table4Data: TDateField;

Table4Chitatel: TStringField;

Table4Kniga: TStringField;

Table4Summashtrafa: TStringField;

Table4Bibliotekar: TStringField;

Button9: TButton;

Query2chitatel: TStringField;

procedure Button5Click (Sender: TObject);

procedure Button6Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure Button4Click (Sender: TObject);

procedure Button7Click (Sender: TObject);

procedure Button8Click (Sender: TObject);

procedure Button9Click (Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1. Button5Click (Sender: TObject);

var

Nazvanie: string[30];

begin

form1.DBGrid1.visible:=false;

form1.DBGrid2.visible:=true;

form1.DBGrid3.visible:=false;

form1.DBGrid4.visible:=false;

form1.dbnavigator1.visible:=false;

form1.dbnavigator2.visible:=true;

form1.dbnavigator3.visible:=false;

form1.dbnavigator4.visible:=false;

Nazvanie:=InputBox ('Выборка информации из БД',

'Укажите номер стелажа и щелкните на OK.', «);

if Nazvanie <> ''

then

begin

with form1. Query1 do begin

Close;

SQL. Clear;

SQL. Add ('SELECT Nazvanie');

SQL. Add ('FROM»:bd:knigi.db» ');

SQL. Add('WHERE');

SQL. Add ('(stelazh = «'+ Nazvanie + '»)');

SQL. Add ('ORDER BY Nazvanie');

Open;

end;

if Query1. RecordCount <> 0 then

DataSource2. DataSet:=Query1

else begin

ShowMessage ('В БД нет записей, удовлетворяющих критерию запроса.');

DataSource2. DataSet:=Table2;

end;

end;

end;

procedure TForm1. Button6Click (Sender: TObject);

begin

form1.DBGrid1.visible:=false;

form1.DBGrid2.visible:=true;

form1.DBGrid3.visible:=false;

form1.DBGrid4.visible:=false;

form1.dbnavigator1.visible:=false;

form1.dbnavigator2.visible:=true;

form1.dbnavigator3.visible:=false;

form1.dbnavigator4.visible:=false;

DataSource2. DataSet:=Table2;

end;

procedure TForm1. Button1Click (Sender: TObject);

begin

form1.DBGrid1.visible:=true;

form1.DBGrid2.visible:=false;

form1.DBGrid3.visible:=false;

form1.DBGrid4.visible:=false;

form1.dbnavigator1.visible:=true;

form1.dbnavigator2.visible:=false;

form1.dbnavigator3.visible:=false;

form1.dbnavigator4.visible:=false;

end;

procedure TForm1. FormCreate (Sender: TObject);

begin

form1.DBGrid1.visible:=false;

form1.DBGrid2.visible:=false;

form1.DBGrid3.visible:=false;

form1.DBGrid4.visible:=false;

form1.dbnavigator1.visible:=false;

form1.dbnavigator2.visible:=false;

form1.dbnavigator3.visible:=false;

form1.dbnavigator4.visible:=false;

end;

procedure TForm1. Button2Click (Sender: TObject);

begin

form1.DBGrid1.visible:=false;

form1.DBGrid2.visible:=true;

form1.DBGrid3.visible:=false;

form1.DBGrid4.visible:=false;

form1.dbnavigator1.visible:=false;

form1.dbnavigator2.visible:=true;

form1.dbnavigator3.visible:=false;

form1.dbnavigator4.visible:=false;

end;

procedure TForm1. Button3Click (Sender: TObject);

begin

form1.DBGrid1.visible:=false;

form1.DBGrid2.visible:=false;

form1.DBGrid3.visible:=true;

form1.DBGrid4.visible:=false;

form1.dbnavigator1.visible:=false;

form1.dbnavigator2.visible:=false;

form1.dbnavigator3.visible:=true;

form1.dbnavigator4.visible:=false;

end;

procedure TForm1. Button4Click (Sender: TObject);

begin

form1.DBGrid1.visible:=false;

form1.DBGrid2.visible:=false;

form1.DBGrid3.visible:=false;

form1.DBGrid4.visible:=true;

form1.dbnavigator1.visible:=false;

form1.dbnavigator2.visible:=false;

form1.dbnavigator3.visible:=false;

form1.dbnavigator4.visible:=true;

end;

procedure TForm1. Button7Click (Sender: TObject);

var

Chitatel: string[30];

begin

form1.DBGrid1.visible:=false;

form1.DBGrid2.visible:=false;

form1.DBGrid3.visible:=false;

form1.DBGrid4.visible:=true;

form1.dbnavigator1.visible:=false;

form1.dbnavigator2.visible:=false;

form1.dbnavigator3.visible:=false;

form1.dbnavigator4.visible:=true;

Chitatel:=InputBox ('Выборка информации из БД',

'Укажите книгу и щелкните на OK.', «);

if Chitatel <> ''

then

begin

with form1. Query2 do begin

Close;

SQL. Clear;

SQL. Add ('SELECT Chitatel');

SQL. Add ('FROM»:bd:shtraf.db» ');

SQL. Add('WHERE');

SQL. Add ('(kniga = «'+ Chitatel + '»)');

SQL. Add ('ORDER BY Chitatel');

Open;

end;

if Query2. RecordCount <> 0 then

DataSource4. DataSet:=Query2

else begin

ShowMessage ('В БД нет записей, удовлетворяющих критерию запроса.');

DataSource4. DataSet:=Table4;

end;

end;

end;

procedure TForm1. Button8Click (Sender: TObject);

begin

form2.show;

end;

procedure TForm1. Button9Click (Sender: TObject);

begin

DataSource4. DataSet:=Table4;

end;

end.

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm2 = class(TForm)

Label1: TLabel;

Button1: TButton;

Button2: TButton;

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2. Button1Click (Sender: TObject);

begin

form2. Close;

form1.close;

end;

procedure TForm2. Button2Click (Sender: TObject);

begin

form2. Close;

end;

end

Размещено на Allbest.ru


Подобные документы

  • Разработка приложения для осуществления работы с медицинскими данными с последующей их визуализацией. Изучение типов данных и свойств полей Access. Компоненты наборов данных. Структура базы данных для клиники. Экранные формы для отображения справочников.

    курсовая работа [1,5 M], добавлен 14.08.2014

  • Клиент-серверная архитектура проектируемой программы по проверке знаний студентов, структура базы данных. Разработка ее программно-интерфейсной реализации в среде Delphi. Установка и запуск приложения, информация для пользователя, листинг программы.

    дипломная работа [2,1 M], добавлен 20.06.2011

  • Характеристика системы программирования. Главные составные части Delphi. Интерфейс программного приложения. Результаты работы программы. Руководство системного программиста и оператора. Язык программирования Delphi, среда компилятора Borland 7.0.

    курсовая работа [1,6 M], добавлен 29.05.2013

  • Словесное описание предметной области. Построение схемы функциональных зависимостей. Реализация базы данных средствами утилиты Enterprise Manager в формате SQL Server Management Studio. Разработка алгоритмов работы программы и приложения пользователя.

    дипломная работа [1,8 M], добавлен 26.03.2015

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

    дипломная работа [1,8 M], добавлен 02.11.2015

  • Назначение программного модуля (базы данных). Разработка информационной базы данных для колледжа. Поиск пользователями информации о преподавателях и дисциплинах. Анализ входной и выходной информации. Разработка алгоритма работы программы-приложения.

    реферат [513,1 K], добавлен 22.10.2012

  • Разработка программного продукта - базы данных "Экскурсия" в интегрированной среде программирования C++ Builder 6. Определение порядка просмотра данных базы, их редактирования и удаления. Особенности руководства пользователя и общего интерфейса программы.

    курсовая работа [2,4 M], добавлен 03.11.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.