Perbedaan Antara Sinonim dan Alias

Sinonim vs Alias (dalam database ORACLE) | Sinonim pribadi dan Sinonim publik
 

Dalam bahasa Inggris, sinonim dan alias memiliki arti yang hampir sama. Tetapi dalam database itu adalah dua hal yang berbeda. Terutama dalam database ORACLE, kedua penggunaannya berbeda. Sinonim digunakan untuk merujuk objek skema atau database dari skema lain. Jadi sinonim adalah tipe objek basis data. Tapi alias datang dengan cara yang berbeda. Itu berarti; mereka bukan objek basis data. Alias ​​digunakan untuk merujuk tabel, tampilan, dan kolom di dalam kueri.

Sinonim

Ini adalah jenis objek basis data. Mereka merujuk ke objek lain dalam database. Penggunaan sinonim yang paling umum adalah, untuk merujuk objek skema terpisah dengan menggunakan nama lain. Tetapi sinonim dapat dibuat untuk merujuk objek dari database lain, juga (dalam database terdistribusi, menggunakan tautan basis data). Tabel, tampilan, fungsi, prosedur, paket, urutan, tampilan terwujud, objek dan pemicu kelas java dapat digunakan sebagai referensi untuk sinonim. Ada dua jenis sinonim.

  1.  Sinonim pribadi (hanya dapat digunakan oleh pengguna yang membuatnya.)
  2.  Sinonim publik (dapat digunakan oleh semua pengguna yang memiliki hak istimewa yang sesuai)

Di sini, adalah sintaksis sederhana untuk membuat sinonim dalam database terpisah,

buat sinonim myschema.mytable1 untuk [email protected] _link1

Karena kami memiliki sinonim bernama mytable1 di myschema untuk [email protected] _link1 (tabel database terdistribusi), kita dapat dengan mudah merujuk tabel database terdistribusi menggunakan mytable1. Kita tidak perlu menggunakan nama objek panjang dengan tautan basis data di mana saja.

Alias

Ini hanyalah nama lain untuk tampilan, tabel, atau kolom di dalam kueri. Mereka bukan objek basis data. Oleh karena itu, alias tidak berlaku di mana pun dalam skema / basis data. Mereka hanya valid di dalam kueri. Mari kita lihat contoh ini,

                                    pilih tab1.col1 sebagai c1, tab2.col2 sebagai c2

                                       dari user1.tab1 tab1, user1.tab2 tab2

                                       di mana tab1.col1 = tab2.col2

Di sini, c1 dan c2 adalah alias kolom, yang digunakan untuk tab1.col1 dan tab2.col2, dan tab1 dan tab2 adalah alias tabel, yang digunakan untuk user1.table1 dan user2.table2. Semua alias ini hanya valid di dalam kueri ini. 

Apa perbedaan antara Sinonim dan Alias (dalam database ORACLE)?

  • Sinonim adalah tipe objek basis data. Tetapi alias hanyalah nama untuk merujuk tabel, tampilan atau kolom di dalam kueri. Bukan objek basis data.
  • Sinonim dapat dibuat untuk tabel, tampilan, fungsi, prosedur, paket, urutan, tampilan terwujud, tipe objek dan pemicu kelas java. Tetapi alias hanya digunakan untuk tampilan, tabel, dan kolomnya.
  • Karena sinonim adalah objek database, mereka valid di dalam skema (sinonim pribadi) atau di dalam database (sinonim publik). Tapi alias valid di dalam kueri tempat mereka digunakan.
  • Setiap skema perlu “Buat sinonim” hak istimewa untuk membuat sinonim. Tetapi tidak ada hak istimewa untuk menggunakan alias.