База данных InterBase для начинающих
Версионная архитектура InterBase SQL Server
Преимущества сервера InterBase
Язык InterBase SQL
Актуальная версия InterBase server
InterBase SMP 2009 Developer Edition
InterBase SMP 2009 ToGo
Производительность InterBase
InterBase против Firebird
Начало работы с сервером InterBase
Создание новой базы данных InterBase
Безопасность InterBase Server
Пользователь SYSDBA. Смена пароля по умолчанию
Подключение к InterBase из клиентского приложения
InterBase и VBScript, Visual Basic, VBA
InterBase и Delphi
InterBase и .Net
InterBase и C++
InterBase и 64 бита
Редактирование базы InterBase — создание таблиц, связей, ключей
Создание таблицы InterBase при помощи IBConsole
Создание таблицы InterBase при помощи утилиты isql.exe
Утилиты администрирования InterBase
Что такое InterBase Server?
InterBase SQL Server — это система управления базами данных изначально разработанная компанией Borland. В настоящее время разработчиком InterBase является компания Embarcadero.
Версионная архитектура InterBase SQL Server
База данных InterBase построена на версионной архитектуре хранения данных. Этот подход обладает рядом преимуществ перед блокировочными СУБД:
- Для восстановления баз данных InterBase после системного сбоя, нет необходимости поддержки лога транзакций.
- Клиенты, читающие данные никогда не блокируют клиентов, осуществляющих запись данных.
Преимущества сервера InterBase
Сервер InterBase — это кроссплатформенная СУБД, поддерживающая большинство операционных систем: Windows, Linux, Unix, Solaris, Mac OS и т.д.
InterBase обладает целым рядом преимуществ, выгодно отличающих его от остальных СУБД:
- Обновляемые представления View;
- Двухфазное подтверждение транзакций;
- Эффективный механизм триггеров;
- Серверная обработка BLOB-полей (BLOB-filters);
- События (Уведомления);
- Шифрование сетевого трафика, базы данных, файлов бекапа и отдельных столбцов БД.
Язык InterBase SQL
Язык InterBase SQL совместим со стандартом SQL-92. Кроме того, InterBase server поддерживает расширения стандартного подмножества языка SQL за счет пользовательских функций UDF (User Definded Functions). InterBase SQL предоставляет расширенные возможности SQL для хранимых процедур и триггеров — PSQL.
Актуальная версия InterBase server
На сегодняшний момент новейшая версия — InterBase 2009.
Сервер InterBase 2009 доступен в 4-х вариантах:
- InterBase SMP 2009 Developer;
- InterBase SMP 2009 Server;
- InterBase SMP 2009 Desktop;
- InterBase SMP 2009 ToGo.
InterBase SMP 2009 Developer Edition
Версия InterBase SMP Developer Edition поставляется бесплатно в составе интегрированной среды разработки CodeGear и для первого знакомства c базой InterBase лучше воспользоваться ей.
InterBase SMP 2009 ToGo
Однопользовательская версия InterBase SMP 2009 ToGo встраивается в приложения в качестве dll и предназначена для разработки Portable-приложений с размером базы данных менее 3 мегабайт. Между тем она обладает всеми необходимыми функциями полноценной БД, включая поддержку транзакций и SQL.
Скачать различные версии InterBase можно здесь: InterBase скачать.
Производительность InterBase
Сервер InterBase разрабатывался с учетом современных требований к производительности СУБД. В последних версиях InterBase SQL Server применен ряд технологий значительно повышающих скорость работы:
- Поддержка симметричной многопроцессорной обработки InterBase SMP (symmetric multiprocessing) позволяет задействовать возможности многопроцессорной архитектуры при единственном серверном процессе InterBase SuperServer.
- Поддержка технологии Hyperthreading.
- Пакетное выполнение SQL запросов позволяет уменьшить сетевой трафик и повысить производительность.
InterBase против Firebird
Хотя в основе версий InterBase 2009 и Firebird 2.5 лежит общий исходный код InterBase 6.0, эти СУБД на современном этапе развития значительно отличаются друг от друга.
В InterBase 2009 реализованы следующие возможности, которые не поддерживаются в последней версии Firebird 2.5:
- Шифрование базы данных, а так же отдельных столбцов.
- Шифрование сетевого трафика (Over-the-Wire (OTW) Encryption.
- Протоколирование операций на базе журналов.
- Возможность аутентификации на уровне базы данных.
- Функция экспорта содержимого файлов базы данных (Dump) в режиме онлайн.
- Функция восстановления состояния из архивов на определенный момент времени (Point-in-Time Recovery).
- Логический тип данных Boolean.
Клиент-серверная версия Firebird SQL Server существует в двух вариантах: Firebird Super Server и Firebird Classic. В InterBase реализована архитектура, совмещающая в себе достоинства Classic и SuperServer — InterBase SuperServer + SMP.
Архитектура Super Server — все клиентские подключения обслуживаются одним серверным процессом, имеется общий клиентский кеш. За счет этого достигается меньший расход ресурсов на обслуживание клиентов. Недостатком Super Server является отсутствие возможности задействовать несколько процессоров для работы сервера.
Архитектура Classic Server — на каждое клиентское подключение создает отдельный серверный процесс. Архитектура Classic Server более надежна, т.к. сбой одного серверного процесса не вызывает отказ в обслуживании всех клиентов. Кроме того, Classic Server позволяет распределить клиентские подключения на несколько процессоров. Недостатком архитектуры являются дополнительные накладные расходы на обслуживание и синхронизацию процессов, а так же отсутствие общего клиентского кеша.
InterBase Super Server + SMP (symmetric multiprocessing) объединяет в себе преимущества двух архитектур Classic и Superserver. Один серверный процесс InterBase Super Server позволяет сократить накладные расходы и использовать общий клиентский Кеш, а технология симметричной обработки SMP задействует возможности многопроцессорной архитектуры, которые раньше были недоступны для Classic Server.
Начало работы с InterBase
Для знакомства с InterBase можно использовать тестовую базу данных employee.gdb. Она входит в установочный комплект InterBase и расположена в папке C:\CodeGear\InterBase\examples\database\.
Создание новой базы данных InterBase
Создать новую базу данных можно через консоль управления IBConsole. Она находится в папке C:\CodeGear\InterBase\bin:
Альтернативный способ создания пустой базы InterBase через утилиту isql:
- запустите утилиту C:\CodeGear\InterBase\bin\isql.exe
- выполните инструкцию создания базы данных:
В ISQL каждое выражение завершается точкой с запятой.
Проверить подключение можно, выполнив запрос:
SQL> select TMP$DATABASE_PATH from TMP$DATABASE;
Если все сделано правильно, SQL запрос вернет путь к подключенной базе данных:
========================================================================== D:\TEMP\TEST.GDB
Безопасность InterBase Server
InterBase SQL Server поддерживает несколько методов аутентификации пользователей:
- Classic Authentication Scheme — пользователи и пароли являются едиными для всех баз и хранятся в системной базе данных InterBase — admin.ib (isc4.gdb).
- Embedded User Authentication — пользователи и пароли хранятся в клиентской базе данных. Такая схема защищает базы данных от прямого копирования или замены на сервере admin.ib.
Чтобы включить Embedded User Authentication необходимо при создании базы данных через SQL указать опцию WITH ADMIN OPTION. В IBConsole можно просто указать соответствующий параметр в настройках БД.
Следующие инструкции позволяют управлять механизмом Embedded User Authentication:
ALTER DATABASE ADD ADMIN OPTION ALTER DATABASE SET ADMIN OPTION INACTIVE ALTER DATABASE SET ADMIN OPTION ACTIVE
После включения возможности хранения пользователей в БД можно управлять пользователями через SQL операторы:
CREATE USER EMPLOYER SET PASSWORD 'PASSWORD'; ALTER USER EMPLOYER SET NO LAST NAME, DEFAULT ROLE ABC;
Обе схемы аутентификации Classic и EUA могут быть использованы на сервере InterBase совместно. Подробнее об аутентификации можно прочитать в статье:
Пользователь SYSDBA. Смена пароля по умолчанию
SYSDBA — это административный пользователь InterBase с исключительными правами. Пароль по умолчанию: masterkey. Для того чтобы сменить пароль, используйте утилиту gsec из состава InterBase:
C:\CodeGear\InterBase\bin>gsec GSEC> modify SYSDBA -pw NEW_PASSПри помощи утилиты gsec можно создавать, удалять, модифицировать и просматривать пользователей. Полный список команд можно получить, набрав help.
Подключение к InterBase из клиентского приложения
Для начала скачайте и установите пакет IBProvider Professional Edition.
IBProvider Professional Edition — это набор COM-компонент, которые позволяют работать с любыми версиями InterBase и Firebird. Компоненты поддерживаются большинством средств разработки: Delphi, C++ Builder, Visual C++, .Net Framework, C#, Visual Basic, VBScript, VBA и др.
Для проверки подключения к InterBase напишем простой сценарий на языке VBScript. Создайте пустой файл с расширением vbs и вставьте в него следующий код, указав правильный путь к базе данных:
Dim cn, cmd, rs, i Set cn = CreateObject ("ADODB.Connection") cn.Open "Provider=LCPI.IBProvider.3;" & _ "Data Source=localhost:d:\temp\test.gdb; " & _ "User Id=SYSDBA;" & _ "password=masterkey;" & _ "ctype=win1251;" & _ "auto_commit=true" set rs = cn.execute("select * from TMP$ATTACHMENTS") do while not rs.EOF for i=0 to rs.Fields.Count - 1 wscript.echo rs(i).Name & "=" & rs(i).Value next rs.MoveNext loop rs.close cn.close
Запустите скрипт на выполнение в режиме командной строки, и вы увидите список активных подключений к БД.
InterBase и VBScript, Visual Basic, VBA
Для доступа к InterBase и Firebird из VBScript, VBA, Visual Basic используется библиотека ADO (ActiveX Data Objects). Множество примеров работы с этой библиотекой вы найдете в документации: примеры InterBase VBScript, VBA, Visual Basic.
InterBase и Delphi
IBProvider предлагает несколько способов работы с InterBase из Delphi:
- dbGo (ADO Express) компоненты, работающие через библиотеку ADO.
- прямой доступ к COM-интерфейсам ADO, минуя компоненты dbGo.
- прямой доступ к COM-интерфейсам OLE DB при помощи сторонних VCL-компонент (OLE DB Direct/OLE DB Express).
Примеры работы InterBase Delphi.
InterBase и .Net
Для доступа к InterBase из .Net используется библиотека ADO .Net. На сайте IBProvider опубликовано большое пошаговое руководство, посвященное работе с InterBase в Visual Studio .Net (ADO .Net).
Дополнительные материалы по теме: примеры работы с ADO .Net для начинающих.
InterBase и C++
В состав IBProvider Professional Edition входит C++ библиотека, которая предоставляет самый быстрый способ работы с OLE DB провайдерами из Visual C++ 2005-2008, а так же из C++ Builder.
Редактирование базы InterBase — создание таблиц, связей, ключей
В пустой базе данных необходимо создать таблицы, связи между таблицами, первичные ключи, индексы, хранимые процедуры, генераторы и другие объекты. Для редактирования баз данных вы можете использовать встроенные средства InterBase — IBConsole или утилиту isql.exe.
Создание таблицы InterBase при помощи IBConsole
Создание таблицы InterBase при помощи утилиты isql.exe
Создаем таблицу:
SQL> CREATE TABLE cross_rate CON> ( CON> from_currency VARCHAR(10) NOT NULL, CON> to_currency VARCHAR(10) NOT NULL, CON> conv_rate FLOAT NOT NULL, CON> update_date DATE, CON> CON> PRIMARY KEY (from_currency, to_currency) CON> );Вставляем одну запись и делаем выборку из таблицы:
SQL> INSERT INTO cross_rate VALUES (‘Dollar’, ‘CdnDlr’, 1.3273, ’11/22/93′); SQL> SELECT * from cross_rate; FROM_CURRENCY TO_CURRENCY CONV_RATE UPDATE_DATE ============= =========== ============== =========== Dollar CdnDlr 1.3273000 1993-11-22Помимо isql существую различные графические утилиты администрирования InterBase.
Утилиты администрирования InterBase
IBExpert
IBExpert — Поддерживает InterBase, Firebird, Yaffil. Редакторы DDL и DML. Визуальный построитель запросов. Автозавершение кода, Metadata Extractor, а так же множество других возможностей.Лицензия: Бесплатный для exUSSR, для остальных: от 179 евро.
Сайт:
IB/FB Development Studio
IB/FB Development Studio — Визуальный дизайнер баз данных, встроенный MERGE, scheduler, Code auto completion, анализатор запросов, монитор производительности.Лицензия: Бесплатно для России, для остальных: от 149 евро.
Сайт:
Blaze Top
Blaze Top — Инструмент разработчика и администратора баз данных. Поддерживает Firebird и InterBase.Лицензия: Бесплатно для России, для остальных: от 129 евро.
Сайт:
Database Workbench
Database Workbench — поддерживает несколько серверов баз данных, среди которых есть Firebird и InterBase. Отладка хранимых процедур, анализ планов, встроенные средства переноса данных и метаданных.Лицензируется отдельно на InterBase и отдельно на Firebird. 171$ за каждый движок (InterBase или Firebird).
Сайт:
Если в данном списке отсутствует ваша утилита, напишите на ibprovider.com и мы добавим её описание.
Теги статьи: База данных InterBase Server, Язык InterBase SQL, сервер InterBase, InterBase server, InterBase 2009, InterBase 2007, InterBase vs Firebird, Firebird 2.5, InterBase таблицы, IBExpert, IB/FB Development Studio, Blaze Top, Database Workbench.