Overview RDBMS (DB2 dan ORACLE)

  RDBMS

adalah singkatan dari  “Relational Database Management System”. Data RDBMS disimpan dalam objek database yang disebut tabel. Tabel adalah tempat penyimpanan utama pada setiap RDBMS dan pada dasarnya mereka adalah koleksi entri data terkait. Sebagai contoh tabel yang disebut Users mungkin menyimpan informasi tentang banyak orang, dan setiap entri dalam tabel ini akan mewakili satu pengguna yang unik. Meskipun semua entri pengguna dalam tabel Pengguna yang unik, mereka terkait dalam arti bahwa mereka menggambarkan objek serupa.

Setiap tabel database terdiri dari kolom dan baris. Setiap kolom tabel mendefinisikan tipe data yang disimpan di dalamnya, dan tipe data ini berlaku untuk semua baris dalam tabel ini. Sebuah baris tabel adalah kumpulan data memiliki 1 entri untuk setiap kolom dalam tabel ini (setiap baris ini disebut dengan satu record).

RDBMS menyimpan data ke dalam kelompok tabel , yang mungkin ya atau mungkin tidak setip tabel terkait pada bagian fieldnya (field adalah satu kolom dalam tabel). RDBMS juga menyediakan operator relasional untuk memasukkan atau meng-update maupun menghapus informasi yang disimpan ke dalam tabel database.

MS SQL Server, DB2, Oracle dan MySQL semua itu adalah Relational Database Management System (RDBMS).

DB2 adalah software yang mempunyai sejarah yang cukup lama, dan  merupakan database pertama yang menggunakan SQL. Nama DB2 diberikan diberikan pada Database Mangement System (DBMS)  ketika IBM melepaskan SQL/DS. Software database ini juga telah mengadopsi relational mode yang merupakan ide DrF.Codd yang merupakan pegawai IBM. Untuk mendukung  gagasan relational database ini
IBM membuat sebuah bahasa khusus dalam melakukan query database yaitu SQL(Structure Query Language).

Untuk beberapa tahun, DB2 khusus dibuat untuk IBM mainframe. Namun kemudian, IBM membawa DW2 ke platform lain seperti UNIX , Windows, dan Linux. Sekarang ini DB2 telah mengalami kemajuan yang pesat, dan telah tersedia di Platform 64 bit. IBM mengklaim bahwa DB2 telah mempunyai feature selft tunning, self managing, dan mendukung penyimpan XML secara native.

DB2 mempunyai beberapa edisi software, hal ini untuk menghindarkan user membayar feature yang tidak mereka pakai. Edisi-edisi yang ada di DB2 antara lain seperti Sample Edition  termasuk Workgroup, Workgroup Unlimited, Enterprise Database,  dan  Edisi High end nya bernama DB2 UDB Data Warehouse Enterprise Edition. Untuk Menghadapi Oracle dan Microsoft yang telah mengeluarkan versi gratis software nya, IBM mengeluarkan DB2 Universal Database Express C , dengan license free.

Minimal Features on: storage & indexing

Storage and Indexing
DB2 mendukung abstraksi penyimpanan logical database table dalam multi node dan multi disk environtment. Maksud dari multi node ialah gabungan beberapa komputer(Node). Node groups  dapat didefinisikan untuk mendukung table partisi di  untuk setiap node. Ini memungkinkan fleksibilitas dalam penempatan partisi  table pada node mana saja. Sebagai contoh: Table yang berukuran besar dibisa di partisi, lalu disimpan di node yang mana saja, asalkan node itu terhubung. Sedangkan untuk table yang kecil, bisa di simpan dalam node yang sama.

Dalam sebuah node, DB2 menggunakan Table space untuk mengorganisasi table nya. Table space mengandung satu atau lebih container, yang berisi references untuk direktori, devices, atau file. Sebuah Table space bisa mengandung satu atau lebih table dan LOBs(Large Object).

