В начало
ЛЕКЦИЯ
Обработка данных в БД. Технология создания приложения в среде Delphi
В качестве среды
программирования для рассмотрения технологии создания приложений баз данных в данном
разделе выбрана объектно-ориентированная среда программирования Delphi, которая
на сегодня является одной из самых распространенных средств создания приложений
баз данных для корпоративных применений. Простота и естественность языка,
ориентация системы на разработку именно такого рода приложений, наконец,
эффективность (большая производительность и относительно небольшие размеры)
создаваемых с ее помощью программ сделали
Delphi незаменимым средством разработки различного рода клиентских мест, т.е.
программ для доступа к БД. Таблицы БД
располагаются на диске. Они являются физическими объектами. Для операций с
данными, содержащимися в таблицах, используются наборы данных. В терминах системы Delphi набор
данных – это совокупность записей, взятых из одной или нескольких таблиц баз
данных. Записи, включаемые в набор, данных отбираются по определенным правилам.
Набор данных является логической таблицей, с которой можно работать при
выполнении приложения. Взаимодействие таблицы и набора данных напоминает
взаимодействие физического файла и файловой переменной. Для выполнения операций
с наборами данных используются два способа доступа к данным: навигационный и реляционный. Навигационный способ доступа заключается в обработке каждой
отдельной записи набора данных. Этот способ обычно используется в локальных БД
или в удаленных БД небольшого размера. При навигационном способе доступа каждый
набор данных имеет невидимый указатель текущей записи. Указатель определяет
запись, с которой могут выполняться такие операции, как редактирование или
удаление. Поля текущей записи доступны для просмотра. Например, компоненты DBEdit и DBText; отображают содержимое соответствующих полей именно текущей записи.
Компонент DBGrid указывает текущую
запись с помощью специального маркера. Реляционный способ доступа основан на обработке группы
записей. Если требуется обработать одну запись, все равно обрабатывается
группа, состоящая из одной записи. При реляционном способе доступа используются
SQL-запросы,
поэтому его называют также SQL-ориентированным. Реляционный
способ доступа ориентирован на работу с удаленными БД и является для них
предпочтительным. Однако его можно использовать и для локальных БД. Реляционный способ
доступа к данным в приложении можно реализовать с помощью компонента Query. Средства для работы с реляционными базами данных. Хотя система Delphi не имеет
своего формата таблиц БД, она тем не менее обеспечивает мощную поддержку
большого количества различных СУБД – как локальных (например, dBase или Paradox), так
и промышленных (например, Sybase или InterBase). Средства Delphi, предназначенные для работы с
БД, можно разделить на два вида: ·
инструменты ·
компоненты К инструментам относятся специальные
программы и пакеты, обеспечивающие обслуживание БД вне разрабатываемых
приложений. Компоненты предназначены
для создания приложений, осуществляющих операции с БД. Напомним, что в Delphi имеется
окно Обозревателя дерева объектов, которое отображает иерархическую структуру
объектов текущей формы. При разработке приложений баз данных это окно удобно
использовать для просмотра структуры базы данных и изменения связей между
компонентами. Кроме того, в окне Редактора кода имеется вкладка Diagram служащая для отображения и настройки взаимосвязей между элементами баз
данных. Технология
создания информационной системы. Продемонстрируем возможности Delphi по
работе с БД на примере создания простой информационной системы. Эту
информационную систему можно разработать даже без написания кода: все
необходимые операции выполняются с помощью программы Database Desktop,
Конструктора формы и Инспектора объектов. Работа над информационной системой
состоит из следующих основных этапов: ·
создание БД; ·
создание приложения. Кроме приложения и
БД, в информационную систему также входят вычислительная система и СУБД.
Предположим, что компьютер или компьютерная сеть уже существуют, и их
характеристики удовлетворяют потребностям будущей информационной системы. В качестве СУБД выберем Delphi. В простейшем случае БД состоит из
одной таблицы. Если таблицы уже имеются, то первый этап не выполняется.
Отметим, что совместно с Delphi. поставляется большое количество примеров приложений, в том
числе и приложений БД. Готовые таблицы также можно использовать для своих
приложений. Для работы с
таблицами БД при проектировании приложения удобно использовать программу Database Desktop, которая позволяет: ·
создавать таблицы; ·
изменять структуры; ·
редактировать записи. Кроме того, с помощью
Database Desktop можно выполнять и другие действия над БД (создание, редактирование и
выполнение визуальных и SQL-запросов, операций с псевдонимами). Для примера рассмотрим создание
приложения, использующего механизм доступа ВDЕ и позволяющего перемещаться по
записям таблицы БД, просматривать и редактировать поля, удалять записи из
таблицы, а также вставлять новые. Файл проекта приложения обычно не требует от
разработчика выполнения каких-либо действий. Поэтому при создании приложения
главной задачей является конструирование форм, в простейшем случае – одной
формы. Компонент Table
обеспечивает взаимодействие с таблицей БД. Для связи с требуемой таблицей нужно
установить в соответствующие значения свойство DataBaseName, указывающее путь к БД, и свойство TableName, указывающее имя таблицы. После задания
таблицы для открытия набора данных свойство Active должно быть установлено в значение True. В рассматриваемом
приложении использована таблица клиентов, входящая в состав поставляемых с Delphi примеров, ее
главный файл – Clients.dbf Файлы этой и других таблиц
примеров находятся в каталоге, путь к которому указывает псевдоним dbdemos. Настройка псевдонима может быть выполнена с помощью
программы BDE Administrator. Компонент DataSourse1 является
промежуточным звеном между компонентом Table, соединенным с реальной таблицей
БД, и визуальными компонентами DBGrid и DBNavigator, с помощью которых пользователь
взаимодействует с этой таблицей. На
компонент Table1, с которым связан
компонент DataSourse1, указывает
свойство DataSet последнего. Компонент DBGrid1 отображает
содержимое таблицы БД в виде сетки, в которой столбцы соответствуют полям, а
строки – записям таблицы. По умолчанию пользователь может просматривать и
редактировать данные. Компонент DBNavigator1 позволяет
пользователю перемещаться по таблице, редактировать, вставлять и удалять
записи. Компоненты DBGrid1 и DBNavigator1 связываются со своим источником данных -компонентом DataSourse1 через свойства DataSourse. Взаимосвязь
компонентов приложения и таблицы БД и используемые при этом свойства
компонентов показаны на рис. 3. Разрабатывая
приложение, можно задавать значения всех свойств компонентов с помощью Инспектора
объектов. При этом требуемые значения либо непосредственно вводятся в поле,
либо выбираются в раскрывающихся списках. В последнем случае приложение
создается с помощью мыши и не требует набора каких-либо символов на
клавиатуре. В табл. 12 приведены компоненты, используемые для работы с таблицей
БД, их основные свойства и значения этих свойств. Значения свойств компонентов Таблица 12
В дальнейшем при
организации приложений, использующих механизм доступа BDE, предполагается, что названные
компоненты связаны между собой именно таким образом, и свойства, с помощью
которых эта связь осуществляется, не рассматриваются. Для автоматизации
процесса создания формы, использующей компоненты для операций с БД, можно
вызвать Database Form Wizard (Мастер форм баз данных). Этот
Мастер расположен на странице Business Хранилища объектов. Мастер позволяет
создавать формы для работы с отдельной таблицей и со связанными таблицами, при
этом можно использовать наборы данных Table или Query. |
| ||||||||||||||||||||||