В этом руководстве вы узнаете, как использовать 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 на сервер для выполнения.
После выполнения оператора вы сможете найти вновь созданную схему в разделе «Безопасность» > «Схемы» имени базы данных.
Если вы хотите получить список всех схем в текущей базе данных, вы можете запросить схемы из 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;
Вот что получилось:
После того, как у вас есть схема 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 для создания новой схемы в текущей базе данных.