
- •История развития субд.
- •Информационные системы. Основные функции и области применения.
- •Банк данных и его компоненты.
- •Классификация моделей представления данных
- •Сетевая модель данных. Достоинства и недостатки
- •Иерархическая модель данных. Достоинства и недостатки
- •Классификация программ субд
- •Общие понятия реляционного подхода к организации баз данных. Основные концепции и термины
- •Первичный и внешний ключи. Индексы
- •Реляционная алгебра. Основные операции
- •Реляционное исчисление
- •Проектирование реляционных баз данных с использованием нормализации
- •Целостность баз данных. Каскадное удаление и изменение данных.
- •Структуры внешней памяти. Хранение отношений. Индексы. Методы организации индексов. Служебная информация
- •Журнализация изменений бд
- •Сериализация транзакций. Синхронизационные захваты. Метод временных меток
- •Синхронизационные захваты
- •Транзакция. Уровни изолированности пользователей
- •Функции и основные возможности языка sql.
- •Отличие sql от процедурных языков программирования.
- •Интерактивный и встроенный sql
- •Типы данных sql
- •4.1. Тип данных «строка символов»
- •Varchar[(длина)]
- •4.2 Числовые типы данных
- •4.3 Дата и время
- •4.4 Неопределенные или пропущенные данные (null)
- •Простейшие select-запросы. Синтаксис
- •Операторы in, between, like, is null
- •Агрегирование и групповые функции. Упорядочение выходных полей
- •Команды манипулирования данными. Использование подзапросов в insert
- •Использование подзапросов, основанных на таблицах внешних запросов
- •Использование подзапросов с delete
- •Использование подзапросов с update
- •Основные особенности архитектуры клиент-сервер
- •Организация данных в InterBase.
- •InterBase и область его применения
- •Описание данных на основе sql Организация данных в InterBase. Типы данных.
- •Домены. Создание доменов. Изменение доменов. Удаление доменов.
- •Индексы. Создание индексов. Изменение индекса. Восстановление индекса. Удаление индекса.
- •4.1 Создание индексов
- •4.3. Восстановление индекса
- •4.4 Удаление индекса
- •Исключения. Создание исключения. Изменение исключения. Удаление исключения
- •Триггеры и их назначение. Команды создания, удаления и модификации триггеров и хранимых процедур.
- •Работа с blob и функции, определенные пользователем
- •Объявление внешней функции
Работа с blob и функции, определенные пользователем
BLOB – (большой двоичный объект) предназначен для хранения данных произвольного формата переменной длины, и, как правило, значительного размера. BLOB представляет собой тип данных с динамически изменяемым размером, для этого типа не указываются ни размеры, ни способ кодирования. Внутри таблиц вместо данных BLOB записываются их уникальные дескрипторы (указатели) фиксированного размера на место их фактического хранения. Доступ к дескрипторам данным BLOB в InterBase осуществляется также, как к данным, хранимым в других форматах. Кроме того, InterBase хранит данные BLOB внутри базы.
Прежде чем сохранить элементы типа BLOB в базе данных, эти элементы создаются как файлы определенной структуры:
Растровые или векторно-графические файлы;
Звуковые файлы;
Интерактивные аудио-видео файлы;
Текстовые файлы
Файлы CAD.
Далее эти файлы программно загружаются в базу данных. Доступ к данным также осуществляется программно.
Пользовательские функции (UDF) – это программы на базовом языке для выполнения в приложениях, часто используемых при работе с базой данных задач. UDF помогают обеспечить модульность приложений, выделяя их в отдельные модули многократного использования.
К UDF можно обращаться из программ на базовом языке, а также из хранимых процедур и триггеров.
Пользовательские функции не являются частью базы. Они помещаются в отдельную библиотеку (DLL), находящуюся на той же машине, что и база данных. Чтобы сделать функции доступными в базе, их надо в ней объявить. После этого, обращение к ним осуществляется точно так же, как к стандартным функциям InterBase. Вызов этих функций может производится везде, где синтаксисом SQL предусмотрено использование выражений
Объявление внешней функции
Как только UDF была написана и откомпилирована в библиотеку, она должна быть объявлена в базе данных, где предполагается ее использование. Каждая функция в базе данных должна быть объявлена отдельно. Пока точка входа и имя модуля (библиотеки) и путь к нему не изменяется, нет необходимости в переобъявлении функции, даже если сама функция меняется.
Синтаксис объявления внешней функции:
DECLARE EXTERNAL FUNCTION <имя функции>
[<список типов данных входных параметров>]
RETURNS {<тип данных> [BY VALUE] | CSTRING (int)}
[FREE IT]
ENTRY_POINT ‘имя функции в библиотеке’
MODULE_NAME ‘имя файла библиотеки’;
Синтаксические контсрукции объявления внешних функций:
Конструкция |
Описание |
имя функции |
Имя UDF для использования в командах SQL; может отличаться от имени (в библиотеке) указанной после слова ENTRY_POINT |
список типов данных |
Может принимать значение либо <тип данных> либо CSTRING (int) |
тип данных |
Любой разрешенный в InterBase тип данных, кроме массивов и BLOB. Тип данных входного параметра или возвращаемого значения. Все входные параметры передаются в UDF по ссылке. Возвращаемые значения могут передаваться как по ссылке, так и по значению. Использование элементов массивов запрещено. |
RETURNS |
Определяет возвращаемое функцией значение |
BY VALUE |
Указывает на то, что параметр возвращается по значению. Если конструкция пропущена, то значение возвращается по ссылке. |
CSTRING (int) |
Специальный тип для представления строк, представляющий собой последовательность символов, заканчивающуюся двоичным нулем. |
FREE IT |
Указывает на необходимость освобождения памяти, выделенной UDF для возвращаемого значения, передаваемого по ссылке. Необходимость для такой конструкции вызвана тем, что запрос памяти производится в UDF, а освобождение выполняется в InterBase. |
имя функции в библиотеке |
Заключенное в кавычки имя имя функции, как оно записано в библиотеке. |
имя файла библиотеки |
Спецификация файла, идентифицирующая библиотеку, которая содержит UDF. Текс должен заключаться в кавычках.
|