Bitmap Index sedikit berbeda dengan normal index (b-tree) yang menyimpan satu index entry merepresentasi suatu baris, Suatu Bitmap Index biasanya di setiap index entry bisa mewakili banyak baris atau memiliki tingkat keragamannya rendah (low cardinality). Sebagai contoh berikut adalah tabelnya yang akan kita gunakan:
B-Tree atau singkatan dari balanced tree yaitu most commons type database index di Oracle dengan tujuan mengelompokan data berdasarkan range. Sebagai contoh misalnya kita punya index dari table departments
pada column department_id
ketika di buat index maka secara logical akan dibuat pengelompokan seperti berikut:
Sebuah index adalah optional structure yang dikaitkan ke table yang biasanya bisa mempercepat access data. Ketika kita membuat table dengan primary key by default kita otomatis akan di buatkan index b-tree berdasarkan column primary key tersebut.
Kebanyakan oracle database menggunakan sequances untuk menjaga performa database di load secara lebih cepat dan less capacity storage tetepi ada beberapa problem, The most commons problem menggunakan sequances adalah
Sequences yaitu object database yang digunakan untuk men-generate urutan nomor, Sequences bisa digunakan sebagai default value untuk primary key. Untuk membuat sequence kita bisa gunakan perintah berikut:
View merupakan pendefinisian query yang menakses satu atau banyak tabel, atau lebih sering disebut select statement yang dikasih nama dengan tujuan memudahkan pemanggilan query tersebut. Seperti berikut contohnya:
Pengecekan data pada constraint secara default akan di lakukan setiap perintah manipulasi data di execute (NOT DEFERREBLE
) sebagai contoh seperti berikut:
Sometime kita perlu me-disable constraint secara temporary untuk mempercepat proses seperti:
Sebuah foreign-key
digunakan untuk maintanance data integrity
the problem is gimana klo kita hapus dari tabel yang menjadi acuan kita terus gimana nasibnya? invalid relation?
Constraint Foreign keys dapat diterapkan pada sebuah kolom dengan table, dengan tujuan memvalidasi apakan nilai yang di entry terdaftar pada column di table acuannya. Contoh penggunaanya seperti berikut:
Constraint Primary Key diterapkan pada sebuah kolom dalam table, dengan tujuan menjadikan data dalam satu baris tersebuh menjadi pegangan atau acuan karena sebuah primary key adalah gabungan dari constraint not null
dan unique
. Contoh penggunaanya seperti berikut:
Constraint Check dapat diterapkan pada kolom tertentu dalam sebuah table, dengan tujuan memvalidasi data yang kita entry harus sesuai dengan criteria yang diterapkan pada constraint tersebut contohnya pada kolom price
nilai minimal lebih besar dari 0
. Contoh penggunaanya seperti berikut:
Constraint Unique diterapkan pada column tertentu dalam sebuah tabel, dengan tujuan untuk memvalidasi data yang kita entry tidak boleh sama dengan data yang telah tersedia di table pada kolom tersebut. Contoh pengguanya seperti berikut:
Constraint Not Null diterapkan pada column tertentu dalam sebuah table, dengan tujuan untuk memvalidasi data yang kita entry tidak dapat bernilai null. Contoh penggunaanya seperti berikut:
Sebuah Constraint digunakan untuk memvalidasi atau mengontrol data yang dapat di simpan pada sebuah table. Constraint dibagi menjadi beberapa macam yaitu:
Mulai dari Oracle 10g, Oracle mengenalkan feature Recyclebin dalam enginenya. jadi ketika kita menghapus object database dengan perintah drop, maka object tersebut akan dipindahkan ke recyclebin sebelum dihapus secara permanent.
Perintah TRUNCATE TABLE
yaitu untuk menghapus semua data dari table, by default oracle akan deallocate semua space yang digunakan dalam disk. Mungkin temen-temen bingung apa bedanya dengan perintah delete
Clause DROP TABLE
di oracle bukan untuk menghapus tetapi untuk memindahkan table ke recylebin.
Perintah ALTER table, digunakan untuk memodifikasi strukur object pada table contohnya
Tabel merupakan salah satu object di dalam database yang gunanya untuk menyimpan data, secara logical tabel di database berbentuk column dan rows jadi ibaratnya kita sedang menggunakan microsoft excel. Untuk membuat table kita perlu perintah disebut Data Definition Language atau singkatan DDL.
Sebelum kita membahas lebih dalam tentang data definition language (DDL), saya mau ngebahas dulu tentang Static Data Dictionary View, Data Dictionary Table gak bisa di access secara langsung, tapi bisa di akses melalui dictionary view yang tujuannya adalah untuk mengetahui list object yang ada didatabase berdasarkan user tertentu.
Data Definition Language, atau singkatan dari DDL yaitu perintah sql yang digunakan untuk membuat, memodifikasi struktur data pada object dalam Database. DDL dibagi menjadi 5 yaitu
Untuk mendukung concurrent transaction, database oracle senantiasa menjamin bahwa data yang pada suatu tabel selalu valid. Hal ini dilakukan oleh oracle dengan makanisme Lock. Oracle menerapkan row-level lock pada setiap perintah modifikasi data jadi setiap ada perintah update atau delete pada suatu tabel akan dicheck dulu ada transaksi yang menggunakan tabel tersebut atau tidak. Berikut ilustrasinya:
Oracle database merupakan RDBMS yang multi user, sehingga memungkinkan untuk paralel transactions (berinteraksi secara bersamaan) ini disebut Concurrent Transactions.
Perintah savepoint
digunakan untuk mengelompokan suatu transaksi yang panjang menjadi beberapa tahap, contohnya jika kita main game balapan atau rpg misalnya nah di dalem storynya misalkan character yang kita mainkan mati di tengah2 permainnan nah maka game akan kembali ke save terakhir nah kurang lebih seperti itu lah gunanya savepoint
.