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

Здесь есть возможность читать онлайн «Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Санкт-Петербург, Год выпуска: 2006, ISBN: 2006, Издательство: БХВ-Петербург, Жанр: Базы данных, Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

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

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

} | SC_ARRAY_BOUND;

typedef struct {

unsigned char array_desc_dtype;

/* тип данных элементов */

char array_desc_scale;

/* масштаб для числовых типов */

unsigned short array_desc_length;

/* длина элемента массива в байтах */

char array_desc_field_name[32] ;

/* идентификатор столбца */

char array_desc_relation_name[32];

/* идентификатор таблицы */

short array_desc_dimensions;

/* количество размерностей */

short array_desc_flags;

/* 0=порядок по строкам, 1=порядок по столбцам */

ISC_ARRAY_BOUND array_desc_bounds[16];

/* верхняя и нижняя границы для размерности до 16 */

} ISC_ARRAY_DE SC;

Документ по InterBase 6 "API Guide" (Руководство no API), опубликованный Borland, содержит детальные инструкции по манипулированию массивами с помощью структур API.

Ограничения доступа динамического SQL

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

create procedure getcharslice(

low_elem smallint, high_elem smallint)

returns (id integer, list varchar(50))

as

declare variable i smallint;

declare variable string varchar(10);

begin

for select a1.ID from ARRAYS a1 into :id do

begin

i= low_elem;

list = '' ;

while (i <= high_elem) do

begin

select a2.CHARARRAY[:i] from arrays a2

where a2.ID = :id

into : string;

list = list||string;

if (i < high_elem) then

list = list ||',';

i = i + 1;

end

suspend;

end

end

Пора дальше

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

ГЛАВА 13. Домены.

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

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

Как было отмечено, домены не могут быть подставлены вместо типов данных при определении аргументов и переменных в хранимых процедурах и триггерах.

! ! !

ПРИМЕЧАНИЕ. Замещение атрибутов домена на уровне столбца обсуждается позже в этой главе.

. ! .

Столбцы, основанные на определении домена, наследуют все атрибуты домена, которые могут быть:

* типом данных (обязательно);

* значением по умолчанию для INSERT;

* состоянием NULL;

* ограничениями CHECK;

* набором символов (только для символьных и BLOB столбцов);

* порядком сортировки (только для символьных столбцов).

! ! !

ПРИМЕЧАНИЕ. Вы не можете использовать ограничения ссылочной целостности данных в домене.

. ! .

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

Все это требует создания двух доменов.

* Домен для указателя будет CHAR(3) с двумя дополнительными атрибутами: ограничение NOT NULL, поскольку вы собираетесь его использовать в качестве первичного ключа и ключа поиска, и ограничение CHECK для проверки наличия прописных букв. Например:

CREATE DOMAIN Туре_Кеу AS CHAR(3) NOT NULL

CHECK(VALUE = UPPER(VALUE));

* Домен описания будет VARCHAR(25). Вы хотите запретить для него пустые значения, поскольку таблицы, в которых вы собираетесь его использовать, являются управляющими:

CREATE DOMAIN Type_Description AS VARCHAR(25) NOT NULL;

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

Создание домена

Синтаксис языка определения данных (DDL) для создания домена:

CREATE DOMAIN домен [AS] <���тип-данных>

[DEFAULT литерам |NULL |USER]

[NOT NULL] [CHECK (<���условие-поиска-домена>)]

[CHARSET набор-символов| NONE]

[COLLATE порядок-сортировки];

Идентификатор домена

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

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

Интервал:

Закладка:

Сделать

Похожие книги на «Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ»

Представляем Вашему вниманию похожие книги на «Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ»

Обсуждение, отзывы о книге «Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x