В силу вышесказанного можно определить основную функцию СУБД как предоставление пользовательского интерфейса с базой данных. Этот интерфейс является в некотором роде границей системы, определяющей уровень доступности пользователю информации на внешнем уровне реализации. В терминах архитектуры « клиент - сервер » СУБД можно определить как некий сервер, предоставляющий полную поддержку на всех трёх уровнях. Приложения и операции, выполняемые над базой данных посредством СУБД, являются клиентами.
Поскольку использование баз данных является одним из краеугольных камней, на которых построено существование различных организаций, пристальное внимание разработчиков приложений баз данных вызывают инструменты, при помощи которых такие приложения можно было бы создавать. Выдвигаемые к ним требования, описанные в предыдущем разделе, должны выполняться одновременно и в степени, обеспечивающей максимальную эффективность. Однако существуют ситуации, когда выполнение некоторых требований не целесообразно или вовсе не требуется в рамках некоторого проекта. В таких случаях среда программирования должна обеспечивать достаточную гибкость на этапе проектирования и разработки, чтобы успешно манипулировать свойствами баз данных, как в отдельности, так и в комплексе без ухудшения их эксплуатационных характеристик.
Delphi удовлетворяет изложенным выше требованиям. Приложения с помощью Delphi разрабатываются быстро, причем взаимодействие разработчика с интерактивной средой Delphi не вызывает внутреннего отторжения, а наоборот, оставляет ощущение комфорта. Delphi-приложения эффективны, если разработчик соблюдает определенные правила (и часто – если не соблюдает).
То обстоятельство, что Delphi позиционируется как средство создания приложений, взаимодействующих с базами данных, и ориентировано на рынок инструментальных средств типа « клиент – сервер », где по настоящее время доминируют интерпретируемые языки, позволило не задумываться над созданием оптимизирующего компилятора, способного использовать все достоинства архитектур современных процессоров.
Мощность и гибкость Delphi при работе с базами данных основана на низкоуровневом ядре – процессоре баз данных Borland Database Engine (BDE). Его интерфейс с прикладными программами называется Integrated Database Application Programming Interface (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. Главное окно утилиты настройки BDE имеет вид, изображенный на рисунке 2.
Рисунок 2 – Главное окно утилиты BDE Administrator
Библиотека объектов содержит набор визуальных компонент, значительно упрощающих разработку приложений для СУБД со всевозможной архитектурой. Объекты инкапсулируют в себя нижний уровень - Borland Database Engine. Предусмотрены специальные наборы компонент, отвечающих за доступ к данным, и компонент, отображающих данные. Компоненты доступа к данным позволяют осуществлять соединения с БД, производить выборку, копирование данных, и т.п.
Таблицы сохраняются в базе данных. Некоторые СУБД сохраняют базу данных в виде нескольких отдельных файлов, представляющих собой таблицы (в основном, все локальные СУБД), в то время как другие состоят из одного файла, который содержит в себе все таблицы и индексы (InterBase).
Объекты БД в Delphi основаны на SQL и включают в себя полную мощь Borland Database Engine. В состав Delphi также включен Borland SQL Link, поэтому доступ к СУБД Oracle, Sybase, Informix и InterBase происходит с высокой эффективностью. Кроме того, Delphi включает в себя локальный сервер InterBase для того, чтобы можно было разработать расширяемые на любые внешние SQL-сервера приложения в оффлайновом режиме. Разработчик в среде Delphi, проектирующий информационную систему для локальной машины, может использовать для хранения информации файлы формата .dbf (как в dBase или Clipper) или .db (Paradox). Если же он будет использовать локальный InterBase for Windows 4.0 (это локальный SQL-сервер, входящий в поставку), то его приложение безо всяких изменений будет работать и в составе большой системы с архитектурой клиент-сервер.
В состав пакета Delphi также входит множество специальных утилит и компонентов для работы и управления базами данных. Среда Delphi работает с таблицами баз данных, которые физически располагаются на диске. Такие таблицы называются физическими. Для доступа к данным, содержащимся в физических таблицах, применяются наборы данных.
Набор данных по определению не будет представлять собой физическую таблицу, поэтому будем называть набор данных логической таблицей. Именно с логическими таблицами работает большинство из стандартных компонентов Delphi. Таким образом, при создании приложений баз данных придется работать в основном с наборами данных (или логическими таблицами) посредством источников данных.
Источник данных (data source) представляет собой промежуточный элемент, который применяется для связи набора данных с визуальными компонентами. Получается как бы цепочка: «набор данных — источник данных — визуальный компонент». Для этой цели в Delphi служит компонент datasource.
Связь между набором данных и источником данных обычно устанавливается на этапе проектирования приложения с помощью инспектора объектов. Delphi допускает установку или разрыв этой связи и в процессе выполнения приложения. При установлении новой связи визуальные компоненты автоматически подключатся к новому набору данных и будут отображать его значения.
Доступ к данным в Delphi обеспечивает класс tdataset, который представляет наборы данных в виде совокупности строк и столбцов. Строки являются записями, а столбцы — полями таблицы базы данных. Класс tdataset обеспечивает возможность редактирования набора данных, а также предоставляет средства для перемещения (навигации) по записям. Многие из свойств, событий и методов класса tdataset являются абстрактными (так как не могут быть использованы непосредственно классом tdataset, а лишь в его классах-потомках).
2.2 СУБД InterBase
InterBase - это система управления реляционными базами данных, поставляемая корпорацией BORLAND для построения приложений с архитектурой клиент-сервер произвольного масштаба: от сетевой среды небольшой рабочей группы с сервером до информационных систем крупного предприятия на базе промышленных серверов.
Таблица 2 – Примерное время выборки данных с использованием различных СУБД.
СУБД
Время выполнения SQL-запроса, мс.
Время линейного поиска, мс.
InterBase 6.0
0.2 – 0.7
3.5
Paradox + MS ODBC
~ 5 – 28
~ 104
Access + MS Jet 4.0
0.2 – 1.0
~ 80
DBISAM 2.04
3.0 – 3.5
2.0 – 3.0
InterBase полностью совместим со стандартом ANSI SQL 92, а также имеет свое собственное расширение SQL для хранимых процедур и триггеров. В сравнении со многими другими СУБД, InterBase предоставляет очень эффективный механизм триггеров: каждая таблица может иметь большое количество триггеров, которые выполняются автоматически при вставке, изменении или удалении каждой отдельной записи, до или после этих событий. Многие функции существующих СУБД были впервые реализованы в InterBase – это, в частности, обновляемые представления, события (event alerters), многомерные массивы и BLOB-поля. Более того, некоторые механизмы, такие, например, как двухфазное подтверждение транзакций, до сих пор остаются совершенно уникальными, представленными только в InterBase.
В комплекте поставки InterBase также имеется достаточно удобная утилита для доступа и администрирования баз данных – Interactive SQL, позволяющая одинаково эффективно использовать достоинства данной СУБД как при работе с локальными базами, так и с базами, располагающимися на удаленных серверах.
Страницы: 1, 2, 3, 4, 5, 6, 7