SAP HANA - Từ đồng nghĩa SQL
SQL Synonyms là một bí danh cho một bảng hoặc một đối tượng Lược đồ trong cơ sở dữ liệu. Chúng được sử dụng để bảo vệ các ứng dụng khách khỏi những thay đổi được thực hiện đối với tên hoặc vị trí của một đối tượng.
Từ đồng nghĩa cho phép các ứng dụng hoạt động không phân biệt người dùng sở hữu bảng và cơ sở dữ liệu nào chứa bảng hoặc đối tượng.
Tạo Câu lệnh đồng nghĩa được sử dụng để tạo một Từ đồng nghĩa cho một bảng, dạng xem, gói, thủ tục, đối tượng, v.v.
Thí dụ
Có một bảng Khách hàng của efashion, nằm trên Server1. Để truy cập điều này từ Server2, ứng dụng khách sẽ phải sử dụng tên là Server1.efashion.Customer. Bây giờ chúng tôi thay đổi vị trí của bảng Khách hàng, ứng dụng khách sẽ phải được sửa đổi để phản ánh sự thay đổi.
Để giải quyết những vấn đề này, chúng ta có thể tạo một từ đồng nghĩa của bảng Khách hàng Cust_Table trên Server2 cho bảng trên Server1. Vì vậy, bây giờ ứng dụng khách phải sử dụng tên một phần Cust_Table để tham chiếu bảng này. Bây giờ, nếu vị trí của bảng này thay đổi, bạn sẽ phải sửa đổi từ đồng nghĩa để trỏ đến vị trí mới của bảng.
Vì không có câu lệnh ALTER SYNONYM, bạn phải bỏ từ đồng nghĩa Cust_Table rồi tạo lại từ đồng nghĩa có cùng tên và trỏ từ đồng nghĩa đến vị trí mới của bảng Khách hàng.
Từ đồng nghĩa công khai
Từ đồng nghĩa Public thuộc sở hữu của lược đồ PUBLIC trong cơ sở dữ liệu. Các từ đồng nghĩa công khai có thể được tham chiếu bởi tất cả người dùng trong cơ sở dữ liệu. Chúng được tạo bởi chủ sở hữu ứng dụng cho các bảng và các đối tượng khác như thủ tục và gói để người dùng ứng dụng có thể nhìn thấy các đối tượng.
Cú pháp
CREATE PUBLIC SYNONYM Cust_table for efashion.Customer;
Để tạo từ đồng nghĩa PUBLIC, bạn phải sử dụng từ khóa PUBLIC như hình.
Từ đồng nghĩa riêng tư
Từ đồng nghĩa Riêng tư được sử dụng trong lược đồ cơ sở dữ liệu để ẩn tên thật của bảng, thủ tục, dạng xem hoặc bất kỳ đối tượng cơ sở dữ liệu nào khác.
Các từ đồng nghĩa riêng chỉ có thể được tham chiếu bởi lược đồ sở hữu bảng hoặc đối tượng.
Cú pháp
CREATE SYNONYM Cust_table FOR efashion.Customer;
Thả một từ đồng nghĩa
Có thể bỏ từ đồng nghĩa bằng lệnh DROP Đồng nghĩa. Nếu bạn đang bỏ một Từ đồng nghĩa công khai, bạn phải sử dụng từ khóapublic trong câu lệnh thả.
Cú pháp
DROP PUBLIC Synonym Cust_table;
DROP Synonym Cust_table;