Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Тут можно читать онлайн Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство БХВ-Петербург, год 2006. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
  • Автор:
  • Жанр:
  • Издательство:
    БХВ-Петербург
  • Год:
    2006
  • Город:
    Санкт-Петербург
  • ISBN:
    5-94157-609-9
  • Рейтинг:
    4/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ краткое содержание

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - описание и краткое содержание, автор Хелен Борри, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Рассмотрены вопросы, необходимые разработчику для создания клиент-серверных приложений с использованием СУБД Firebird, явившейся развитием СУБД Borland Interbase 6. Содержится обзор концепций и моделей архитектуры клиент/сервер, а также практические рекомендации по работе с клиентскими библиотеками Firebird. Детально описаны особенности типов данных SQL, язык манипулирования данными (Data Manipulation Language, DML), а также синтаксис и операторы языка определения данных ( Data Definition Language, DDL). Большое внимание уделено описанию транзакций и приведены советы по их использованию при разработке приложений. Описано программирование на стороне клиента и сервера написание триггеров и хранимых процедур, создание и использование событий базы данных, обработка ошибок в коде на сервере и многое другое. Материал сопровождается многочисленными примерами, советами и практическими рекомендациями.

Для разработчиков баз данных

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - читать онлайн бесплатно полную версию (весь текст целиком)

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - читать книгу онлайн бесплатно, автор Хелен Борри
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

имя-модуля

Заключенная в апострофы спецификация файла, идентифицирующая библиотеку, которая содержит UDF

Скрипты библиотеки внешних функций

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

Скрипты ib udf.sql и fbudf.sql находятся в каталоге /UDF вашего каталога инсталляции сервера. Комплект FreeUDFLib содержит скрипт с именем extfuncs.sql. Вы можете свободно копировать и вставлять объявления для компоновки вашей собственной библиотеки из любимых объявлений.

Следующее объявление является примером из скрипта ib udf.sql:

DECLARE EXTERNAL FUNCTION ipad

CSTRING(80), INTEGER, CSTRING(1)

RETURNS CSTRING(80) FREE_IT

ENTRY_POINT 'IB_UDF_lpad' MODULE_NAME 'ib_udf';

Следующее объявление содержится в fbudf, оно передает аргументы по дескриптору в некоторые функции:

DECLARE EXTERNAL FUNCTION sright

VARCHAR(100) BY DESCRIPTOR, SMALLINT,

VARCHAR(100) RETURNS PARAMETER 3

ENTRY POINT 'right' MODULE_NAME 'fbudf';

Идентификатор (имя) функции

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

Иногда вам может понадобиться объявить одну и ту же функцию для вашей базы данных более одного раза. Пока вы используете различные имена в EXTERNAL FUNCTION, вы можете объявлять функцию, имеющую те же ENTRY_POINT и MODULE_NAME, столько раз, сколько вам нужно.

! ! !

ВНИМАНИЕ! Никогда не изменяйте аргумент ENTRY_POINT. Аргумент MODULE_NAME не должен изменяться за исключением случая, когда необходимо использовать полный путь к библиотеке (см. разд. "Пути в объявлениях функций").

. ! .

Размеры строковых аргументов

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

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

В следующем примере функция, описанная в скрипте fbudf.sql как sright, объявляется с именем srirgt2000, а размер параметров изменяется до 200 байт:

DECLARE EXTERNAL FUNCTION sright200

VARCHAR(200) BY DESCRIPTOR, SMALLINT,

VARCHAR (200) RETURNS PARAMETER 3

ENTRY_POINT 'right' MODULE_NAME ' fbudf' ;

Пути в объявлениях функций

Для любой платформы в ссылке на модуль может отсутствовать путь или расширение файла. Это желательно, если вы собираетесь перемещать базу данных, содержащую объявления функций, на множество операционных систем. Конфигурация по умолчанию для Firebird 1.5 позволяет это сделать.

В версии 1.0.x нужно будет Сконфигурировать параметр external_function_directory в iscconfig/ibconfig для каждой платформы, на которой эти функции будут использоваться, поскольку эта версия не содержит "пути по умолчанию" для модулей функций. По умолчанию должен работать каталог /UDF, однако практика показывает, что это ненадежно без явно заданной конфигурации.

Для Firebird 1.5 и выше существуют другие режимы конфигурации (UDFAccess) для размещения библиотек функций (см. главу 36), включая RESTRICT, который позволяет задать для них один или более каталогов. Если вы используете RESTRICT, то в объявление нужно включить полный путь к модулю и расширение файла. В этом случае база данных не будет переносима на другую операционную систему, пока вы не удалите из базы данных функции и их зависимости.

Следующий пример показывает объявление функции с указанием полного пути:

DECLARE EXTERNAL FUNCTION lpad

CSTRING(80) , INTEGER, CSTRING(1)

RETURNS CSTRING(80) FREE_IT

ENTRY_POINT ' IB_UDF_lpad' MODULE_NAME '/opt/extlibs/ib_udf .so' ;

Список внешних функций

Приложение 1 содержит детальное описание с примерами внешних функций из библиотек ib_udf и fbudf из каталога /UDF каталога инсталляции Firebird, а также многие функции из FreeUDFLib.

Пора дальше

Важность использования логики выражений для трансформации абстрактных данных в осмысленную информацию аналогична важности использования средств SQL по слиянию данных из множества таблиц в один набор связанных данных. В следующей главе мы рассмотрим существующие в DML способы выполнения таких многотабличных операций. Эта глава заканчивается специальной темой оптимизации запросов Firebird и использованием планов запросов (предложение PLAN) В запросах SELECT.

ГЛАВА 22. Запросы к множеству таблиц.

Динамический SQL Firebird поддерживает три варианта запросов к множеству таблиц с помощью одного оператора SQL: соединения (joins), подзапросы (subqueries) и объединения (unions). Результат соединений, столбцов подзапроса и объединений является по своей природе набором данных только для чтения.

Firebird не поддерживает многотабличные запросы, которые находятся в нескольких базах данных. Тем не менее возможен запрос к нескольким таблицам одновременно из нескольких баз данных внутри одной транзакции, имеющей полное двухфазное завершение (two-phase commit- 2РС). Клиентские приложения могут сопоставлять данные и выполнять отдельные операторы манипулирования данными в пределах базы данных. Мультибазовые транзакции обсуждаются в части VI.

В этой главе мы рассмотрим три метода динамического поиска данных в нескольких таблицах [77] Программная логика в комбинации с техниками DSQL, описываемые в данной главе, могут быть использованы в модулях PSQL, которые возвращают клиентам виртуальные таблицы, а также в других модулях PSQL. См. часть VII. Просмотры, рассматриваемые в главе 24, обеспечивают другие способы получения наборов данных из нескольких таблиц. в контексте одного оператора и одной базы данных: соединения, подзапросы и объединения.

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Хелен Борри читать все книги автора по порядку

Хелен Борри - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ отзывы


Отзывы читателей о книге Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ, автор: Хелен Борри. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x