NEWS

[SQLSERVER] Schema là gì? Schema trong sql server dùng để làm gì

[SQLSERVER] Schema là gì? Schema trong sql server dùng để làm gì
Đăng bởi: Thảo Meo - Lượt xem: 16446 11:23:10, 09/12/2019C#   In bài viết

Xin chào các bạn, bài viết hôm nay mình sẽ nói về Schema trong Sqlserver. Vậy Schema là gì? và trong Sqlserver nó được sử dụng để làm gì?

Schema là gì?

Schema trong SQL Server để nhóm các Database Object lại với nhau cho dễ quản lý.

Ví dụ bạn có thể nhóm các table và Stored procedure liên quan đến bộ phận nhân sự HumanResource vào 1 Schema có tên là HumanResource.

Ví dụ ta có 1 table là Salary đặt trong Schema HumanResource, thì ta gọi table này bằng cách như sau:

Select columnA, columnB from HumanResouce.Salary

Schema_sql

Một lý do nữa để dùng Schema là bảo mật (Security Policy), ta có thể phân quyền ở cấp độ toàn Schema thay vì từng object riêng biệt trong Schema.

Như vậy trong 1 database ta có thể đặt tên 2 table giống nhau, với điều kiện chúng phải thuộc 2 schema khác nhau.

Schema mặc định của các object trong database là dbo.

Một schema thuận lợi cho việc tách, quản lý, và quyền sở hữu của các đối tượng cơ sở dữ liệu, nâng cao quản trị an ninh của các đối tượng cơ sở dữ liệu.

Khái niệm schema là gì ?

  • Schema là khái niệm mới có trong Sql server 2005 trở lên
  • Schema mặc định của các object trong database là dbo
  • Có thể hiểu schema là một namespace đối với các đối tượng database
  • Một schema định nghĩa một ranh giới mà trong đó tất cả các tên là duy nhất
  • Bên trong một database, tên của schema là duy nhất, luôn có tên với đường đầy đủ dạng server.database.schema.object

Tạo schema có 2 cách

  • Có thể tạo bằng SSMS
  • Tạo bằng cú pháp lệnh : CREATE SCHEMA <tên_schema>
CREATE SCHEMA Role

Xóa schema có 2 cách

  • Có thể xóa bằng SSMS
  • Xóa bằng cú pháp lệnh: DROP SCHEMA <tên_schema>
DROP SCHEMA Role

Cấp quyền hay xóa quyền sử dụng schema cho user

  • Cấp quyền: GRANT SELECT ON SCHEMA :: <tên_schema> TO <tên_user>
  • Xóa quyền: GRANT SELECT ON SCHEMA :: <tên_schema> TO <tên_user>

Ưu điểm của schema

  • Giúp nhóm các Database Object lại với nhau cho dễ quản lý
  • Cho phép phân quyền ở schema tăng tính bảo mật

 

THÔNG TIN TÁC GIẢ

BÀI VIẾT LIÊN QUAN

[SQLSERVER] Schema là gì? Schema trong sql server dùng để làm gì
Đăng bởi: Thảo Meo - Lượt xem: 16446 11:23:10, 09/12/2019C#   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp
.