DB2 mendukung strip(pencacahan /penyebaran) antar kontainer. Sebagai contoh: Bila ada penambahan table DB2 akan menempatkan nya di kontainer1 sampai kontainer itu penuh. Bila sudah penuh, DB2  akan menempatkan di kontainer 2, dst. Terdapat keuntungan bila melakukan ini: paralel I/O dan Load balancing.

DB2 juga mendukung prefecthing dan asynchronous writes menggunakan thread yang terpisah.

Tabel, Record dan Index

DB2 mengorganisasi data sebagai record pages. Tabel terdiri dari himpunan page. Setiap page berisi himpunan dari record. Page ke-0 berisi sistem record tentang tabel, dan status tabel itu sendiri.DB2 menggunakan sebuah space map record yang bernama Free Space Control Record yang berfungsi untuk menemukan free space yang terdapat dalam tabel. FSCR record biasanya berisi dari map 500 page. FSCR berisi beberapa bit yang menunjukan rata-rata penggunaan pada tiap tabel. Misalkan bila dengan 2 bits, 11 berarti hampir semua  free, 01  berarti seperempat nya free. Untuk menekan cost untuk setiap update, isi dari FSCR tidak akan selalu di update. Maka kode untuk insert dan delete harus menvalidasi isi FSCR dengan melakukan physical check untuk melihat free space di dalam page.

Index
Index diorganisasikan seperti page biasa, didalam nya terdapat index record yang dirujuknya, pointer kepada anak/ dan saudara nya. DB2 menyediakan dukungan untuk mekanisime index  B+ tree. B+ tree berisi internal page dan leaf page. Index memakai bidirectional pointer di leaf level untuk mendukung forward dan reserve scan. Leaf page didalamnya terdapat index entries untuk menunjuk record di tabel. Setiap record
mempunyai no unik untuk mengenalinya, yang bernama Record Indentier(RID). RID dibentuk dari angka page indentifier dan slot indentifier.Sebuah index bisa didefinisikan sebagai clustering index dari tabel. Jika begitu, data record  di olah dalam page-oriented clustering order berdasarkan index keys

Index pada DB2 juga memungkinkan menyimpan tambahan data selain record identifier di level index. Sebagai contoh, CREATE UNIQUE INDEX I1 ON T1 (C1) INCLUDE(C2) menspesifikasi bahwa C2 menjadi extra coloumn di index pada kolom C1. Dengan cara ini membuat DB2bbisa melayani “index only” query processing teknik. Ini bisa mencegah pembacaan actual record untuk queries yang menggunakan included record. Direktif tambahan seperti MINPCTUSED dan PCTFREE bisa digunakan untuk mengkontrol penggabungan index page dan  alokasi inisial space selama bulk load.

Page format

  • Terdapat header dan slot direktor
  • Slot direktori berisi 255 entries yang merefer ke record offset di page
  • DB2 mendukung berbagai ukuran record seperti ukuran  4 KB, 8 KB,16 KB dan 32 KB
  • Maksimal tiap page mengandung255 user record.
  • Makin besar ukuran page, makin mendukun data yang mempunyai jumlah kolom yang banyak.
  • Ukuran yang kecil berguna untuk operasi data yang sering di update.

 DB2  

Overview
DB2 Universal Database Server dapat digunakan pada berbagai hardware dan platform system operasi, mulai dari mainframe dan server besar sampai workstation dan perlatan-peralatan kecil (small hand-held devices). DB2 dapat berjalan baik pada sistem operasi operasi buatan IBM dan non-IBM. DB2 Everyplace Edition dapat berjalan pada sistem operasi seperti PalmOS, Windows CE, dan lainnya. Aplikasi dapat berpindah dari low-end platform ke high-end server
 DB2 Database Server Saat Ini
Saat ini, DB2 dan produk keluarannya (DB2 family of products) dapat digunakan di berbagai variasi Sistem operasi untuk server, seperti UNIX,Linux, Windows, IBM iSeries(OS/400) dan zSeries(OS/390, z/OS, VM, VSE, dan Linux)
Sementara, DB2 Everyplace mensupport perangkat kompak dan kecil(handheld device), seperti PDA, komputer saku, Linux, dan menyediakan sinkronisasi data dengan sistem besar. Berbagai tools telah disediakan untuk application development dan database administration melalui famili dari DB2.

