Смекни!
smekni.com

Разработка приложений базы данных "Командировка" (стр. 3 из 5)

Для создания таблиц данных использовалась утилита Database Desktop. На этапе проектирования было создано 5 таблиц (Приложение 4).

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


2. Конструкторская часть

2.1 Основные этапы разработки БД и обзор используемых средств Delphi

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

Утилита конфигурации BDE по умолчанию устанавливается в папку Program Files\Common Files\Borland Shared\BDE и носит имя bdeadmin.exe. После ее запуска на экране появится следующее окно:

Главное окно программы BDE Administrator состоит из двух основных областей. В левой части при первоначальном запуске активна закладка Databases (Базы данных), на которой отображаются все зарегистрированные в системе псевдонимы баз данных. Справа выводится информация о выбранной в левой части базе данных.

Работа с псевдонимами БД.

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

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

Псевдоним для работы с локальными БД имеет всего три параметра. Для таблиц Paradox можно оставить значения первых двух параметров Default Driver, Enable BCD по умолчанию. Третий параметр Path (Путь) необходимо задать.

Затем необходимо создать таблицы с помощью утилиты Database Desktop (Приложение 4).

Borland Database Desktop доступна в разделе меню Tools / Database Desktop. При разработке новых приложений наиболее удобна база данных Paradox 7. Таблицы Paradox хранят данные в двух файлах:.DB и.MB. В.DB‑файле содержится большинство типов полей таблицы, такие как: строковые, числовые, даты и т.п. В.MB‑файле содержаться части больших полей, таких как Мемо. Для этого типа поля колонка Size определяет, сколько запоминается в.DB‑файле, а остаток сохраняется в.MB‑файле. Т. е. колонка Size ни в коей мере не ограничивает количество данных, которые могут содержаться в поле Мемо. Delphi справляется с проблемой наличия нескольких файлов автоматически. Некоторые типы данных требуют указания размера. Это говорит базе данных о наибольшем объеме данных, который может храниться в поле. Тип данных Number не использует понятия размер поля.

Использование ключей

Ключи способствуют эффективной работе машины базы данных. Таблицы Paradox поддерживают первичные и вторичные индексы (ключи). Первичные индексы создаются вводом звездочки (*) в колонке Key. Первичный ключ может состоять больше чем из одного поля, но они должны идти друг за другом и начинаться с первого поля таблицы. Хотя в большинстве баз данных не обязательно иметь ключи, однако на практике хорошо для каждой таблицы иметь свой ключ. Отсутствие ключа говорит о том, что в таблице нет полей, гарантирующих уникальность каждой записи. Нужно добавить автоинкрементное поле, если первичный ключ может повторяться.

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

Установка проверок правильности данных

Таблицы Paradox поддерживают множество характеристик, которые являются правилами проверки правильности данных при введении их в таблицу. И DBD, и Delphi поддерживают эти правила. Проверки правильности данных являются правилами для данных на уровне поля.

Перед началом работы, на этапе планирования разрабатывается алгоритм будущей программы (Приложение 5).

Получение доступа к созданной таблице

Простейшим способом обеспечения доступа и манипуляции данными является использование визуальных компонентов базы данных. Визуальные компоненты базы данных хранятся на двух страницах библиотеки визуальных компонентов: Data Access и Data Control. Органы управления на странице Data Access используются для того, чтобы дать информацию о таблицах базы данных и функциях, которые должны быть использованы. Страница Data Control содержит ряд визуальных компонентов, которые могут отображать информацию базы данных или обеспечивать интерфейс для манипуляций данными.

Первым шагом в создании приложения, обеспечивающего доступ к уже созданной базе данных должно быть размещение компонента TTable на форме и задание свойств DataBaseName и TableName. Для этого надо сделать следующее:

Обеспечение связи

Delphi имеет возможность доступа к информации в базе данных, которая поставляется рядом компонентов, известных как наборы данных (DataSets), одним из которых является компонент TTable. Компоненты другого типа, связанные с данными – это компоненты, которые отображают и манипулируют теми данными, которые доступны Delphi. Чтобы обеспечить уровень абстракции для компонентов, которые могут перемещаться по данным и отображать информацию, был разработан компонент связи TdataSource – источник данных. TdataSource также позволяет узнать, изменялись ли данные, и определить, каково состояние набора или источника данных.

