schema-la-gi-dizibrand

DATABASE SCHEMA LÀ GÌ?

Một database schema (tạm dịch: lược đồ cơ sở dữ liệu)  là tập hợp các siêu dữ liệu mô tả mối quan hệ giữa các đối tượng và thông tin trong cơ sở dữ liệu. Một cách dễ dàng để hình dung một lược đồ là nghĩ về nó như một hộp chứa các bảng, các thủ tục được lưu trữ, các khung nhìn và các tài sản dữ liệu liên quan. Một lược đồ xác định cơ sở hạ tầng của hộp này.

schema-la-gi-dizibrand

ĐỊNH NGHĨA DATABASE SCHEMA 

Ở mức cơ bản nhất, lược đồ đóng vai trò là nơi chứa các tài sản dữ liệu. Tuy nhiên, các nhà cung cấp cơ sở dữ liệu khác nhau vận hành các lược đồ theo những cách khác nhau. Ví dụ, Oracle coi mọi lược đồ là tài khoản người dùng. Để tạo một lược đồ mới, người quản trị cơ sở dữ liệu tạo một người dùng cơ sở dữ liệu mới với tên lược đồ dự định.

TẠI SAO SCHEMA CÓ VẤN ĐỀ?

Vì các lược đồ tạo thành một tính năng cấu trúc cơ bản của cơ sở dữ liệu, hầu hết các môi trường cơ sở dữ liệu đều áp dụng quyền truy cập cho các đối tượng ở mức lược đồ.

Ví dụ: cơ sở dữ liệu của công ty có thể chứa một loạt người dùng. Mỗi người dùng phải chịu một lược đồ, nhưng quyền truy cập vào các lược đồ khác nhau được cấp riêng và với mức độ chi tiết của các quyền đối với người dùng bên ngoài lược đồ máy chủ.

schema-la-gi-1-dizibrand

Hầu hết các công cụ quản lý cơ sở dữ liệu không liệt kê các lược đồ; thay vào đó, họ liệt kê cơ sở dữ liệu và người dùng.

Ví dụ: một công ty tạo tài khoản người dùng cho Bob và Jane. Nó cũng tạo tài khoản cho các bộ phận như nhân sự và tiếp thị. Sau đó, nó cung cấp cho một nhà phân tích trong mỗi bộ phận truy cập vào tài khoản lược đồ.

Nhà phân tích nhân sự tạo các bảng và khung nhìn trong lược đồ HR và cấp quyền truy cập cho Bob để đọc (nhưng không ghi vào) một bảng liệt kê tên nhân viên và số ID nhân viên.  Ngoài ra, nhà phân tích nhân sự có thể cấp quyền truy cập cho Jane để đọc và ghi vào bảng liệt kê số điện thoại của nhân viên.

Bằng cách cấp quyền truy cập theo cách này, chỉ những vai trò và người dùng phù hợp mới có thể đọc, viết hoặc sửa đổi dữ liệu trong một tài sản dữ liệu độc lập trong cơ sở dữ liệu lớn hơn.  

Mỗi công cụ cơ sở dữ liệu xem các lược đồ là phương pháp nền tảng để phân tách dữ liệu trong môi trường nhiều người dùng.

CÁCH TẠO SCHEMA

Một lược đồ được định nghĩa chính thức bằng cách sử dụng  ​Structured Query Language. Ví dụ: trong Oracle, bạn tạo một lược đồ bằng cách tạo tài khoản người dùng sở hữu nó.

Những người dùng khác được cấp quyền truy cập vào các lược đồ mới nhờ tên người dùng hoặc bởi một hoặc nhiều vai trò mà tài khoản người dùng đã được thêm vào.

PHÂN LOẠI

Một lược đồ cơ sở dữ liệu được phân loại như dưới đây:

  • Lược đồ cơ sở dữ liệu logic 
  • Lược đồ cơ sở dữ liệu vật lý 
  • Lược đồ dự kiến
  1. Lược đồ cơ sở dữ liệu logic: Lược đồ này xác định tất cả các ràng buộc logic cần được áp dụng trên thông tin được lưu trữ. Nó định nghĩa các bảng, khung nhìn và các ràng buộc toàn vẹn.  
  2. Lược đồ cơ sở dữ liệu vật lý: Lược đồ này liên quan đến việc lưu trữ thông tin cụ thể và đó là loại lưu trữ như tệp, chỉ mục, v.v. Nó xác định cách thông tin sẽ được lưu trữ trong một bộ lưu trữ phụ trợ quá mức.  
  3. Lược đồ dự kiến: Lược đồ dự kiến được phác thảo do kiểu của cơ sở dữ liệu ở mức xem thường mô tả tương tác của người dùng với các hệ thống cơ sở dữ liệu.

CÓ PHẢI SCHEMA VÀ DATABASE LÀ MỘT?

Có rất nhiều nhầm lẫn về các lược đồ khi nói đến cơ sở dữ liệu. Câu hỏi thường đặt ra là liệu có sự khác biệt giữa các lược đồ và cơ sở dữ liệu hay không và nếu có thì sự khác biệt đó là gì.

Phụ thuộc vào nhà cung cấp

Một phần lý do của sự nhầm lẫn là các hệ thống cơ sở dữ liệu có xu hướng tiếp cận các lược đồ theo cách riêng của chúng.

  • Tài liệu MySQL nói rằng về mặt vật lý, một lược đồ đồng nghĩa với cơ sở dữ liệu. Do đó, một lược đồ và cơ sở dữ liệu là cùng một thứ.
  • Tuy nhiên, tài liệu cơ sở dữ liệu Oracle nói rằng các đối tượng nhất định có thể được lưu trữ bên trong cơ sở dữ liệu nhưng không nằm trong lược đồ. Do đó, một lược đồ và cơ sở dữ liệu là hai thứ khác nhau.
  • Và theo bài viết kỹ thuật SQL Server này, một lược đồ là một thực thể riêng biệt bên trong cơ sở dữ liệu. Vì vậy, chúng là hai thứ khác nhau.

Vì vậy, tùy thuộc vào RDBMS bạn sử dụng, các lược đồ và cơ sở dữ liệu có thể hoặc không thể giống nhau.

KẾT LUẬN

Thuật ngữ lược đồ có thể được sử dụng trong nhiều bối cảnh khác nhau. Trong bối cảnh tạo các lược đồ trong một hệ thống quản lý cơ sở dữ liệu cụ thể, bạn sẽ cần phải làm việc với hệ quản lý cơ sở dữ liệu xác định các lược đồ.

Và khi chuyển sang một hệ quản lý cơ sở dữ liệu mới, hãy chắc chắn tìm kiếm cách hệ thống đó xác định các lược đồ.

[Database Schema là gì?] Lược đồ cơ sở dữ liệu của hệ thống cơ sở dữ liệu
5 (100%) 5 votes