27_SH43-0144-00 (1038594), страница 44
Текст из файла (страница 44)
Щелкните правой кнопкой мыши по табличному пространству, которое нужноотбросить, и выберите из всплывающего меню пункт Отбросить.1. Раскройте дерево объектов и найдите папку Табличные пространства.3. Включите переключатель Подтверждение и нажмите кнопку OK.Чтобы отбросить пользовательское табличное пространство из команднойстроки, введите команду:|||DROP TABLESPACE <имя>Следующий оператор SQL отбрасывает табличное пространствоACCOUNTING:DROP TABLESPACE ACCOUNTING||||||||Отбрасывание системного временного табличного пространстваНельзя отбросить системное временное табличное пространство, не создавсначала другое системное временное табличное пространство, поскольку базаданных всегда должна содержать по крайней мере одно такое табличноепространство.
Например, чтобы добавить контейнер к временному табличномупространству SMS, необходимо сначала создать новое системное временноетабличное пространство и затем отбросить старое системное временноетабличное пространство.||Чтобы отбросить системное табличное пространство с помощью Центрауправления:192Руководство администратора: Реализация|||||||||||||||1.
Раскройте дерево объектов и найдите папку Табличные пространства.2. Если у вас только одно системное временное табличное пространство, щелкнитеправой кнопкой мыши по папке Табличные пространства и выберите извсплывающего меню Создать —> Табличное пространство при помощи мастера. Впротивном случае перейдите к четвертому шагу.3. Выполните шаги в мастере, чтобы создать необходимое новое системное временноетабличное пространство.4. Еще раз щелкните по папке Табличные пространства, чтобы увидеть списоксуществующих табличных пространств в правой части окна (в панели содержимого).5.
Щелкните правой кнопкой мыши по системному временному табличномупространству, которое нужно отбросить, и выберите из всплывающего меню пунктОтбросить.6. Включите переключатель Подтверждение и нажмите кнопку OK.|||||Если у вас только одно системное временное табличное пространство, перед егоудалением необходимо создать другое такое табличное пространство. Этоможно сделать из командной строки, введя команду:|||Затем отбросьте системное табличное пространство из командной строки, введякоманду:||||Следующий оператор SQL создает новое системное временное табличноепространство с именем TEMPSPACE2:|||Создав TEMPSPACE2, можно отбросить исходное системное временноетабличное пространство TEMPSPACE1 с помощью команды:||||Можно повторно использовать контейнеры пустого табличного пространства,отбросив это табличное пространство, но прежде, чем пытаться повторноиспользовать эти контейнеры, необходимо выполнить принятие (COMMIT)команды DROP TABLESPACE.||||||Отбрасывание пользовательского временного табличногопространстваПользовательское временное табличное пространство можно отбросить, толькоесли в нем в настоящее время не объявлены никакие временные таблицы.
Приотбрасывании табличного пространства не делается попытка отбросить всеобъявленные в нем временные таблицы.CREATE SYSTEM TEMPORARY TABLESPACE <имя>MANAGED BY SYSTEM USING ('<устройство>')DROP TABLESPACE <имя>CREATE SYSTEM TEMPORARY TABLESPACE TEMPSPACE2MANAGED BY SYSTEM USING ('d')DROP TABLESPACE TEMPSPACE1Глава 4. Изменение базы данных193Примечание: Объявленная временная таблица неявно отбрасывается, когдаобъявившая ее прикладная программа отсоединяется от базыданных.|||Отбрасывание схемы|Перед отбрасыванием схемы необходимо отбросить все объекты в этой схемеили переместить их в другую схему.
При выполнении оператора DROP имязаданной в нем схемы должно быть в каталоге, в противном случае будетвозвращен код ошибки.Чтобы отбросить схему с помощью Центра управления:|1. Раскройте дерево объектов и найдите папку Схемы.2. Щелкните правой кнопкой мыши по схеме, которую нужно отбросить, и выберите извсплывающего меню пункт Отбросить.3.
Включите переключатель Подтверждение и нажмите кнопку OK.Чтобы отбросить схему из командной строки, введите команду:||DROP SCHEMA <имя>В следующем примере отбрасывается схема ″joeschma″:DROP SCHEMA joeschma RESTRICTКлючевое слово RESTRICT задает правило, в соответствии с которым вудаляемой из базы данных схеме не должны быть определены никакие объекты.||Изменение структуры и содержимого таблицыЗадачи по изменению структуры и содержимого таблицы:vvvvvvv“Добавление столбцов в существующую таблицу” на стр. 195“Изменение определения столбца” на стр.
195“Изменение ограничения” на стр. 196“Добавление ограничения” на стр. 196“Отбрасывание ограничения” на стр. 199“Объявление таблицы нестабильного объема” на стр. 205“Изменение ключей разделения” на стр. 206v “Изменение атрибутов таблиц” на стр. 207v “Обновление данных в сводной таблице” на стр. 208Учтите, что нельзя изменять триггеры для таблиц; необходимо отбросить несоответствующие задачам триггеры (смотрите раздел “Отбрасывание триггера”на стр. 212) и создать вместо них новые (смотрите раздел “Создание триггера”на стр.
140).194Руководство администратора: РеализацияДобавление столбцов в существующую таблицуОпределение столбца включает в себя имя столбца, тип данных и всенеобходимые ограничения.При добавлении в существующую таблицу нового столбца изменяется толькоописание таблицы в системном каталоге, это не оказывает немедленноговлияния на обращение к данным таблицы. Существующие записи физическиизменяются только при выполнении оператора UPDATE. При получении изтаблицы существующей строки для нового столбца в зависимости от егоопределения возвращается пустое значение или значение по умолчанию.Столбцы, добавляемые после создания таблицы, нельзя определять как NOTNULL: они должны быть определены как NOT NULL WITH DEFAULT или какстолбцы, которые могут содержать пустые значения.|||||||||||||Чтобы добавить столбцы в существующую таблицу с помощью Центрауправления:1.
Раскройте дерево объектов и найдите папку Таблицы.2. Щелкните правой кнопкой по таблице, в которую нужно добавить столбцы, ивыберите из всплывающего меню пункт Изменить.3. Перейдите на страницу Столбцы, введите информацию для нового столбца инажмите кнопку OK.Чтобы добавить столбцы в существующую таблицу с помощью команднойстроки, введите команду:ALTER TABLE <имя_таблицы>ADD <имя_столбца> <тип_данных> <атрибут_пустого_значения>Для добавления столбцов можно использовать оператор SQL.
В следующемоператоре используется оператор ALTER TABLE для добавления трех столбцовк таблице EMPLOYEE:ALTER TABLE EMPLOYEEADD MIDINIT CHAR(1)ADD HIREDATE DATEADD WORKDEPT CHAR(3)NOT NULL WITH DEFAULT|Изменение определения столбцаМожно изменить характеристики столбца, увеличив длину существующегостолбца VARCHAR. Число символов, до которого можно увеличить размерстолбца, зависит от используемого размера страницы.||Чтобы изменить столбцы в существующей таблице с помощью Центрауправления:Глава 4. Изменение базы данных195|||||||1.
Раскройте дерево объектов и найдите папку Таблицы.2. В списке таблиц в правой панели щелкните правой кнопкой по таблице, в которойнужно изменить столбцы, и выберите из всплывающего меню пункт Изменить.3. Перейдите на страницу Столбцы, выберите столбец и нажмите кнопку Изменить.4. В поле Длина введите новую длину этого столбца (в байтах) и нажмите кнопку OK.Чтобы изменить столбцы в существующей таблице из командной строки,введите команду:||||ALTER TABLE ALTER COLUMN<имя_столбца> <тип_изменения>Например, чтобы увеличить длину столбца до 4000 символов, используйтеоператор, подобный следующему:ALTER TABLE ALTER COLUMNCOLNAM1 SET DATA TYPE VARCHAR(4000)Нельзя изменить столбцы типизированной таблицы.
Однако можно задатьобласть видимости для существующего столбца ссылочного типа, для которогообласть видимости еще не определена. Например:ALTER TABLE ALTER COLUMNCOLNAMT1 ADD SCOPE TYPTAB1Дополнительную информацию об операторе ALTER TABLE смотрите вруководстве SQL Reference.Изменение ограниченияЧтобы изменить ограничения, надо отбросить их и создать вместо них новые.Дополнительную информацию смотрите в разделах:v “Добавление ограничения”v “Отбрасывание ограничения” на стр.
199Дополнительную информацию об ограничениях смотрите в разделе“Определение ограничений” на стр. 128.Добавление ограниченияДля добавления ограничений используется оператор ALTER TABLE.Дополнительную информацию об этом операторе, включая его синтаксис,смотрите в руководстве SQL Reference.Дополнительную информацию об ограничениях смотрите в разделе“Определение ограничений” на стр. 128.Добавление ограничения уникальности: В существующую таблицу можнодобавить ограничения уникальности. Имя ограничения не должно совпадать сименами других ограничений, заданных в этом операторе ALTER TABLE, и196Руководство администратора: Реализациядолжно быть уникальным в таблице (среди имен всех определенныхограничений реляционной целостности).
Перед завершением операторасуществующие данные проверяются на соответствие этому новому условию.Следующий оператор SQL добавляет в таблицу EMPLOYEE ограничениеуникальности, представляющее новый способ уникальной идентификациисотрудников в этой таблице:ALTER TABLE EMPLOYEEADD CONSTRAINT NEWID UNIQUE(EMPNO,HIREDATE)Добавление первичных и внешних ключей: Чтобы добавить ограничения кбольшой таблице, лучше перевести таблицу в состояние отложенной проверки,добавить ограничения и затем проверить таблицу, получив общий списокнарушающих правила строк.
Чтобы явно задать состояние отложеннойпроверки, используйте оператор SET INTEGRITY (если это родительскаятаблица, все зависимые и дочерние таблицы будут неявно переведены всостояние отложенной проверки).|Чтобы добавить первичные ключи с помощью Центра управления:1. Раскройте дерево объектов и найдите папку Таблицы.2. Щелкните правой кнопкой по таблице, которую нужно изменить, и выберите извсплывающего меню пункт Изменить.3. На странице Первичный ключ выберите один или несколько столбцов в качествепервичных ключей и нажмите кнопку со стрелкой, чтобы переместить их.4.