SQL Server СОЗДАТЬ СХЕМУ

В этом руководстве вы узнаете, как использовать SQL Server CREATE SCHEMA для создания новой схемы в текущей базе данных.

Что такое схема в SQL Server?

Схема — это набор объектов базы данных, включая таблицы, представления, триггеры, хранимые процедуры, индексы и т. д. Схема связана с именем пользователя, который называется владельцем схемы и является владельцем логически связанных объектов базы данных.

Схема всегда принадлежит одной базе данных. С другой стороны, база данных может иметь одну или несколько схем. Например, в нашем образце базы данных BikeStores у нас есть две схемы: sales и production. Объект в схеме квалифицируется с использованием формата schema_name.object_name, например sales.orders. Две таблицы в двух схемах могут иметь одно и то же имя, поэтому у вас может быть hr.employees и sales.employees.

Встроенные схемы в SQL Server

SQL Server предоставляет нам несколько предопределенных схем, которые имеют те же имена, что и встроенные пользователи и роли базы данных, например: dbo, guest, sys и INFORMATION_SCHEMA.

Обратите внимание, что SQL Server резервирует схемы sys и INFORMATION_SCHEMA для системных объектов, поэтому вы не можете создавать или удалять какие-либо объекты в этих схемах.

Схемой по умолчанию для вновь созданной базы данных является dbo, которая принадлежит учетной записи пользователя dbo. По умолчанию, когда вы создаете нового пользователя с помощью команды CREATE USER, пользователь возьмет dbo в качестве своей схемы по умолчанию.

Обзор оператора SQL Server CREATE SCHEMA

Оператор CREATE SCHEMA позволяет создать новую схему в текущей базе данных.

Ниже показана упрощенная версия оператора CREATE SCHEMA:

CREATE SCHEMA schema_name
    [AUTHORIZATION owner_name]

В этом синтаксисе

  • Сначала укажите имя схемы, которую вы хотите создать, в предложении CREATE SCHEMA.
  • Во-вторых, укажите владельца схемы после ключевого слова AUTHORIZATION.

Пример оператора SQL Server CREATE SCHEMA

В следующем примере показано, как использовать оператор CREATE SCHEMA для создания схемы customer_services:

CREATE SCHEMA customer_services;
GO

Обратите внимание, что команда GO дает команду SQL Server Management Studio отправлять SQL-операторы вплоть до оператора GO на сервер для выполнения.

После выполнения оператора вы сможете найти вновь созданную схему в разделе «Безопасность» > «Схемы» имени базы данных.

SQL Server СОЗДАТЬ СХЕМУ

Если вы хотите получить список всех схем в текущей базе данных, вы можете запросить схемы из sys.schemas, как показано в следующем запросе:

SELECT 
    s.name AS schema_name, 
    u.name AS schema_owner
FROM 
    sys.schemas s
INNER JOIN sys.sysusers u ON u.uid = s.principal_id
ORDER BY 
    s.name;

Вот что получилось:

Схемы списков SQL Server

После того, как у вас есть схема customer_services, вы можете создавать объекты для схемы. Например, следующий оператор создает новую таблицу с именем jobs в схеме customer_services:

CREATE TABLE customer_services.jobs(
    job_id INT PRIMARY KEY IDENTITY,
    customer_id INT NOT NULL,
    description VARCHAR(200),
    created_at DATETIME2 NOT NULL
);

В этом руководстве вы узнали, как использовать оператор SQL Server CREATE SCHEMA для создания новой схемы в текущей базе данных.

Мирослав С.

Автор статей, ИБ-специалист