Инструменты пользователя

Инструменты сайта


examination:bd:question26

Создание схемы БД с помощью SQL

 CREATE SCHEMA schema_name_clause [ <schema_element> [ ...n ] ]

 <schema_name_clause> ::=
     {
     schema_name
     | AUTHORIZATION owner_name
     | schema_name AUTHORIZATION owner_name
     }

 <schema_element> ::= 
     { 
         table_definition | view_definition | grant_statement | 
         revoke_statement | deny_statement 
     }

schema_name Имя, по которому схема идентифицируется в данной базе данных.

AUTHORIZATION owner_name Указывает имя участника уровня базы данных, который является владельцем схемы. Этому участнику могут принадлежать и другие схемы, при этом текущая схема может не использоваться по умолчанию.

table_definition Указывает инструкцию CREATE TABLE, которая создает таблицу внутри схемы. У участника, выполняющего эту инструкцию, должно быть разрешение CREATE TABLE в текущей базе данных.

view_definition Указывает инструкцию CREATE VIEW, которая создает представление внутри схемы. У участника, выполняющего эту инструкцию, должно быть разрешение CREATE VIEW в текущей базе данных.

grant_statement Указывает инструкцию GRANT, которая предоставляет разрешения на любой защищаемый объект, за исключением новой схемы.

revoke_statement Указывает инструкцию REVOKE, которая отменяет разрешения на любой защищаемый объект, за исключением новой схемы.

deny_statement Указывает инструкцию DENY, которая запрещает разрешения на любой защищаемый объект, за исключением новой схемы.

Инструкция CREATE SCHEMA создает схему, содержащиеся в ней таблицы и представления, а также разрешения GRANT, REVOKE или DENY на любой защищаемый объект в одной инструкции. Эта инструкция должна выполняться как отдельный пакет. При помощи инструкции CREATE SCHEMA объекты создаются внутри создаваемой схемы.

Транзакции CREATE SCHEMA являются атомарными. Если в процессе выполнения инструкции CREATE SCHEMA возникают ошибки, ни один из указанных защищаемых объектов не создается и ни одно разрешение не предоставляется.

Изменение схемы

 ALTER SCHEMA schema_name 
   TRANSFER [ <entity_type> :: ] securable_name [;]

<entity_type> ::=
    {
        Object | Type | XML Schema Collection
    }

schema_name Имя схемы в текущей базе данных, в которую будет перемещена защищаемая сущность. Не может иметь значение SYS или INFORMATION_SCHEMA.

<entity_type> Класс сущности, для которой изменяется владелец. По умолчанию это объект.

securable_name Одно- или двухкомпонентное имя содержащейся в схеме защищаемой сущности, которая должна быть перемещена в другую схему.

Удаление схемы

 DROP SCHEMA schema_name 
examination/bd/question26.txt · Последние изменения: 2014/01/15 08:11 (внешнее изменение)