Из описания к 7 версии IB (DevGuide.pdf).
Встроенная библиотека - ib_util.dll , примеры:
Function
name Description Inputs Outputs
abs() Absolute value Double precision Double precision
acos( ) Arc cosine Double precision Double precision
ascii_char( ) Return character based
on ASCII code Integer Char(1)
ascii_val( ) Return ASCII code for given
character Char(1) Integer
asin( ) Arc sine Double precision Double precision
atan( ) Arc tangent Double precision Double precision
atan2( ) Arc tangent divided by second Double precision,
argument Double precision Double precision
bin_and( ) Bitwise AND operation Integer Integer
bin_or( ) Bitwise OR operation Integer Integer
bin_xor( ) Bitwise XOR operation Integer Integer
ceiling() Round up to nearest whole value Double precision Double precision
cos( ) Cosine Double precision Double precision
cosh( ) Hyperbolic cosine Double precision Double precision
cot( ) Cotangent Double precision Double precision
div( ) Integer division Integer Integer
floor( ) Round down to nearest whole valu Double precision Double precision
LN( ) Natural logarithm Double precision Double precision
LOG( ) Logarithm of the first argument, Double precision,
by the base of the second argument Double precision Double precision
LOG10( ) Logarithm base 10 Double precision Double precision
LOWER( ) Reduce all upper-case characters
to lower-case Cstring(80) Cstring(80)
LTRIM( ) Strip preceding blanks Cstring(80) Cstring(80)
MOD( ) Modulus operation between the
two arguments Integer, Integer Integer
PI( ) Return the value of ð - Double precision
RAND( ) Return a random value - Double precision
RTRIM( ) Strip trailing blanks Cstring(80) Cstring(80)
SIGN( ) Return -1, 0, or 1 Double precision Integer
SIN( ) Sine Double precision Double precision
SINH( ) Hyperbolic sine Double precision Double precision
SQRT( ) Square root Double precision Double precision
STRLEN( ) Length of string Cstring(32767) Integer
SUBSTR( ) The substring of s starting at
position m and ending at position n Cstring(80), Smallint, Cstring(80), Smallint
TAN( ) Tangent Double precision Double precision
TANH( ) Hyperbolic tangent Double precision Double precision
8.19 Вопросы по 4 лабораторной.
Типы хранимых процедур, преимущества использования, особенности реализации.
Параметры хранимых процедур, определение параметров в теле процедуры.
Совместимость типов данных SQL – сервера и среды разработки приложений Delphi.
Операторы алгоритмического языка триггеров и хранимых процедур.
Особенности использования оператора SELECT в теле хранимой процедуры.
Операторы организации циклов в процедурах.
Вызов процедур в среде управления SQL – сервера, параметры анализа выполнения процедур.
Вызов процедур из приложения клиента. Использование процедур одновременно несколькими клиентскими приложениями.
Вызов процедур действия из приложения клиента, компонент TSTOREDPROC.
Вызов процедуры выбора, отображение набора данных, навигация по набору данных, изменение полученных данных.
8.20 Задания СРСП.
1. Выбор и защита не менее четырех процессов, реализуемых ХП;
2. Ответить на контрольные вопросы четвертого модуля [1];
3. Провести отладку SQL – кода спроектированных хранимых процедур;
4. Защитить отчет по четвертой лабораторной работе;
5. Защитить отчет по разделу 3.3 курсовой работы [2];
6. Разработать пример вопроса тестового задания по теме раздела.
8.21 Задания СРС.
1. Изучить методические указания к четвертой лабораторной работе [1];
2. Ответить на примеры тестовых заданий к четвертому модулю [1];
3. Изучить код ХП, используемых в учебной БД (FONEBOOK.GDB);
4. Изучение системы помощи (HELP), утилиты InteractivSQL, операторы: CREATE PROCEDURE, ALTER PROCEDURE, DROP PROCEDURE, EXECUTE PROCEDURE, SELECT;
5. Изучить конспект 7,8 лекций, агрегатные функции SQL – сервера [3];
6. Проектирование индивидуальной функции пользователя (UDF).
8.22 Демонстрация.
Объявление и вызов функции встроенной библиотеки IB.
Проектирование функции в среде Delphi.
Объявление функции разработанной библиотеки.
Проверка работы функций, генерирующих случайные числа и символы.
Демонстрация совместимости типов данных IB и Delphi.
9.1 Архитектуры ИС.
Типы клиент – серверных архитектур.
Преимущества использования.
Технологии доступа к серверным БД.
Сетевые технологии распределенных систем.
Особенности многопользовательских систем.
Компоненты Delphi для реализации сложных систем.
Создание приложения для работы с серверной БД.
Пример реализации удаленного модуля данных.
Управление транзакциями.
9.2 Локальные архитектуры.
Локальный вариант системы или автоматизированное рабочее место (АРМ), предусматривает наличие на одном компьютере всех компонентов:
- Базы данных;
- Локальные СУБД;
- Компоненты технологии доступа;
- Приложения, визуализирующие работу с данными;
- Среду разработки приложений.
Как правило, обеспечивают работу одного пользователя. При необходимости организации второго рабочего место, создается копия (второй экземпляр системы) на компьютере второго пользователя. Каждый пользователь работает со своим набором данных.
9.3 Файл - серверные архитектуры.
Эта система предполагает наличие файлового сервера в сети, на котором располагаются каталоги баз данных с наборами файлов. На рабочих станциях в сети расположены приложения пользователей и компоненты технологий доступа, например, BDE.
При работе каждому клиенту пересылается копия всех файлов открываемой БД. Каждый пользователь работает с собственной копией, и все проблемы, связанные с одновременным изменением одних наборов данных, ложится на приложение пользователя.
Архитектуре присущи большой сетевой трафик и невозможность работы большого количества пользований из-за проблем разграничения доступа.
9.4 Клиент - серверные архитектуры.
Основным компонентом ИС с использованием клиент - серверной архитектуры является – система управления базами данных (СУБД). Состоит из серверной платформы и специализированного ПО (SQL - сервер).
Обязательное использование сетевой технологии доступа или технологии распределенной обработки данных, обеспечивающих работу в пределах локальной сети.
Назначение – обеспечение работы большого количества пользователей, использующих «облегченное» программное обеспечение клиентских приложений.
9.5 Вопрос.
В использовании, каких компонентов заключается особенности проектирования облегченного (тонкого) клиента?
1. языка структурированных запросов (SQL).
2. сервера в локальной сети.
3. программного обеспечения СУБД.
4. специальных сетевых протоколов.
5. Web - сервера.
9.6 Типы архитектуры.
Двухзвенная архитектура – подразумевает работу приложения клиента с удаленной БД с использованием сетевой технологии доступа к БД.
Трехзвенная архитектура – содержит в виде отдельного компонента сервер приложений, реализующий бизнес – логику взаимодействия с БД и предназначенный для управления сетевым обменом. Взаимодействие осуществляется с использованием сетевой технологии.
Описание технологии многозвенных приложений в учебном материале по Delphi, расположено в разделе MIDAS (Multi-tiered Distributed Application Services).
9.7 Двухзвенная архитектура.
9.8 Технология IBExpress (IBX).
Компоненты технологии расположены на вкладке «InterBase».
9.9 Компоненты.
IBDataBase и IBTransaction – обеспечивают сетевое соединение с удаленной (серверной) базой данных.
Серверные наборы данных (DataSet), реализуются при помощи компонентов IBTable, IBQuery, IBDataSet и IBUpdateSQL.
Управление структурой данных осуществляется при помощи компонентов запросов – IBQuery, IBSQL.
Управление вызовом хранимых процедур серверной БД реализуется компонентом IBStoredProc.
9.10 Трехзвенная архитектура.
9.11 Основные преимущества трехзвенной архитектуры:
- снижение требований к клиентским рабочим станциям;
- реализация большинства бизнес - правил (БП) производиться на сервере, что обеспечивает централизованный доступ к ним;
- уменьшение сетевого трафика;
- контроль и регулирование сетевого обмена;
- возможность отложенного обновления данных (работа с локальной копией + обновление и освежение данных).
Недостатком можно считать повышенные требования к производительности и надежности серверного оборудования (аппаратного и программного обеспечения).
9.12 Особенности проектирования.
Распределенная архитектура системы подразумевает возможные перерывы работы оборудования, неизвестные заранее пользователю. Остановка серверного оборудования, ошибки в каналах связи, отказ телекоммуникационных устройств. Эти причины накладывают определенные ограничения на структуру проектируемого программного обеспечения и его функциональность:
- запуск приложения без соединения с сервером;
- динамический поиск сервера по имени или адресу;
- активизация соединения без обновления или с обновлением данных;
- наличие таймаута (контроль времени обмена)…
9.13 Технологии реализации трехзвенной архитектуры:
DCOM (Distributed Component Object Model – распределенная компонентная модель объектов) – рассчитана на ЛВС, в которой сервер приложений работает по управлением сетевой операционной системы компании Microsoft;
MTS (Microsoft Transaction Server – сервер транзакций MS) – основана на DCOM с дополнительными возможностями по управлению системными ресурсами (процессами, потоками, соединениями с БД), а также с повышенной защищенностью данных;
CORBA (Common Object Broker Architecture – архитектура с брокером общих объектов) – в отличии от DCOM не предъявляет специальных требований к ОС или аппаратной платформе.
9.14 Сетевое соединение.
Различные технологии поддерживаются собственными компонентами для сетевого соединения. Каждый компонент реализуется определенным сетевым протоколом. Большинство компонентов расположено на вкладке DataSnap.
9.15 Сервер приложений.
Для каждого компонента источника в модуль помещается компонент провайдера (TDataSetProvider). Он служит связующим звеном между сервером приложений и клиентским набором данных. Именно к нему привязывается клиентский набор данных, реализуемый компонентом TCientDataSet посредством коммуникационного компонента TXXXConnection. Компонент сетевого соединения (коммуникационный) использует встроенный интерфейс IAPPSERVER для поиска сервера приложений и работы с ним.