27_SH43-0144-00 (1038594), страница 36
Текст из файла (страница 36)
Создание базы данных153только определение алиаса. Алиас можно создать для другого алиаса. Алиасможет использоваться в определении производной таблицы или триггера и влюбом операторе SQL, кроме определений проверочных ограничений таблицы,в которых может использоваться имя существующей таблицы или производнойтаблицы.|||Алиас может использоваться везде, где может использоваться имя таблицы;алиас может ссылаться на другой алиас, если в цепи таких ссылок не возникаетциклических или повторяющихся ссылок.||||Алиас не может совпадать с существующим именем таблицы, производнойтаблицы или алиасом и может ссылаться только на таблицу в той же базеданных.
Имя таблицы или производной таблицы, заданное в операторе CREATETABLE или CREATE VIEW, не может совпадать с именем алиаса в той же схеме.|||Для создания алиаса не требуются специальные полномочия, если он создается всхеме, владельцем которой является текущий ID авторизации; в противномслучае требуются полномочия DBADM.|||Алиас можно определить для таблицы, производной таблицы или алиаса,которые еще не существуют в момент определения. Однако они должнысуществовать в момент компиляции оператора SQL, использующего этот алиас.||||Если алиас или объект, на который он ссылается, отброшен, все пакеты,зависящие от этого алиаса, отмечаются как недействительные, а всепроизводные таблицы и триггеры, зависящие от этого алиаса, отмечаются какнеработоспособные.|Чтобы создать алиас с помощью Центра управления:1. Раскройте дерево объектов и найдите папку Алиасы.2.
Щелкните правой кнопкой мыши по папке Алиасы и выберите из всплывающегоменю пункт Создать.3. Введите необходимую информацию и нажмите кнопку OK.Чтобы создать алиас из командной строки, введите команду:||CREATE ALIAS <имя_алиаса> FOR <имя_таблицы>Во время компиляции вместо алиаса в оператор подставляется имя таблицы илипроизводной таблицы.
Если по алиасу (или цепочке алиасов) невозможноопределить имя таблицы или производной таблицы, возникает ошибка.Например, если WORKERS - это алиас для таблицы EMPLOYEE, во времякомпиляции:SELECT * FROM WORKERS154Руководство администратора: Реализацияпревратится вSELECT * FROM EMPLOYEEСледующий оператор SQL создает алиас WORKERS для таблицы EMPLOYEE:CREATE ALIAS WORKERS FOR EMPLOYEEПримечание: В DB2 for MVS/ESA для алиасов используются два разных понятия- алиас (ALIAS) и синоним (SYNONYM). Эти понятия отличаютсяот алиасов в DB2 Universal Database:v Алиасы в DB2 for MVS/ESA:– Требуют для создания специальных полномочий илипривилегии– Не могут ссылаться на другие алиасы.v Синонимы в DB2 for MVS/ESA:– Могут использоваться только их создателем– Всегда используются без спецификаторов– Отбрасываются при отбрасывании таблицы, на которую ониссылаются– Используют отдельное от имен таблиц и производныхтаблиц пространство имен.Создание оболочкиВ базе данных объединения оператор CREATE WRAPPER используется длярегистрации оболочки.
Этот оператор определяет механизм, который можетиспользоваться сервером объединения для взаимодействия с определеннойкатегорией источников данных.|||||Для конкретных типов и версий источников данных, протоколов связи иоперационных систем должны использоваться особые библиотеки. Например,базы данных объединения, работающие в операционной системе Windows NT иприменяющие связь APPC, используют для доступа к источникам данныхAS/400 и DB2 for OS/390 библиотеку libdrda.dll.||Чтобы использовать оператор CREATE WRAPPER, необходимо обладатьполномочиями SYSADM или DBADM для базы данных объединения.||При создании оболочки с помощью Центра управления или командной строкиэта оболочка регистрируется в базе данных объединения.Глава 3. Создание базы данных155Чтобы создать оболочку с помощью Центра управления:|1.
Раскройте дерево объектов и найдите папку Объекты базы данных объединения.2. Щелкните правой кнопкой мыши по папке Объекты базы данных объединения ивыберите из всплывающего меню пункт Создать оболочку.3. Введите необходимую информацию и нажмите кнопку OK.Чтобы создать оболочку из командной строки, введите команду:||CREATE WRAPPER <имя_оболочки> LIBRARY '<имя_библиотеки>'Следующий оператор SQL регистрирует оболочку ORACLE8 в операционнойсистеме Windows NT:CREATE WRAPPER ORACLE8 LIBRARY 'libnet8.dll'Подробную информацию об использовании оператора CREATE WRAPPERсмотрите в руководстве SQL Reference.Создание сервера|В базе данных объединения создайте серверы, чтобы определить источникиданных для DB2 и описать их характеристики: имя, оболочка, тип, версия,положение и опции.
Эта информация используется для отображенияпсевдонимов на конкретные системы управления данными и для оптимизатораDB2. Информация о серверах хранится в производных таблицах каталогаSYSCAT.SERVERS и SYSCAT.SERVEROPTIONS.||||Примечание: В этом разделе термином ″сервер″ обозначаются источникиданных, а не серверы DRDA или серверы DB2. Для обращения кдругим источникам данных (например, Oracle) требуется DB2Connect.|Объект сервера можно создать, только если создана оболочка.Чтобы использовать этот оператор, необходимо обладать полномочиямиSYSADM или DBADM для базы данных объединения.Чтобы указать отличия в процессах аутентификации в DB2 и на серверахисточников данных, можно создать отображения пользователей.
Отображенияпользователей подробно обсуждаются в разделе “Отображения пользователей”на стр. 245.Если сервер отброшен, отбрасываются все зависящие от него объекты (такие какотображения пользователей, псевдонимы, отображения функций, отображениятипов и планы).|||156Руководство администратора: Реализация||||При создании сервера задайте опции сервера. Эти опции содержат необходимуюподробную информацию о сервере (например, имя узла). Опции серверапозволяют также задать особые значения, описывающие производительность изащиту.Для создания сервера можно использовать Центр управления или процессоркомандной строки.|Чтобы создать сервер с помощью Центра управления:1. Раскройте дерево объектов и найдите папку Серверы в папке Объекты базы данныхобъединения.2.
Щелкните правой кнопкой мыши по папке Серверы и выберите из всплывающегоменю пункт Создать сервер.3. Введите необходимую информацию и нажмите кнопку OK.||||Чтобы создать сервер из командной строки, введите команду:CREATE SERVER <имя_сервера> TYPE <тип_сервера>VERSION <версия_сервера> WRAPPER <имя_оболочки>OPTIONS (<имя_опции_сервера> <строчная_константа>)Следующий пример оператора SQL создает сервер Oracle с именем ORA8:CREATE SERVER ORA8 TYPE ORACLE VERSION 8 WRAPPER ORACLE8 OPTIONS(NODE 'ONODE')Следующий пример оператора SQL создает сервер DB2 с именем DB2TEST:CREATE SERVER DB2TEST TYPE DB2 VERSION 6.1 WRAPPER DB2UDB OPTIONS(NODE 'DB2TEST', DBNAME 'TEST1')||||||||Определение узла (NODE) в операторе SQL CREATE SERVER зависит от типаисточника данных.
Если источник данных - это DBMS DB2, это значение задаетэкземпляр DB2, содержащий одну или несколько баз данных. Обратитевнимание на то, что в предыдущем примере опция DBNAME задает имя базыданных. Если источник данных - это DBMS DB2 for OS/390, это значение задаетимя положения (LOCATION) системы DB2 for OS/390. Если источник данных это DBMS Oracle, опция DBNAME не требуется, поскольку экземпляр Oracleсодержит только одну базу данных.||||Дополнительную информацию о синтаксисе оператора CREATE SERVERсмотрите в руководстве SQL Reference. Дополнительную информацию обиспользовании оператора CREATE SERVER смотрите в руководстве Дополнениепо установке и настройке.Глава 3. Создание базы данных157Использование опций сервера для определения характеристикисточников данных и настройки процесса аутентификацииМожно задать переменные, которые называются опциями сервера; их значениявлияют на то, как сервер объединения обращается к источнику данных.
В этомразделе:v Объясняется назначение опций сервераv Описываются операторы SQL, применяемые для задания опций сервераv Перечислены опции сервера и их значенияНазначение опций сервераОпции сервера используются для:v Задания или изменения информации об источниках данных. Определениесервера содержит как основную информацию об источнике данных(например, имя), так и информацию, которая может со временем измениться.Для задания некоторых изменяемых значений можно использовать опциисервера. Например, значение опции cpu_ratio указывает, насколько быстрееили медленнее процессор источника данных по сравнению с процессоромсистемы DB2.
Если в систему DB2 добавлены один или несколькопроцессоров, нужно изменить это значение.v Поддержки аутентификации. Можно задать некоторые опции сервера, чтобыID пользователей и пароли передавались на источник данных в требуемомрегистре. Например, можно задать опцию fold_id, чтобы перед тем какпослать ID пользователя источнику данных, сервер объединения преобразовалего в требуемый этим источником данных регистр (верхний или нижний).Или, если ID пользователя задан на сервере объединения в требуемомрегистре, можно задать опцию fold_id, чтобы предотвратить попытки сервераизменить регистр и избежать затрат на этот процесс.v Оптимизации запросов. Некоторые опции сервера и их значения способствуютоптимизации.
Например, в операторе CREATE SERVER можно задатьнекоторые показатели производительности в качестве значений опций. Вчастности, для опции cpu_ratio можно задать значение, указывающееотношение скоростей процессоров источника данных и сервера объединения.Для опции io_ratio можно задать значение, указывающее отношениескоростей устройств ввода-вывода источника данных и сервера объединения.При выполнении оператора CREATE SERVER эти показатели будутдобавлены в производную таблицу каталога SYSCAT.SERVEROPTIONS иоптимизатор будет использовать их при создании плана доступа для этогоисточника данных.
Если значение показателя изменилось (это можетпроизойти, например, при изменении процессора источника данных), можнопри помощи оператора ALTER SERVER внести новое значение вSYSCAT.SERVEROPTIONS. При разработке нового плана доступа для этогоисточника данных оптимизатор будет использовать новое значение.|||||||||||||||158Руководство администратора: РеализацияОператоры SQL для опций сервераЕсть три оператора SQL, в которых можно задать значения для опций сервера:CREATE SERVER, ALTER SERVER и SET SERVER OPTION.Оператор CREATE SERVER используется для задания значения опции, котороебудет действовать неопределенно долгое время для множества соединений систочником данных. Используя этот оператор, можно задать для опциизначение, отличное от значения по умолчанию, или, если у опции нет значенияпо умолчанию, задать для нее исходное значение.Оператор ALTER SERVER используется, если после задания значения опции спомощью оператора CREATE SERVER нужно задать для нее другое значение,сохраняющееся для многих соединений.Оператор SET SERVER OPTION используется для временного изменениязначения опции сервера в течение одного соединения с базой данных.