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

Seberapa banyak objek Oracle digunakan?

Sebagai permulaan, beberapa fungsionalitas Oracle standar menggunakan Tipe, misalnya XMLDB dan Spasial (yang mencakup mendeklarasikan kolom tipe data Tabel Bersarang).

Selain itu, banyak pengembang PL/SQL menggunakan tipe sepanjang waktu, untuk mendeklarasikan koleksi PL/SQL atau fungsi pipelined.

Tapi saya setuju beberapa tempat menggunakan Types secara ekstensif dan membangun PL/SQL API dari mereka. Ada beberapa alasan untuk ini.

  1. Oracle telah mengimplementasikan Objek dengan sangat lambat. Meskipun diperkenalkan di versi 8.0, baru pada 9.2 mereka sepenuhnya mendukung Inheritance, Polymorphism, dan konstruktor yang ditentukan pengguna. Pemrograman Berorientasi Objek yang tepat tidak mungkin tanpa fitur-fitur itu. Kami tidak mendapatkan SUPER() sampai versi 11g. Bahkan sekarang ada fitur yang hilang, terutama deklarasi pribadi di TYPE BODY.
  2. Sintaksnya sering kali kikuk atau tidak jelas. Dokumentasi tidak membantu.
  3. Kebanyakan orang yang bekerja dengan Oracle cenderung berasal dari sekolah pemrograman relasional/prosedural. Ini berarti mereka cenderung tidak memahami OOP, atau mereka gagal memahami di mana itu dapat berguna dalam pemrograman database. Bahkan ketika orang datang dengan ide yang rapi mereka merasa sulit atau tidak mungkin untuk menerapkan menggunakan sintaks Oracle.

Poin terakhir itulah yang menjadi kuncinya. Kita bisa mempelajari sintaks baru, kita bisa membujuk Oracle untuk melengkapi set fitur, tapi itu hanya berguna jika kita bisa menggunakan Types. Itu berarti kita membutuhkan masalah yang dapat diselesaikan dengan menggunakan Inheritance dan Polymorphism.

Saya telah bekerja pada satu sistem yang menggunakan tipe secara ekstensif. Itu adalah sistem gudang data, dan sub-sistem pemuatan data dibangun dari Types. Alasan yang mendasarinya sederhana:

  • kita perlu menerapkan template aturan bisnis yang sama untuk setiap tabel yang kita muat, jadi prosesnya umum;
  • setiap tabel memiliki proyeksinya sendiri, sehingga pernyataan SQL unik untuk masing-masing tabel.

Implementasi Tipe bersih:proses generik didefinisikan dalam Tipe; implementasi untuk setiap tabel didefinisikan dalam Tipe yang mewarisi dari Tipe generik itu. Jenis spesifik dapat dihasilkan dari metadata. Saya mempresentasikan topik ini di UKOUG beberapa tahun yang lalu, dan saya telah menulisnya secara lebih rinci di blog saya.Cari tahu lebih lanjut.

Omong-omong, Teori Relasional mencakup konsep Domain, yang merupakan tipe data yang ditentukan pengguna, termasuk batasan, dll. Tidak ada rasa RDBMS yang benar-benar mendukung Domain tetapi Implementasi Tipe Oracle jelas merupakan langkah di sepanjang jalan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:mengonversi angka menjadi kata dalam bahasa lain selain bahasa Inggris

  2. Melewati array data sebagai parameter input ke prosedur Oracle

  3. Keputusan kapan harus membuat Indeks pada kolom tabel di database?

  4. JDBC :mengembalikan beberapa set hasil melalui satu permintaan basis data - tidak berfungsi untuk Oracle

  5. Cara PLAY_SOUND di Oracle Forms