Synonym trong Oracle là gì?
Synonym trong Oracle là một đối tượng cơ sở dữ liệu cho phép tạo ra một tên thay thế cho một tên đối tượng hiện có. Synonym giúp đơn giản hóa cú pháp truy vấn và ẩn thông tin chi tiết về đối tượng gốc. Khi tạo một synonym, chúng ta có thể sử dụng tên synonym đó để tham chiếu đến đối tượng gốc mà không cần sử dụng tên đối tượng gốc đó.
Các loại synonym trong oracle
Trong Oracle, có hai loại synonym chính:
Private Synonym:
Private synonym là một synonym mà chỉ có thể được truy cập bởi người dùng tạo nó. Private synonym có thể được tạo trong schema của người dùng và chỉ người dùng đó có quyền truy cập vào nó.
Public Synonym
Public synonym là một synonym có thể được truy cập bởi tất cả người dùng trong cơ sở dữ liệu Oracle. Public synonym được tạo trong schema PUBLIC
và tất cả người dùng đều có quyền truy cập vào nó.
Ví dụ về tạo synonym trong oracle và phân quyền truy cập
Để minh họa việc tạo synonym và phân quyền truy cập, hãy xem ví dụ sau đây:
Bước 1: Tạo synonym trong schema “HR”
Trước tiên, chúng ta sẽ tạo một synonym cho bảng “employees” trong schema “HR” và đặt tên synonym là “emp”:
CREATE SYNONYM emp FOR HR.employees;
Bước 2: Tạo một schema khác “FINANCE”
Tiếp theo, chúng ta sẽ tạo một schema mới có tên “FINANCE” và một người dùng có tên “finance_user”:
CREATE USER finance_user IDENTIFIED BY password; GRANT CREATE SESSION TO finance_user;
Bước 3: Phân quyền truy cập synonym
Sau đó, chúng ta sẽ cấp quyền truy cập cho người dùng “finance_user” vào synonym “emp” trong schema “HR”:
GRANT SELECT ON HR.emp TO finance_user;
Người dùng “finance_user” sẽ có quyền truy cập vào dữ liệu trong bảng “employees” thông qua synonym “emp”.
Bước 4: Truy vấn thông qua synonym
Bây giờ, người dùng “finance_user” có thể truy vấn dữ liệu từ bảng “employees” thông qua synonym “emp” trong schema “HR”. Ví dụ:
SELECT * FROM HR.emp WHERE salary > 5000;
Người dùng “finance_user” sẽ nhận được kết quả truy vấn từ bảng “employees” thông qua synonym “emp”.
Kết luận
Trong bài viết này, chúng ta đã tìm hiểu về synonym trong Oracle. Synonym giúp đơn giản hóa cú pháp truy vấn và ẩn thông tin chi tiết về đối tượng gốc. Chúng ta đã xem qua hai loại synonym là Private Synonym và Public Synonym.
Ngoài ra, chúng ta đã thấy ví dụ minh họa về việc tạo synonym và phân quyền truy cập cho người dùng khác trong một schema khác. Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về synonym và cách sử dụng chúng trong Oracle.