DB2 family of product

Berikut adalah tabel dari persyaratan minimum untuk dapat menjalankan bebagai
produk DB2:

DB2 Query Patroller adalah sistem manajemen query yang baik (powerful query management system) yang memungkinkan kita mengontrol query di basis data DB2 kita secara proaktif dan dinamis

Perkembangan DB2

  • Akhir th. 70-an,Riset penyusunan teknologi relasional
  • Th. 80-an,Produk DB2 untuk VM, VSE, MVS, AS/400, OS/2
  • Th. 90-an,Produk DB2 untuk AIX, HP-UX, SOLARIS, NT, SINIX

Keunggulan DB2

  1. Dapat dijalankan pada bermacam-macam platform
  2. Menunjang client/server platform, aplikasi multimedia, object oriented
  3. Dirancang untuk memperoleh informasi dalam bisnis berskala kecil maupun besar
  4. Memiliki alat yang mengizinkan user membuat macam-macam aplikasi untuk mengakses dan bekerja dengan data

 UTILITAS-UTILITAS DB2

Digunakan untuk menjalankan fungsi-fungsi sistem administrasi
• Utilitas terbagi dalam 3 kategori :
1. Utilitas Setup atau Move
2. Utilitas Maintenance
3. Utilitas Recovery

Utilitas Setup atau Move
Berfungsi untuk memuat (loading) data ke dalam tabel dan sebaliknya.
Tabel yang dimuat dapat berupa tabel kosong atau yang sudah ada isinya.Terdiri dari 2 fungsi yaitu : Load dan Unload.
Utilitas Maintenance
Berfungsi mengatur kembali table space atau index, memperolehkembali ruang yang hilang pada fragmentasi tabel atau tabel yang telah dihapus, memperbaiki statistik yang disimpan pada DB2 Catalog.
Terdiri dari 2 fungsi yaitu : Reorganize dan Update Statistics.
Utilitas Recovery
Berfungsi untuk menempatkan kembali (restore) basis data padakeadaan yang sekarang.Terdiri dari 2 fungsi yaitu : Backup dan Recover

ORACLE

Basis data Oracle adalah basis data relasional yang terdiri dari kumpulan data dalam suatu sistem manajemen basis data RDBMS. Perusahaan perangkat lunak Oracle memasarkan jenis basis data ini untuk bermacam-macam aplikasi yang bisa berjalan pada banyak jenis dan merk perangkat keras komputer (platform). Basis data Oracle ini pertama kali dikembangkan oleh Larry Ellison, Bob Miner dan Ed Oates lewat perusahaan konsultasinya bernama Software Development Laboratories (SDL) pada tahun 1977. Pada tahun 1983, perusahaan ini berubah nama menjadi Oracle Corporation sampai sekarang.

Jenis perangkat keras (platform) yang dipakai sebagai server (host):
Apple Mac OS X Server: PowerPC
HP HP-UX: PA-RISC, Itanium
HP Tru64 UNIX: Alpha
HP OpenVMS: Alpha, Itanium
IBM AIX5L: POWER
IBM z/OS: zSeries
Linux: x86, x86-64, PowerPC, zSeries, Itanium
Microsoft Windows: x86, x86-64, Itanium
Sun Solaris: SPARC, x86, x86-64

Pesaing
IBM: DB2, Informix, UDB
Microsoft SQL Server
Teradata (data warehousing dan business intelligence)
Software AG: Adabas
Sybase.

Oracle dan IBM menekankan pada platform menengah seperti UNIX dan Linux, sementara Microsoft cenderung meraih pasar untuk kelas rendah (Microsoft Windows platforms). Basis data Oracle juga bersaing dengan basis data sumber-terbuka (open-source relational databases), seperti PostgreSQL, Firebird, dan MySQL. Perangkat lunak EnterpriseDB yang berbasis PostgreSQL, belum lama ini mengumumkan fitur yang kompatibel dengan Oracle dengan harga yang sangat wajar dan murah.

