Thứ Hai, 24 tháng 7, 2023

Schema là gì? tạo Schema trong SQL Server

Ở bài trước bạn đã hiểu cách tạo database rồi, vậy thì trong bài này mình sẽ nói đến một thành phần khá hay trong SQL Server đó là schema. Nội dung bài sẽ giải thích Schema là gì, tại sao nên sử dụng Schema? Cách tạo và quản lý schema trong SQL Server.

Mục lục

  • 1. Schema là gì?
  • 2. Cách tạo Schema với lệnh Create Schema
  • 3. Cách xóa Schema với lệnh DROP SCHEMA
  • 4. Phân quyền cho schema 

1. Schema là gì?

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ì nó sẽ lấy 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 hệ thống -> mình sẽ tạo schema tên là sys gồm những table liên quan đến hệ thống

Trong một database thì tên của schema là duy nhất, luôn được chỉ định với cú pháp: server.database.schema.object.

Ưu điểm: Khi bạn phân nhóm các table lại thì sẽ rất dễ dàng quản lý, và bạn có thể phân quyền quản lý từng schema cho từng user khác nhau, đây chính là điểm mạnh của schema.

2. Cách tạo Schema với lệnh Create Schema

SQL Server cung cấp đầy đủ công cụ giao diện đồ họa đến công cụ dòng lệnh nên bạn có hai cách để tạo schema:

  • Cách thứ nhất là sử dụng công cụ SSMS.
  • Cách thứ hai là sử dụng lệnh Create Schema. 

Sử dụng SSMS thì bạn click chuột phải vào database và chọn Create schema, còn trong bài này mình sẽ hướng dẫn sử dụng tạo bằng dòng lệnh CREATE SCHEMA.

Như ở ví dụ trên, bây giờ mình sẽ tạo hai schema tên là news và sys.

1
2
CREATE SCHEMA news;
CREATE SCHEMA sys;

3. Cách xóa Schema với lệnh DROP SCHEMA

Sau khi tạo schema xong nếu bạn không dùng tới thì hãy sử dụng lệnh DROP SCHEMA nhé.

1
2
DROP SCHEMA news;
DROP SCHEMA sys;

4. Phân quyền cho schema 

Giả sử bạn muốn user thehalfheart 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:

1
GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA :: news TO thehalfheart

Xóa quyền:

1
DENY SELECT, INSERT, UPDATE, DELETE ON SCHEMA :: news TO thehalfheart;

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.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master