- •Содержание
- •3.1. Физическое проектирование базы данных.
- •3.2. Типы данных субд InterBase.
- •3.2.1. Целочисленные значения.
- •3.2.2. Значение с плавающей запятой.
- •3.2.3. Фиксировано-десятичные значения.
- •3.2.4. Значения типа даты.
- •3.2.5. Символьные типы данных.
- •3.2.6. Значения типа blob.
- •3.2.7. Совместимость типов столбцов.
- •3.3. Физическая модель базы данных «библиотека».
- •3.4. Краткая характеристика языка sql.
- •3.5. Создание базы данных, доменов, таблиц и ключей в InterBase.
- •3.6. Создание и использование Script-файла.
- •Контрольные вопросы:
3.5. Создание базы данных, доменов, таблиц и ключей в InterBase.
Используя утилиту InterBase Windows ISQL (interactive SQL), далее называемый WISQL, можно создать БД. Для этого запустим утилиту WISQL и в главном меню выберем режим File\Create Database. Далее, в окне диалога укажем имя БД, имя пользователя SYSDBA, пароль masterkey (имя и пароль системного администратора для локального сервера InterBase), а также в окне DataBase Options – параметры БД. В нашем случае в качестве единственного параметра будет введена установка по умолчанию набора символов WIN1251 (рис. 3.2).
Рис. 3.2. Утилита WISQL – окно создания базы данных.
Другой путь создания базы данных является выполнение оператора SQL в командной части окна утилиты WISQL (рис. 3.3).
Для создания БД используется оператор
CREATE {DATABASE | SCHEMA} "<имя_файла>"
[USER "имя_пользователя" [PASSWORD "пароль"]]
[PAGE_SIZE [=] целое]
[LENGTH [=] целое [PAGE[S]]]
[DEFAULT CHARACTER SET набор_символов]
[<вторичный_файл>];
<вторичный_файл> = FILE "<имя_файла>" [<файлов_информ>] [<вторичный_файл>]
<файлов_информ> = LENGTH [=] целое [PAGE[S]] | STARTING [AT [PAGE]] целое [<файлов_информ>]
Таблица 3.13.
Описание оператора CREATE DATABASE.
Аргумент |
Описание |
"<имя_файла>" |
Указывает спецификации файла, в котором будет храниться создаваемая БД. Эти спецификации зависят от платформы. |
USER "имя_пользователя " |
Имя пользователя, которое вместе с паролем, определяемым PASSWORD, проверяется при соединении пользователя с сервером, на котором расположена БД. |
PASSWORD "пароль" |
Пароль, который вместе с именем пользователя проверяется при соединении пользователя с сервером. |
PAGE_SIZE [=] целое |
Размер страницы БД в байтах. Допустимые размеры: 1024 (по умолчанию), 2048, 4096 или 8192. |
DEFAULT CHARACTER SET набор_символов |
Определяет набор символов, применимый в БД. Если не указан, по умолчанию берется NONE. |
FILE "<имя_файла>" |
Имя одного или нескольких файлов, в которых будет располагаться БД. |
STARTING [AT [PAGE]] |
Если БД располагается в нескольких файлах, это предложение позволяет определить, с какой страницы БД располагается в указанном файле. |
LENGTH [=] целое [PAGE[S]] |
Длина файла в страницах. По умолчанию 75 страниц. Минимум 50 страниц. Максимум ограничен фактически имеющимся дисковым пространством. |
Рис. 3.3. Вид окна утилиты WISQL.
Если в таблице БД или нескольких таблицах БД присутствуют столбцы, обладающие одними и теми же характеристиками, можно предварительно описать тип такого столбца и его поведение через домен, а затем поставить в соответствие каждому из одинаковых столбцов имя домена. Домен определяется оператором CREATE DOMAIN следующего формата:
CREATE DOMAIN домен [AS] <тип_данных>
[DEFAULT {литерал | NULL | USER}]
[NOT NULL] [CHECK (<условие_поиска>)]
[COLLATE collation]
Предложение COLLATE позволяет указать порядок сортировки символов, например:
CREATE DOMAIN POL_TYPE AS CHAR(3)
COLLATE PXW_CYRL;
Остальные предложения будут рассмотрены ниже.
После создания общей структуры базы данных и определения доменов модно приступить к созданию таблиц, представляющих отношения, входящие в состав проекта базы данных. Для этой цели используется оператор CREATE TABLE, имеющий следующий общий формат:
CREATE TABLE имя_таблицы
(Имя_солонки тип_данных [NULL | NOT NULL] [UNIQUE] [, . . . ])
[DEFAULT значение по умолчанию ] [CHEC(условие_поиска)] {,…]}
[PRIMARY KEY (список_колонок),]
{[UNIQUE (список_солонок),] [,…]}
{[FOREIGN KEY (список_солонок)
REFERENCER имя_родительской_таблицы [(список_колонок_потенциального_ключа],
[ON UPDATE действие]
[ON DELETE действие] ] [,…]}
{[CHECK (условие поиска)] [,…] })
В результате выполнения этого оператора будет создана таблица, имя которой определяется параметром имя_таблицы, состоящая из одного или более столбцов с именами, задаваемыми параметрами название_колонки, содержащие данные с типом, указанным параметрами тип_данных. Набор доступных типов данных был описан ранее. В качестве типов данных могут выступать домены, определенные ранее. Остальные предложения оператора будут описаны далее при рассмотрении вопросов целостности данных.