Manfaat PL/SQL

Mendukung SQL SQL telah menjadi bahasa basis data standar karena ia fleksibel, powerful, dan mudah dipelajari. Beberapa perintah-perintah seperti bahasa Inggris seperti SELECT, INSERT, UPDATE, dan DELETE  membuatnya mudah untuk memanipulasi data yang tersimpan di dalam basis data relasional (relational database).

SQL adalah non-prosedural, yang berarti bahwa kita dapat menetapkan apa yang ingin kita lakukan tanpa menentukan bagaimana melakukannya. Oracle yang akan menentukan cara terbaik untuk melayani permintaan kita. Tidak ada koneksi yang tidak perlu antara perintah perintah yang berurutan karena Oracle mengeksekusi perintah SQL sekali pada satu waktu.  PL/SQL mengijinkan kita untuk menggunakan seluruh perintah-perintah data manipulation, cursor control, dan transaction control SQL begitu pula dengan functions, operators, dan pseudocolumns. Sehingga, kita dapat memanipulasi data secara lebih fleksibel dan aman. Juga, PL/SQL mendukung
penuh tipe-tipe data SQL. Hal ini mengurangi perlunya mengkonversi data yang dilewatkan diantara aplikasi-aplikasi kita dan database.
PL/SQL juga mendukung SQL dinamis (dynamic SQL), sebuah teknik pemrograman tingkat lanjut yang membuat aplikasi-aplikasi kita lebih fleksibel dan serbaguna. Program-program kita dapat memproses perintah-perintah data definition, data control, dan session control  SQL secara “on the fly” saat runtime.

Mendukung Object-Oriented Programming

Object types merupakan tool pemodelan berorientasi objek yang ideal, dimana kita dapat menggunakannya untuk mengurangi biaya dan waktu yang dibutuhkan untuk membangun aplikasi-aplikasi kompleks. Disamping juga membolehkan kita untuk menciptakan komponen-komponen software yang modular, maintainable, dan reusable, object types membolehkan juga tim-tim programmer yang berbeda untuk membangun komponen-komponen software secara berkelanjutan. Dengan mengenkapsulasi operasi-operasi dengan data, object types mengijinkan kita untuk memindahkan kode-kode pemeliharaan data keluar dari script-script SQL dan blok-blok PL/SQL menuju kepada methods. Object types
juga menyembunyikan detil-detil implementasi, sehingga kita dapat mengubah detil-detil tanpa mempengaruhi program-program pada sisi klien.Sebagai tambahan, object types memperbolehkan pemodelan data yang realistis. Entitas-entitas kompleks pada dunia nyata beserta relasi-relasinya dipetakan secara langsung ke dalam object types.  Hal ini membantu program-program kita secara lebih baik merefleksikan dunia yang berusaha disimulasikannya.

Bentuk Umum Struktur PL/SQL
DECLARE
variabel tipe_data;
konstanta CONSTANT tipe_data := nilai;

BEGIN
statement_1;
statement_2;

EXCEPTION
WHEN nama_eksepsi THEN statement_untuk_mengatasi_error;

END;

Contoh Program (tanpa exception) :
SQL> SET SERVEROUTPUT ON
SQL>DECLARE
v1 NUMBER(3);
BEGIN
v1 := 3;
DBMS_OUTPUT.PUT_LINE(‘v1= ‘ || v1);
END;
/
Contoh Program (dengan exception):
SQL>SET SERVEROUTPUT ON
SQL>DECLARE
X Integer;
BEGIN
X := „Belajar Oracle‟;
DBMS_OUTPUT.PUT_LINE( TO_CHAR(X) );
EXCEPTION
WHEN VALUE_ERROR THEN
DBMS_OUTPUT.PUT_LINE („Kesalahan pada pengisian nilai‟);
END;

Sumber:

Komentar ditutup.