Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Инструкция CREATE/ALTER DATABASE


CREATE DATABASE

В стандарте ANSI в действительности нет инструкции CREATE DATABASE. Однако, поскольку работать с SQL базами данных без этой команды почти невозможно, мы внесли эту инструкцию в книгу. Почти все платформы баз данных поддерживают какой-нибудь вариант этой инструкции.


Общие правила

Эта команда создает новую пустую базу данных с указанным именем. Большинство платформ СУРБД требуют, чтобы для создания новой базы пользователь имел привилегии администратора. Как только новая база данных создана, вы можете заполнять ее объектами (такими, как таблицы, представления, триггеры и тому подобное), а таблицы заполнять данными. Команда CREATE DATABASE может также создавать в файловой системе, в зависимости от платформы, соответствующие файлы, содержащие данные и метаданные базы.


Советы и хитрости программирования

Поскольку команда CREATE DATABASE не входит в число стандартных инструкций ANSI, между платформами существуют довольно большие различия в ее синтаксисе.


DB2

Инструкция DB2 CREATE DATABASE инициализирует новую базу с различными, определяемыми пользователем характеристиками, например опциями автоматического конфигурирования и сопоставления (collation). Кроме того, инструкция создает три исходных табличных пространства, системные таблицы и журналы восстановления, необходимые для базы данных DB2.

CREATE {DATABASE | DB имя_базы_данных

[AT DBPARITIONNUM] [ON путь_и_диск] [ALIAS псевдоним_базы_данных] [USING DCOESET

набор_кодов TERRITORY регион] [COLLATE USING {COMPATIBILTIY | IDENTITY | NLSCHAR | SYSTEM}]

[NUMSEGS int] [DFT_EXTENT_SZ int]

[CATALOG TABLESPACE определение_табличного_пространства] [USER TABlESPACE определение_табличного_пространства]

[TEMPORARY TABLESPACE определение_табличного_пространства] [WITH ‘комментарии’]

[AUl’OCCNFIGURE [USING параметр значение […]] [APPLY {DB ONLY | DB AND DBM | NONE}]

Где:

CREATE {DATABASE DB} имя_базы_данных

Создается база данных с именем имя_базы_данных. Имя должно быть уникальным среди других имен баз данных в локальной и системной директории баз данных.

База данных создается в той секции, в которой была выполнена команда. Эта команда используется только для повторного создания удаленной базы данных. Ее нельзя использовать для создания совершенно новой базы. При подаче команды CREATE DATABASE AT DBPARTITIONNUM база данных должна быть немедленно восстановлена на узле.

COMPATIBILITY

Используется схема сопоставления DB2 v2 для обратной совместимости.

IDENTITY

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

NLSCHAR

Используется схема сопоставления, уникальная для набора кодов и региона базы данных. В настоящее время эта опция поддерживается только для Тайской кодовой страницы (СР874).

SYSTEM

Используется схема сопоставления для текущего региона.

NUMSEGS int

В виде целого числа (int) указывается число директорий сегментов, которые создаются для хранения файлов DAT, IDX, LF, LB и LBA для любых табличных пространств по умолчанию, относящихся к типу SMS (System Managed Space). Этот параметр не влияет на табличные пространства DMS, табличные пространства SMS с явно указанными параметрами создания и табличные пространства SMS, созданные после того, как была создана база данных.

DFT_EXTENT_SZ int

В виде целого числа (int) указывается значение по умолчанию предельного размера табличных пространств базы данных.

CATALOG TABLESPACE определение табличного пространства

Определяется табличное пространство, в котором хранятся таблицы каталога. Подробности синтаксиса параметра определение_табличного_пространства приведены ниже. Если это предложение опущено, таблицы каталога будут создаваться в табличном пространстве SMS с именем SYSCATSPACE, а его параметры будут определяться значениями предложений NUMSEGS и DFT_EXTENT_SZ.

USER TABLESPACE определение_табличного_пространства

Определяется табличное пространство, которое представляет собой исходное табличное пространство пользователя. Подробности синтаксиса параметра определение_табличного_пространства приведены ниже. Если это предложение опущено, пользовательское табличное пространство будет создаваться в табличном пространстве SMS с именем USERSPACE1, а его параметры будут определяться значениями предложений NUMSEGS и DFT_EXTENT_SZ.

TEMPORARY TABLESPACE определение_табличного_пространства

Определяется табличное пространство, которое представляет собой исходное временное табличное пространство системы. Подробности синтаксиса параметра определение_табличного пространства приведены ниже. Если это предложение опущено, временное табличное пространство системы будет создаваться в табличном пространстве SMS с именем TEMPSPACE1, а его параметры будут определяться значениями предложений NUMSEGS и DFT_EXTENT_SZ.

WITH ‘комментарии’

Создается описание базы данных в директории баз данных длиной до 30 символов.

AUTOCONFIGURE [USING параметр значение […]]

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

mem_ percent

Определяет процентную долю памяти, отведенную базе данных. По умолчанию установлено значение 25, допустимыми являются значения в диапазоне 1-100. Если на сервере работают другие приложения, не устанавливайте здесь значение 100.

Источник