Perbedaan antara sinonim dan alias

Perbedaan antara sinonim dan alias

Sinonim vs alias (dalam database Oracle) | Sinonim pribadi dan sinonim publik
 

Dalam bahasa Inggris, sinonim dan alias memiliki makna yang hampir sama. Tetapi dalam database itu adalah dua hal yang berbeda. Terutama di database Oracle, kedua penggunaannya berbeda. Sinonim digunakan untuk merujuk objek skema atau database dari skema lain. Jadi sinonim adalah jenis objek database. Tapi alias datang dengan cara yang berbeda. Itu berarti; mereka bukan objek database. 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 database). 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 sintaks sederhana untuk membuat sinonim dalam database terpisah,

Buat sinonim myschema.mytable1 untuk [email dilindungi] _link1

Karena kami memiliki sinonim bernama mytable1 di dalam myschema untuk [Email Dilindungi] _Link1 (Tabel Database Terdistribusi), Kami dapat dengan mudah merujuk tabel database terdistribusi menggunakan mytable1. Kami tidak perlu menggunakan nama objek panjang dengan tautan database di mana -mana.

Alias

Ini hanyalah nama lain untuk tampilan, tabel, atau kolom di dalam kueri. Mereka bukan objek database. Oleh karena itu, alias tidak valid di mana -mana dalam skema/database. 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

                                       dimana 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 pengguna1.Table1 dan User2.Meja 2. Semua alias ini hanya valid di dalam kueri ini. 

Apa perbedaan antara sinonim dan alias (Dalam database Oracle)?

  • Sinonim adalah jenis objek basis data. Tapi alias hanyalah nama untuk merujuk tabel, tampilan atau kolom di dalam kueri. Bukan objek database.
  • Sinonim dapat dibuat untuk tabel, tampilan, fungsi, prosedur, paket, urutan, tampilan terwujud, jenis objek kelas Java dan pemicu. 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). Tetapi alias yang valid di dalam kueri tempat mereka digunakan.
  • Setiap kebutuhan skema "Buat sinonim" hak istimewa untuk membuat sinonim. Tetapi tidak ada hak istimewa untuk menggunakan alias.