Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Sinonim Publik vs. skema. pola objek

Sinonim publik memiliki tujuan yang sangat spesifik; mereka memungkinkan objek untuk direferensikan oleh setiap pengguna - dengan asumsi mereka memiliki hak istimewa yang sesuai. Jika suatu saat nanti Anda mungkin ingin mengubah cara pengguna tertentu melihat suatu objek, maka sinonim publik bukanlah cara yang tepat.

Mereka juga menggunakan nama objek tertentu untuk seluruh database. Namun, fakta bahwa sinonim publik ada tidak menghalangi Anda untuk membuat objek dengan nama yang sama. Ini bisa sangat membingungkan.

Misalnya, anggap Anda memiliki prosedur test dan skema emp . Mencoba menjalankan emp.test tidak akan berfungsi karena Anda sudah memiliki sinonim publik emp di meja .

Tom Kyte , tampaknya telah menulis jumlah artikel tentang ini.

Pada aspek kinerja, mereka tampaknya menyarankan bahwa sinonim publik daripada sinonim pribadi akan menghasilkan sedikit penurunan kinerja . Namun, menggunakan sinonim alih-alih tanpa sinonim juga akan menghasilkan sedikit penurunan kinerja. Ini menunjukkan bahwa jika setiap komputer terakhir sangat berharga Anda tidak boleh menggunakan sinonim sama sekali.

Jika digabungkan, saya pikir ini berarti Anda harus menghindari sinonim publik jika memungkinkan. Jika Anda membutuhkan satu maka tentu saja gunakan satu, mereka ada karena suatu alasan, tetapi jika Anda tidak melakukannya, apa gunanya memilikinya? scott.emp konstruksinya jelas, menunjukkan dengan tepat skema dan objek apa yang Anda rujuk tanpa kemungkinan salah tafsir, baik oleh Anda sendiri atau orang lain yang baru masuk ke database dan kode.

Titik cepat. Anda tidak secara eksplisit mengatakannya tetapi kata-kata dari pertanyaan Anda tampaknya menunjukkan bahwa Anda membuat skema untuk setiap pengguna. Ini sepertinya akan sangat membingungkan...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara membuat bidang varchar2 lebih pendek di Oracle?

  2. Pembulatan ClientDataSet TBCDField

  3. Kesalahan dengan transaksi JPA saat memanggil prosedur tersimpan

  4. Apakah dataset jdbc menyimpan semua baris dalam memori jvm

  5. Kesalahan SQL:ORA-00907:tanda kurung kanan hilang