Объекты
SQLBase содержит набор стандартных объектов и структур, общих для большинства реляционных
СУБД. Данные SQLBase хранит в виде таблиц, состоящих из колонок и строк. SQLBase
поддерживает виртуальные таблицы (views) и рассматривает их как отдельные объекты базы
данных. Для поддержания уникальности данных в колонках таблиц, а также для ускорения доступа
к данным используются индексы. База данных SQLBase включает также пользователей и их
привилегии. В качестве расширения стандартного набора объектов SQLBase содержит триггеры,
хранимые команды и хранимые процедуры. В начальной редакции SQLBase 6 эта СУБД включала
также и события или таймеры базы данных, однако этот тип объектов не вошел в окончательную
версию продукта. Поддержка событий в SQLBase намечена на середину года.
Типы данных, поддерживаемые SQLBase, приведены на рис. 1. Следует отметить, что тип данных
CHAR в SQLBase не отличается от VARCHAR (в обоих случаях СУБД не хранит пустые места в
колонках) и поддерживается, в основном, для совместимости с DB2.
SQLBase поддерживает стандарт SQL-89 с многочисленными расширениями.
Кроме поддержки выполнения стандартных SQL запросов SQLBase содержит большое количество
встроенных функций (более 60). Они включают агрегатные функции, функции преобразования
форматов данных, выбора и логического ветвления, обработки строковых, числовых и временных
данных, а также различные математические и финансовые функции.
Рис. 1. Типы данных SQLBase
CHAR (или VARCHAR) | Строковый тип | до 254 байт | Имеет вид CHAR(3). Пустые места не хранятся |
LONG VARCHAR | Строковый тип | неограниченный размер | Для этого типа не поддерживаются предложения WHERE, ORDER BY и многие функции СУБД. |
NUMBER | Числовой тип | до 15 цифр | Суперсет всех числовых типов SQLBase |
DECIMAL | Числовой тип с фиксированной точкой | до 15 цифр | Имеет вид DECIMAL (размер, десятичных знаков). SQLBase не поддерживает тип CURRENCY. Используйте для этого DECIMAL(15,2) |
INTEGER | Числовой целый тип | до 10 цифр | |
SMALLINT | Числовой целый тип | до 5 цифр | |
DOUBLE PRECISION | Числовой тип | до 15 цифр | Для чисел с плавающей точкой |
FLOAT | Числовой тип | до 15 цифр | Отличается от DOUBLE PRECISION указанием количества значащих цифр |
DATETIME (или TIMESTAMP) | Дата/Время | Точность временной компоненты - до 1 мксек | |
DATE | Дата | ||
TIME | Время | Точность до 1 сек |
? SQLBase существуют пользователи трех уровней: CONNECT, RESOURCE и DBA.
Особенности уровня доступа к данным и другие привилегии каждой категории пользователей
приведены на рис. 2.
Рис. 2. Типы пользователей SQLBase
SYSADM | Создает пользователей и устанавливает их пароли и права доступа |
DBA | Выдает, изменяет и отнимает права доступа к объекту БД для любого пользователя |
RESOURCE | Создает и удаляет объекты БД. Выдает, изменяет и отнимает права доступа к этим объектам для других пользователей |
CONNECT | Имеет доступ к объектам, но не может их создавать |
Всю информацию о базе данных сервер хранит в системном каталоге базы. При этом
поддерживаются два системных каталога: один полный, который содержит всю информацию об
объектах и состоянии базы данных SQLBase, и универсальный, который совместим по структуре с
системными каталогами большинства других СУБД. Поддержка универсального системного
каталога позволяет управлять базами данных SQLBase из программ и средств администрирования
СУБД других фирм. Краткое описание таблиц системного каталога приведено на рис. 3.
Рис. 3. Таблицы системного каталога SQLBase
SYSCOLAUTH | Права обновления колонок |
SYSCOLUMNS | Колонки базы данных |
SYSCOMMANDS | Хранимые команды и хранимые процедуры |
SYSEVENTS | Системные события таймера (в текущей версии не используются) |
SYSEXECUTEAUTH | Права выполнения хранимых процедур |
SYSFKCONSTRAINTS | Внешние ключи (foreign keys) |
SYSINDEXES | Индексы |
SYSKEYS | Колонки индексов |
SYSPARTTRANS | Незавершенные распределенные транзакции |
SYSPKCONSTRAINTS | Первичные ключи (primary keys) |
SYSROWIDLISTS | Сохраненные множества результатов (result sets) |
SYSSYNONYMS | Синонимы объектов базы данных |
SYSTABAUTH | Права доступа к таблицам |
SYSTABCONSTRAINTS | Ограничения ссылочной целостности |
SYSTABLES | Таблицы и views |
SYSTRGCOLS | Колонки триггеров |
SYSTRIGGERS | Триггеры |
SYSUSERAUTH | Пользователи БД и их пароли |
SYSVIEWS | Описание views в виде SQL запросов |