27_SH43-0144-00 (1038594), страница 29
Текст из файла (страница 29)
В данном случае вместоN может быть задано 0, 1, 2 или любое другое положительное целое число:\\.\PhysicalDisk5v В Windows для задания логического непосредственного раздела (то естьнеформатированного раздела) используйте следующий синтаксис:\\.\N:где N: - задает букву логического диска в системе. Например, вместо N:можно задать E: или любую другую букву диска.v Примечание: Чтобы была возможность записывать журналы на устройство,должна быть установлена операционная система Windows NT Версии 4.0 сService Pack 3.Глава 3.
Создание базы данных121v В системах на основе UNIX используйте символьное имя последовательногоустройства, например /dev/rhd0|||Создание схемыДанные организуются в виде таблиц, но может быть удобно группироватьтаблицы (и другие связанные объекты) вместе. Для этого при помощи оператораCREATE SCHEMA определяется схема. Информация о схеме хранится втаблицах системного каталога базы данных, с которой установлено соединение.Созданные объекты можно поместить в эту схему.Синтаксис оператора CREATE SCHEMA подробно описан в руководстве SQLReference. Задаваемое для новой схемы имя не должно существовать всистемных каталогах и не может начинаться с ″SYS″.Пользователь с полномочиями SYSADM или DBADM может создавать схемы слюбыми допустимыми именами.
При создании базы данных полномочияIMPLICIT_SCHEMA предоставляются пользователям группы PUBLIC (то естьвсем).Пользователь, определивший какие-либо объекты в операторе CREATESCHEMA, является владельцем этой схемы. Он может предоставлять (GRANT)другим пользователям и отзывать (REVOKE) у них привилегии для этой схемы.Для использования этого оператора пользователь должен обладатьполномочиями DBADM.Схемы могут также создаваться неявно, если пользователь обладаетполномочиями IMPLICIT_SCHEMA. Для пользователей с этими полномочиямипри создании объекта, для которого задано имя несуществующей схемы, этасхема создается неявно.Если пользователь не обладает полномочиями IMPLICIT_SCHEMA, он можетсоздать только схему с именем, совпадающим с его ID авторизации.Чтобы создать схему с помощью Центра управления:|1.
Раскройте дерево объектов и найдите папку Схема.2. Щелкните правой кнопкой мыши по папке Схема и выберите из всплывающего менюпункт Создать.3. Введите информацию для новой схемы и нажмите кнопку OK.Чтобы создать схему из командной строки, введите команду:|CREATE SCHEMA <имя> AUTHORIZATION <имя>122Руководство администратора: РеализацияВ следующем примере оператор CREATE SCHEMA создает схему дляотдельного пользователя с ID авторизации ″joe″:CREATE SCHEMA joeschma AUTHORIZATION joeЗадание схемы||||||Можно задать схему по умолчанию, используемую для заданных безспецификаторов имен объектов в динамических операторах SQL в конкретномсоединении DB2. Для этого специальному регистру CURRENT SCHEMAприсваивается имя схемы, которая должна использоваться по умолчанию.Любой пользователь может задать значение этого специального регистра - дляэтого не требуются никакие особые полномочия.Синтаксис оператора SET SCHEMA подробно описан в руководстве SQLReference.Ниже показан пример задания специального регистра CURRENT SCHEMA:SET CURRENT SCHEMA = 'SCHEMA01'Этот оператор можно использовать внутри прикладной программы или ввести винтерактивном режиме.
Когда задано значение специального регистраCURRENT SCHEMA, оно используется в качестве спецификатора (имени схемы)для имен объектов, для которых не задана схема, в динамических операторахSQL, за исключением оператора CREATE SCHEMA, в котором используетсяссылка без спецификатора на существующий объект базы данных.Начальное значение специального регистра CURRENT SCHEMA - IDавторизации пользователя текущего сеанса.Создание и заполнение таблицыРешив, как нужно организовать данные в таблицы, создайте эти таблицы припомощи оператора CREATE TABLE. Описания таблиц сохраняются в системномкаталоге базы данных, с которой установлено соединение.|||||Синтаксис оператора CREATE TABLE подробно описан в руководстве SQLReference. Информацию о создании сводных таблиц смотрите в разделе“Создание сводной таблицы” на стр.
151. Информацию о правилах именованиятаблиц, столбцов и других объектов базы данных смотрите в разделе“Приложение A. Правила именования” на стр. 407.||||||Оператор CREATE TABLE задает для таблицы имя (идентификатор соспецификаторами или без) и определения для каждого из ее столбцов. Можнохранить каждую таблицу в отдельном табличном пространстве, чтобы втабличном пространстве была только одна таблица. Если таблица будет частоотбрасываться и создаваться, лучше хранить ее в отдельном табличномпространстве и отбрасывать это табличное пространство, а не таблицу.
МожноГлава 3. Создание базы данных123также хранить несколько таблиц в одном табличном пространстве. В средемногораздельных баз данных выбираемое табличное пространство задает такжегруппу узлов и разделы базы данных, на которых хранятся данные таблицы.|||При создании таблица не содержит данных. Чтобы добавить в нее строкиданных, используйте один из следующих методов:v Оператор INSERT, описанный в руководстве SQL Referencev Команды LOAD или IMPORT, описанные в руководстве Command Reference.Перемещение данных в таблицы и из таблиц подробно рассмотрено в разделеData Movement Utilities Guide and Reference.При добавлении данных в таблицу информация об изменениях может незаписываться в журнал.
Условие NOT LOGGED INITIALLY оператора CREATETABLE предотвращает сохранение в журнал информации об изменениях дляэтой таблицы. В журнал не будет записываться информация о всех изменениях,сделанных в этой таблице операторами INSERT, DELETE, UPDATE, CREATEINDEX, DROP INDEX или ALTER TABLE в той же единице работы, в которойсоздана таблица. Запись в журнал начнется в следующих единицах работы.|||||||Таблица состоит из одного или нескольких определений столбцов. Для таблицыможно определить максимум 500 столбцов. Столбцы представляют собойатрибуты записи.
Все значения в одном столбце относятся к одному типуданных. Дополнительную информацию смотрите в руководстве SQL Reference.Примечание: Максимальное число столбцов при использовании страницразмером 4 Кбайта - 500. При использовании страниц размером 8Кбайт, 16 Кбайт или 32 Кбайта максимальное число столбцов 1012.Определение столбца включает в себя имя столбца, тип данных, а также принеобходимости атрибут пустых значений или значение по умолчанию(необязательно, по выбору пользователя).Имя столбца описывает информацию, содержащуюся в этом столбце, поэтомустолбцам следует давать содержательные имена. Имя столбца должно бытьуникальным в таблице; однако то же имя может использоваться в другихтаблицах.
Информацию о правилах именования смотрите в разделе “Именаобъектов” на стр. 410.Тип данных столбца определяет длину его значения и тип данных, допустимыхдля этого столбца. Менеджер баз данных использует типы данных: символьнаястрока, числовое значение, дата, время и большой объект. Тип данныхграфическая строка разрешен только в средах баз данных, использующихнаборы многобайтных символов. Кроме этого, столбцы могут быть определены124Руководство администратора: Реализациякак столбцы особых пользовательских типов данных (описаны в разделе“Создание пользовательского типа” на стр. 145).Атрибут значения по умолчанию определяет значение, которое должноиспользоваться в случаях, когда не задано конкретное значение.
Можно задатьзначение по умолчанию или же использовать значение по умолчанию,определенное системой. Значения по умолчанию можно задать как длястолбцов, для которых задан атрибут пустого значения, так и для столбцов, длякоторых он не задан.Атрибут допустимости пустых значений определяет, может ли столбецсодержать пустые значения.|Чтобы создать таблицу с помощью Центра управления:1. Раскройте дерево объектов и найдите папку Таблицы.2. Щелкните правой кнопкой мыши по папке Таблицы и выберите из всплывающегоменю пункт Создать —> Таблицы при помощи мастера.3.
Для завершения задания выполните шаги в мастере.|Чтобы создать таблицу из командной строки, введите команду:CREATE TABLE <имя>(<имя_столбца> <тип_данных> <атрибут_пустых_значений>)IN <имя_табличного_пространства)Ниже показан пример оператора CREATE TABLE, создающего таблицуEMPLOYEE в табличном пространстве RESOURCE. Это таблица определяется вбазе данных sample:CREATE TABLE(EMPNOFIRSTNMEMIDINITLASTNAMEWORKDEPTPHONENOPHOTOIN RESOURCEEMPLOYEECHAR(6)VARCHAR(12)CHAR(1)VARCHAR(15)CHAR(3),CHAR(4),BLOB(10M)NOTNOTNOTNOTNULL PRIMARY KEY,NULL,NULL WITH DEFAULT,NULL,NOT NULL)При создании таблицы можно задать, чтобы столбцы таблицы были созданы наоснове атрибутов структурированного типа. Такая таблица называются“типизированной таблицей”.Типизированную таблицу можно определить так, чтобы она наследоваланекоторые свои столбцы от другой типизированной таблицы.
Такая таблицаназывается “подтаблицей”, а таблица, столбцы которой она наследует,называется “надтаблицей”. Комбинация типизированной таблицы и всех ееГлава 3. Создание базы данных125подтаблиц называется “иерархией таблиц”. Самая верхняя таблица в иерархиитаблиц (та, которая которая не имеет надтаблицы) называется “корневойтаблицей” иерархии.В следующих разделах на основе предыдущего примера рассмотрены различныестороны создания таблицы:v “Особенности столбцов больших объектов (LOB)”v “Определение ограничений уникальности” на стр.