Мегаобучалка Главная | О нас | Обратная связь


Среда программирования Delphi



2020-03-17 165 Обсуждений (0)
Среда программирования Delphi 0.00 из 5.00 0 оценок




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

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

В пакет Delphi входит однопользовательская версия InterBase для Windows - Local InterBase. Используя Local InterBase можно создавать и отлаживать приложения, работающие с данными по схеме клиент-сервер, без подключения к настоящему серверу. В дальнейшем потребуется только перенастроить используемый псевдоним (алиас) базы данных, и программа будет работать с реальной базой без перекомпиляции. Кроме того, Local InterBase можно использовать в приложениях для работы с данными вместо таблиц Paradox и dBase.

СУБД InterBase отличается чрезвычайно низкими системными требованиями и при этом сравнительно высокой производительностью (Таблица 2), а также легкостью администрирования относительно других программных продуктов. InterBase является кроссплатформенным продуктом, поддерживающим большое количество различных операционных систем, при этом допускается работа с InterBase, используя несколько сетевых протоколов: TCP/IP, NetNEUI, IPX/SPX.

Таблица 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 можно считать версионную архитектуру, которая обеспечивает уникальные возможности при многопользовательской работе (пишущие пользователи никогда не блокируют читающих). Помимо этого, версионная архитектура позволяет отказаться от использования протокола транзакций (transaction log), который в других СУБД служит для восстановления базы данных после сбоев, поэтому InterBase обладает очень высокой надежностью и устойчивостью.
Также в InterBase реализован механизм оптимистической блокировки на уровне записи. Это означает, что сервер блокирует только те записи, которые реально были изменены пользователем, и не блокирует всю страницу данных целиком. Эта особенность еще больше снижает вероятность конфликтов при многопользовательском режиме.

InterBase полностью совместим со стандартом ANSI SQL 92, а также имеет свое собственное расширение SQL для хранимых процедур и триггеров. В сравнении со многими другими СУБД, InterBase предоставляет очень эффективный механизм триггеров: каждая таблица может иметь большое количество триггеров, которые выполняются автоматически при вставке, изменении или удалении каждой отдельной записи, до или после этих событий. Многие функции существующих СУБД были впервые реализованы в InterBase – это, в частности, обновляемые представления, события (event alerters), многомерные массивы и BLOB-поля. Более того, некоторые механизмы, такие, например, как двухфазное подтверждение транзакций, до сих пор остаются совершенно уникальными, представленными только в InterBase.

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

Немаловажной особенностью сервера InterBase является возможность расширения стандартного набора SQL-функций при помощи пользовательских библиотек – User Defined Functions, обеспечивающие следующие возможности:

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

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

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

Также реализованы механизмы обработки BLOB-полей на сервере при помощи BLOB-фильтров. InterBase отличается значительной устойчивостью, поскольку специально был спроектирован для применения в Intranet-приложениях, приложениях для мобильных устройств и встроенных приложениях баз данных.

База данных реализованная средствами InterBase состоит из различных объектов, таких как таблицы, виды, домены, сохраненные процедуры, триггеры. Объекты базы данных содержат всю информацию о её структуре и данных (метаданные). Информацию о метаданных хранится в специальных таблицах, которые называются системными таблицами (system tables). Системные таблицы имеют специальные столбцы, которые содержат информацию о типе метаданных в этой таблице. Имена всех системных таблиц начинаются с "RDB$". Пример системной таблицы - RDB$RELATIONS, которая содержит информацию о каждой таблице в базе данных.

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

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

Типы данных, хранимые в таблицах InterBase, очень разнообразны. Это и символьные значения, и разнообразные типы числовых значений, числа в двоичном и двоично-десятичном формате, логические типы, специальные форматы для хранения значений даты, времени и денежных сумм, графические типы для хранения графических изображений в самых популярных форматах, а также строковые значения неограниченной длины (в том числе и форматированные в формате rtf) и даже типы поддерживаемые технологией OLE (Object Linking and Embedding) фирмы Micrоsoft. Такое разнообразие типов данных отвечает самым изысканным задачам, которым призвана служить создаваемая современная реляционная база данных и без сомнения подходит для решения круга задач возложенного на базу данных гигиенических нормативов.




2020-03-17 165 Обсуждений (0)
Среда программирования Delphi 0.00 из 5.00 0 оценок









Обсуждение в статье: Среда программирования Delphi

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

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



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (165)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)