- •Раздел 2 проектирование серверной части приложения баз данных
- •Тема 2.1 sql-сервер InterBase и его основные компоненты
- •Тема 2.2 Физическая организация базы данных InterBase.
- •Тема 2.3 Создание базы данных.
- •Тема 2.4 Домены
- •Создание домена.
- •Тема 2.5 Создание таблиц
- •Определение ключей и ссылочных целостностей.
- •Тема 2.6 Работа с индексами.
- •Тема 2.7 Добавление, изменение, удаление записей
- •Добавление записей
- •Изменение записей.
- •Тема 2.8 Работа с просмотрами view.
- •Тема 2.9 Работа с хранимыми процедурами.
- •Изменение и удаление хранимых процедур
- •Алгоритмический язык хранимых процедур.
- •Тема 2.10 Работа с триггерами
- •Создание триггеров.
- •Тема 2.11 Использование генераторов.
Тема 2.3 Создание базы данных.
Для создания БД используется оператор SQL, имеющий следующий формат:
CREATE DATABASE “<имя файла>”
[USER “имя пользователя” [PASSWORD “пароль”]]
[PAGE_SIZE [=] <целое число>]
[LENGTH [=] <целое число> [PAGE]]
[DEFAULT CHARACTER SET <набор символов>]
[<Вторичный файл>];
В этом операторе:
<Вторичный файл> = File “<имя файла>” [<файловая информация>] [<Вторичный файл>]
<файловая информация> = LENGTH [=]целое [PAGE] | STARTING [AT [PAGE]] целое [<файловая информация>]
<имя файла> - Указывает спецификации файла, в котором будет храниться создаваемая БД. Является единственным обязательным параметром. В многофайловых базах данных данные хранятся более чем в одном физическом файле. Первый файл – первичный, все остальные – вторичные.
[USER “имя пользователя” [PASSWORD “пароль”]] - имя пользователя и пароль, проверяемые при соединении с сервером.
PAGE_SIZE [=] <целое число>] – Размер страницы БД в байтах. Допустимые размеры: 1024, 2048, 4096, 8192.
[DEFAULT CHARACTER SET <набор символов>] – Определяется набор символов, применимый в БД (по умолчанию win1251)
FILE “<имя файла>” – Имя одного или нескольких файлов, в которых будет располагаться информация.
STARTING [AT PAGE] – Если БД занимает несколько файлов, это предложение позволяет определить, с какой страницы располагается БД в указанном файле, т.е. страница, начиная с которой располагаются вторичные файлы. Если для предшествующего вторичного файла не указана длина, то должна быть указана начальная страница.
LENGTH [=] <целое число> [PAGE] – Длина файла в страницах. По умолчанию 75 страниц. Минимум – 50 страниц. Максимум ограничен фактически имеющимся дисковым пространством.
Примеры:
CREATE DATABASE «D:\BD\SKLAD.GDB»
FILE “D:\BD\SKLAD.GD1” STARTING AT PAGE 1001 LENGTH 500
FILE “D:\BD\SKLAD.GD2” DEFAULT CHARACTER SET win1251
CREATE DATABASE “C:\STORE\STORE.gdb”
FILE “D:\STORE\STORE\STORE.gd2” STARTING AT
PAGE 501 LENGTH=300
FILE “D:\STORE\STORE.gd3”;
Для создания базы данных используется программа IBConsole.
Тема 2.4 Домены
Если в таблице базы данных или в нескольких таблицах баз данных присутствуют столбцы, обладающие одними и теми же характеристиками, можно предварительно описать тип такого столбца и его поведение с помощью домена, а затем поставить в соответствие каждому из одинаковых столбцов имя домена. Таким образом, домен есть описание какого-либо столбца таблицы.
Создание домена.
CREATE DOMAIN <имя домена> [AS] <тип данных>
[DEFAULT <значение по умолчанию>]
[NOT NULL] [CHECK (<условие ограничения>)]
[COLLATE <порядок сортировки>]
<условие ограничения> = {
VALUE <оператор> <значение>
|VALUE [NOT] BETWEEN <значение 1> AND <значение 2>
|VALUE [NOT] LIKE <значение> [ESCAPE <значение>]
|VALUE [NOT] IN (<значение1> [, <значение2>…]
|VALUE IS [NOT] NULL
|VALUE [NOT] CONTAINING <значение>
|VALUE [NOT] STARTING [WITH] <значение>
<ограничения домена>
<ограничения домена> OR <ограничения домена>
<ограничения домена> AND <ограничения домена>
}
В этом операторе:
[COLLATE <порядок сортировки>] –
PXW_CYRL – упорядочивание стилей Win32 (Аа бБ … яЯ)
DEFAULT – определяет выражение, которое по умолчанию заносится в колонку, ассоциированную с доменом, при создании записи таблицы. Это могут быть:
Литерал-значение (числовое, строковое или дата);
NULL – пустое значение;
USER – имя текущего пользователя;
CHECK –определяет требования к значениям каждого столбца, ассоциированного с доменом.
VALUE – означает все правильные значения, которые могут быть присвоены столбцу, ассоциированному с доменом.
BETWEEN <значение 1> AND <значение 2> - значение домена должно находиться в промежутке между значение1 и значение2, включая их.
LIKE <значение1> [ESCAPE <значение2>] – задает шаблон подобия, при этом символ «%» указывает любое значение любой длины, а символ «_» -любой одиночный символ. ESCAPE используется, если в операторе LIKE символы “%” и “_” присутствуют в шаблоне как обычные символы. В этом случае выбирается некоторый символ <значение 2>, после которого служебные символы теряют свой специальный статус и входят в поисковую строку как обычные параметры.
Пример: CHECK (VALUE LIKE “% ! %” ESCAPE “!”); любое количество символов ! оканчивается %.
IN (<значение 1> [, <значение 2>…] – значение домена должно совпадать с одним из приведенных в списке параметров.
IS [NOT] NULL – столбцы обязательно должны содержать какое-либо значение, отличное от пустого.
CONTAINING <значение> - значение домена обязательно должно содержать вхождение параметра значение, неважно в каком месте.
STARTING [WITH] <значение> - значение домена должно начинаться параметром значение.
Пример:
CREATE DOMAIN OTDEL AS VARCHAR(10) CHECK(VALUE STARTING WITH “041” AND VALUE CONTAINING “-12”) COLLATE PXW_CYRL
Изменение определения домена.
Для того чтобы изменить параметры домена используется оператор:
ALTER DOMAIN <имя> {
[SET DEFAULT {литерал|NULL|USER}]
|[DROP DEFAULT]
|[ADD [CONSTRAINT] CHECK (<ограничения домена>)]
|[DROP CONSTRAINT] };
Нельзя изменить тип данных и определение NOT NULL. Все сделанные изменения будут учтены для всех столбцов, определенных с использованием данного домена.
[DROP DEFAULT] – отмена текущих значений по умолчанию.
[ADD [CONSTRAINT] CHECK (<ограничения>)] – добавление условий, которым должны соответствовать значения столбца.
[DROP CONSTRAINT] – удаление условий, определенных в приложении CHECK.