Khái niệm schema và tạo Schema trong SQL Server
- 21-05-2022
- Toanngo92
- 0 Comments
Mục lục
Khái niệm Schema
Schema là một khái niệm mới được đưa vào SQL Server từ phiên bản 2005, nó là một namespace dùng để gom nhóm các table có chung một đặc điểm nào đó đễ dễ dàng quản lý. Nếu bạn không sử dụng schema trong CSDL thì sẽ gán schema mặc định là dbo.
Ví dụ trong lược đồ CSDL của bạn có hai loại table chính như sau:
Các table về tin tức -> mình sẽ tạo schema tên là news gồm những table liên quan đến tin tức
Các table sản phẩm -> mình sẽ tạo schema tên là products gồm những table liên quan sản phẩm
Trong một database thì tên của schema là duy nhất, tuân thủ cú pháp: server.database.schema.object
Ưu điểm của schema:
Khi bạn phân nhóm các table lại theo tiền tố được xác định bằng schema thì sẽ rất dễ dàng quản lý, nhận diện, hay có thể phân quyền quản lý từng schema cho từng user khác nhau, đây chính là vai trò chính của schema.
Tạo schema (Create Schema)
Tạo Schema bằng SSMS:
Tạo Schema bằng T-SQL
Cú pháp:
CREATE SCHEMA (<schema_name>)
Ví dụ:
CREATE SCHEMA (<news>)
Xóa schema (Drop schema)
Cú pháp
DROP SCHEMA (<schema_name>)
Ví dụ:
DROP SCHEMA news
Phân quyền cho schema (Grant permission Schema)
Giả sử mình muốn user toanngo92 có quyền quản lý cho schema news thì chỉ cần sử dụng lệnh GRANT, còn xóa quyền thì dùng lệnh DENY.
Cấp quyền:
GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA :: news TO toanngo92
Xóa quyền:
DENY SELECT, INSERT, UPDATE, DELETE ON SCHEMA :: news TO toanngo92
Như vậy việc phân nhóm như thế này giúp lược đồ cơ sở dữ liệu của bạn trông chuyên nghiệp hơn, dễ dàng phân quyền và bảo mật hơn.