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 đồ: salesproduction.

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.employeessales.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 đồ sysINFORMATION_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ệnh GO 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.

Câu lệnh CREATE SCHEMA trong SQL Server

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ả:

Liệt kê tất cả lược độ trong SQL Server

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.

SQL ServerĐịnh nghĩa dữ liệu trong SQL Server
Bài Viết Liên Quan:
GUID trong SQL Server
Trung Nguyen 12/03/2022
GUID trong SQL Server

Trong hướng dẫn này, bạn sẽ tìm hiểu về GUID trong SQL Server và cách sử dụng hàm NEWID() để tạo giá trị GUID.

Kiểu dữ liệu DATETIMEOFFSET trong SQL Server
Trung Nguyen 12/03/2022
Kiểu dữ liệu DATETIMEOFFSET trong SQL Server

Trong hướng dẫn này, bạn sẽ học cách sử dụng kiểu dữ liệu DATETIMEOFFSET trong SQL Server để thao tác datetime với múi giờ.

Kiểu dữ liệu TIME trong SQL Server
Trung Nguyen 12/03/2022
Kiểu dữ liệu TIME trong SQL Server

Trong hướng dẫn này, bạn sẽ học cách lưu trữ thời gian trong ngày trong cơ sở dữ liệu bằng cách sử dụng kiểu dữ liệu TIME trong SQL Server.

Kiểu dữ liệu DATE trong SQL Server
Trung Nguyen 12/03/2022
Kiểu dữ liệu DATE trong SQL Server

Trong hướng dẫn này, bạn sẽ học cách sử dụng kiểu dữ liệu DATE trong SQL Server để lưu trữ dữ liệu ngày tháng trong một bảng.