ORACLE SQL Dersleri – Synonym

Merhabalar, bu yazımızda kısaca synonym konusuna bakacağız. Bu yazıya geçmeden önce bir önceki yazımızı okumanızı tavsiye ederiz.

Synonym :

Synonym türkçe karşılığı ile eş anlamlı demektir, aslında veritabanında yaptığı iş’ de ismiyle uyumludur.

Synonym kullanmamızın  temel amacı, uzun isimli objelere ulaşımın kolaylaşmasıdır, bir diğer taraftan da veritabanı güvenliğini sağlamaktır.

Synonym iki çeşit olarak kullanılabilir, public veya private

Öncelikle Synonym oluşturacak şemanın şu yetkilere sahip olması gerekir,

  • PRIVATE SYNONYM oluşturmak için CREATE SYNONYM yetkisine sahip olması gerekir.
  • Farklı bir kullanıcıya ait şemaya PRIVATE SYNONYM oluşturmak için CREATE ANY SYNONYM yetkisi gerekir.
  • PUBLIC SYNONYM oluşturmak için CREATE PUBLIC SYNONYM yetkisi gerekir.

 

Kullanımı :

Public synonym:

Bu synonym türü ile objeye tüm veritabanı kullanıcıları erişebilir.

create [public] synonym synonym_name for tablo

Örnek ile gösterelim,

CREATE PUBLIC SYNONYM emp_loc for HR.EMPLOYEES;
SELECT * FROM emp_loc;

Görüldüğü gibi SYS şemasında olduğumuz halde, artık şema ismi vermeden belirtmiş olduğumuz isimle tabloya erişebildik.

Bu oluşturduğumuz PUBLIC SYNONYM olduğu için tüm şemalar bu SYNONYM ‘e ulaşabilir.

Private synonym:

Birde PRIVATE SYNONYM için örnek yapalım.

CREATE SYNONYM prvt_exm for HR.LOCATION;

-- Bu adımda select sorgumuzdan önce farklı bir şema ile bağlantı yapalım.

SELECT * FROM prvt_exm;

SYNONYM ‘leri sadece tablolarda kullanmak zorunda değiliz, sequence,view, java class,.. gibi objeler için de kullanabiliriz.

Resimde gördüğünüz gibi oluşturduğumuz PRIVATE SYNONYM farklı bir şemadan görüntülenemiyor.

Bu yazının sonuna geldik bir başka yazıda görüşmek üzere, hoşçakalın..

 

Deniz Parlak

Hi, I'm a Computer Engineering student in Dumlupınar University.I will graduate next year. I did an internship TurkNet Telecominication Company in 2018 June- 2018 September. I had experience Linux/Unix system, SQL Server Management , SSRS, Mysql Database Management,Troubleshooting performance issues in Linux. I also interested Oracle database and technologies. I want to work as Oracle DBA after my University. I am practicing Unix, Exadata, Orace Cloud, Oracle RAC, Dataguard, EBS, Oracle BI and etc and i hope the articles will be helpful. Any questions, or support please write email deniz.parlak@yahoo.com

Leave a Reply

Your email address will not be published. Required fields are marked *