CREATE SCHEMA trong SQL Server
Trong hướng dẫn này, bạn sẽ học cách sử dụng câu lệnh CREATE SCHEMA
trong SQL Server để tạo một lược đồ (schema) mới trong cơ sở dữ liệu hiện tại.
Schema trong SQL Server là gì
Lược đồ (schema) là tập hợp các đối tượng cơ sở dữ liệu bao gồm table, view, trigger, stored procedure, index, v.v. Một lược đồ được liên kết với username được gọi là chủ sở hữu lược đồ, chủ sở hữu của các đối tượng cơ sở dữ liệu liên quan về mặt logic.
Một lược đồ luôn thuộc về một cơ sở dữ liệu. Mặt khác, một cơ sở dữ liệu có thể có một hoặc nhiều lược đồ. Ví dụ, trong cơ sở dữ liệu mẫu BikeStores
, chúng tôi có hai lược đồ: sales
và production
.
Một đối tượng đủ điều kiện trong lược đồ bằng cách sử dụng định dạng schema_name.object_name
, ví dụ: sales.orders
. Hai bảng trong hai lược đồ có thể dùng chung tên nên bạn có thể có hr.employees
và sales.employees
.
Lược đồ tích hợp trong SQL Server
SQL Server cung cấp cho chúng ta một số lược đồ được định nghĩa trước, ví dụ: dbo
, guest
, sys
, và INFORMATION_SCHEMA
.
Lưu ý rằng SQL Server sử dụng các lược đồ
sys
vàINFORMATION_SCHEMA
cho các đối tượng hệ thống, do đó, bạn không thể tạo hoặc xóa bất kỳ đối tượng nào trong các lược đồ này.
Lược đồ mặc định cho cơ sở dữ liệu mới được tạo là dbo
, thuộc sở hữu của tài khoản người dùng dbo
. Theo mặc định, khi bạn tạo người dùng mới bằng lệnh CREATE USER
, người dùng sẽ lấy dbo
làm lược đồ mặc định của nó.
Tổng quan về câu lệnh CREATE SCHEMA trong SQL Server
Câu lệnh CREATE SCHEMA
cho phép bạn tạo một lược đồ mới trong cơ sở dữ liệu hiện tại.
Phần sau minh họa phiên bản đơn giản hóa của câu lệnh CREATE SCHEMA
:
CREATE SCHEMA schema_name
[AUTHORIZATION owner_name]
Trong cú pháp này,
- Đầu tiên, chỉ định tên của lược đồ mà bạn muốn tạo trong mệnh đề
CREATE SCHEMA
. - Tiếp theo, chỉ định chủ sở hữu của lược đồ sau từ khóa
AUTHORIZATION
.
Ví dụ về câu lệnh CREATE SCHEMA trong SQL Server
Ví dụ sau cho thấy cách sử dụng câu lệnh CREATE SCHEMA
để tạo lược đồ customer_services
:
CREATE SCHEMA customer_services;
GO
Lưu ý rằng lệnh
GO
hướng dẫn SQL Server Management Studio gửi các câu lệnh SQL ở phía trên lệnhGO
tới máy chủ để thực thi.
Sau khi thực hiện câu lệnh, bạn có thể tìm thấy lược đồ mới được tạo trong Security > Schemas như hình dưới đây.
Nếu bạn muốn liệt kê tất cả các lược đồ trong cơ sở dữ liệu hiện tại, bạn có thể truy vấn các lược đồ từ sys.schemas
như được minh họa trong truy vấn sau:
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;
Đây là kết quả:
Sau khi có lược đồ customer_services
, bạn có thể tạo các đối tượng cho lược đồ. Ví dụ: câu lệnh sau tạo một bảng mới có tên jobs
trong lược đồ 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
);
Trong hướng dẫn này, bạn đã học cách sử dụng câu lệnh CREATE SCHEMA
trong SQL Server để tạo một lược đồ mới trong cơ sở dữ liệu hiện tại.