Управляющие компоненты для просмотра и модификации данных

Отображение и манипуляцию данными наиболее просто осуществить с помощью управляющих компонентов, связанных с данными (их называют data-aware или data-bound). Большинство средств управления с привязкой к данным предназначено для связи полей базы данных с визуальным компонентом. Все компоненты на странице DataControl, за исключением DBNavigator, используются для отображения информации баз данных. Чтобы начать работать с ними добавляется сетка DBGrid.

Delphi имеет мощное средство управления, которое позволяет перемещаться между объектами в таблице – навигатор DBNavigator.

Доступ к полям

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

В простейшем случае, когда приложению известно определение таблицы, поля могут быть доступны непосредственно, без необходимости определения, что они собой представляют или каков тип их данных. В нашем примере в таблице Readers поле №Билета – это первый столбец; поэтому Readers. Fields[0] равно значению №Билета для текущей выделенной записи. Заметьте, что массив начинается с индекса 0. Заметьте также, что для правильного обращения к данным должен быть известен тип данных.

Модификация полей в таблице

По умолчанию компонент TTable может использовать все поля связанной с ним таблицы. Кроме того, Delphi позволяет разработчику модифицировать используемые поля, основанные на вычислениях, и устанавливать атрибуты для каждого поля. Чтобы запросить редактор полей компонента TTable, дважды щелкните на экземпляре TTable. Это вызовет появление диалогового окна, которое позволяет вам добавлять, удалять и определять новые поля. Заголовок окна содержит имя формы и таблицы.

Это диалоговое окно обеспечивает также простой доступ к компонентам TFields. Поля являются производными от типа TField, с некоторой специальной информацией о типе данных. Например, если одно из полей – строка, поле должно иметь тип TStringField. Подобно другим компонентам, поля имеют свойства и события. Одно из преимуществ такого подхода состоит в том, что разные поля в таблице могут иметь разные свойства. Это удобно при необходимости защитить одно из полей от изменений, но разрешить пользователю модифицировать другие поля. Чтобы реализовать это, нужно установить значение свойства ReadOnly для поля, которое нужно защитить, равным True. Большое количество свойств поля определяет, как должны выравниваться данные – справа, слева или по центру отображаемого поля. Например, свойство Alignment. Кроме того, для чисел с плавающей запятой может быть установлено значение Precision (точность), которое указывает, как должны округляться числа. Можно установить отображаемые имена полей, в частности, русские имена.

Перемещение по записям

Навигатор обеспечивает возможность перемещения по таблице.

Создание интерфейса

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

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

procedure TOsnForma. Rabotnik1Click (Sender: TObject);

begin

OsnTable. Active:=false;

OsnTable. TableName:='Работник';

Tag:=1;

Redakt;

OsnTable. Active:=true;

OsnForma. Caption:='Работник';

Komandirovka1. Enabled:=true;

Rabotnik1. Enabled:=false;

DenSredstva1. Enabled:=true;

Documenty1. Enabled:=true;

Detali1. Enabled:=true;

end;

procedure TOsnForma. DenSredstva1Click (Sender: TObject);

begin

OsnTable. Active:=false;

OsnTable. TableName:='Денежные средства';

Tag:=2;

Redakt;

OsnTable. Active:=true;

OsnForma. Caption:='Денежные средства';

Komandirovka1. Enabled:=true;

Rabotnik1. Enabled:=true;

DenSredstva1. Enabled:=false;

Documenty1. Enabled:=true;

Detali1. Enabled:=true;

end;

procedure TOsnForma. Documenty1Click (Sender: TObject);

begin

OsnTable. Active:=false;

OsnTable. TableName:='Сопроводительные документы';

Tag:=3;

Redakt;

OsnTable. Active:=true;

OsnForma. Caption:='Сопроводительные документы';

Komandirovka1. Enabled:=true;