Formulir Kontak

 

Jenis-Jenis Table Dalam MySQL

Sekarang saya akan sedikit memberi penjelasan mengenai jenis2 table dalam MySQL tapi kadang jenis2 ini belon tentu ada tergantung web server yang junker2... gunakan ane sendiri make app serv...klo mo ngecek melalui commnd prompt gini carana ketik mysql di run setelah masuk mysql> select engine from engines;

setelah itu pasti muncul jenis2na intina gini pada pada mysql versi 5 keatas. Secara garis besar, Tabel MySQL dibedakan menjadi dua jenis, yaitu Transaction Safe dan Non-Transaction Safe.


* Transaction Safe merupakan tabel yang mendukung transaksi. Dalam proses transaksi kita dapat memperkecil terjadinya kesalahan dalam pemrosesan data. Jenis tabel ini yang ane pake dalam penerapan aktifitas koding. Namun sayang, tabel jenis ini performa dalam hal kecepatan lebih lambat daripada jenis tabel non-transaction safe karena membutuhkan resource yang lebih banyak. Mungkin tabel jenis ini lebih memprioritaskan kapasitas/data daripada kecepatan.
* Non Transaction Safe merupakan tabel yang tidak mendukung adanya transaksi. Garis besarnya jenis tabel ini kebalikan dari Transaction Safe. Tabel jenis ini mempunyai kelebihan dalam hal kecepatan. Namun tidak ada toleransi dalam kesalahan pemrosesan data. Misalkan ada kesalahan dalam update data, maka data tersebut tidak dapat dikembalikan. Tabel berjenis MyISAM, MEMORY, ARCHIVE termasuk dalam jenis ini.

Dibawah ini adalah jenis-jenis tabel yang terdapat pada MySQL. Baik itu Transaction Safe maupun Non-Transaction Safe :

1. EXAMPLE : Tabel jenis ini disediakan oleh MySQL tanpa didukung feature apapun. tabel jenis ini hanya digunakan sebagai contoh untuk memulai membuat sebuah tabel. Ketika kita membuat tabel dengan jenis ini, filenya tetap akan disimpan pada database direktori dengan ekstensi .frm. Tidak ada data yang akan disimpan dalam direktori database. Kita juga tidak dapat melakukan penyimpanan data dalam tabel jenis ini.

2. CSV : Tabel jenis ini menyimpan data pada text file dengan pemisah koma. Ketika kita membuat tabel dengan jenis ini, filenya akan disimpan pada database direktori dengan ekstensi frm, dan data akan disimpan dengan ekstensi .CVS berdasarkan nama tabel yang dibuat.

3. MyISAM : Tabel jenis ini diperuntukkan bagi junker2 yang membutuhkan kecepatan yang tinggi, namun dengan kelemahan tidak ada toleransi kesalahan dalam pemrosesan data. Adapun kelebihan dari jenis ini adalah mendukung fasilitas pencarian dengan fungsi full-text dan kemudahan dalam perbaikan tabel. Data-data MyISAM disimpan dalam direktori database terdiri atas 3 jenis, yaitu nama_tabel.frm, nama_tabel.myd, nama_tabel.myi. FRM menyimpan schema tabel, MYD menyimpan data-data, MYI menyimpan data-data index. Tabel jenis ini mendukung jumlah index sampai dengan 64 buah index.

4. BLACKHOLE : Inilah salah satu jenis tabel yang paling unik, karena sewaktu kita membuat tabel dengan jenis ini dan kita menambahkan data, maka tabel blackhole tidak akan menyimpannya namun melemparkannya. Pada prakteknya tabel blackhole sering dipakai pada seseorang yang tidak menginginkan menyimpan sebuah data pada tabel namun file log. File Log sangat bermanfaat untuk proses replikasi replikasi. Kita dapat mengatur agar master tidak menerima data apapun, namun berguna untuk meneruskan data pada Slave sehingga hanya Slave yang memiliki data.

5. MRG_MYISAM : Tabel jenis ini juga merupakan jenis tabel yang unik. Jenis ini merupakan gabungan dari beberapa tabel MyISAM. Penggabungan ini dimaksudkan untuk mempermudah pencarian dan manajemen data terhadap beberapa tabel MyISAM karena hanya menggunakan sebuah tabel MRG_ISAM saja. Yang perlu diperhatikan ketika membuat jenis tabel ini adalah, diantara tabel MRG_MyISAM dan tabel Merge yang merupakan gabungan harus mepunyai kolom2 yang identik. Tabel ini tidak mempunyai batasan penyimpanan, namun tabel2 MyISAM yang merupakan gabungannya mempunyai batasan berdasarkan Sistem Operasinya. Tabel jenis ini seperti InnoDD dalam hal penyimpanan data.

Sebetulnya tabel jenis ini tidak mempunyai data apapun, ia hanya memiliki link atau lokasi kedalam kedua tabel MyISAM yang telah digabung. Ketika kita menghapus data dalam tabel MRG_MyISAM, maka data pada lokasi aslinya turut terhapus. Perlu diperhatikan, kita tidak diperkenankan untuk menggunakan perintah ALTER TABLE pada jenis tabel ini karena jika demikian, maka link atau lokasi pada tabel penggabungan akan hilang.

6. InnoDB : Cocok digunakan sebagai komputer server yang memproses data yang sangat besar. Untuk kecepatan, InnoDB memang kalah dibanding MyISAM namun dalam hal pemrosesan data tabel ini jauh lebih baik. Tabel ini menyimpan data2 yang sedang diproses dalam memori komputer untuk mempercepat proses MySQL. InnoDB tidak mempunyai batasan penyimpanan data meskipun file system OS mempunyai batasan penyimpanan. InnoDB juga mempunyai kriteria Row level Locking yang memungkinkan penguncian tabel hanya untuk data-data tertentu saja. Penguncian ini hanya akan dilakukan ketika data tersebut sedang digunakan sehingga tidak tersedia bagi user yang lain.

Tabel InnoDB mempunyai file Log tersendiri dan terdiri dari beberapa buah. Kita dapat mementukan jumlah file log yang digunakan melalui konfigurasi innodb_log_files_in_group. InnoDB mendukung penggunaan ConstraintFOREIGN KEY sehingga memudahkan pendeklarasian foreign key. Selain itu juga mendukung penggunaan keyword ON DELETE dan ON UPDATE. Operasi yang dapat digunakan terhadap tabel foreign key antara lain :

- CASCADE

Jika ada perubahan maupun penghapusan pada tabel Primary Key, maka MySQL juga akan turut menghapus atau mengubah data pada tabel Foreign Key.

- RESTRICT

Jika ada perubahan maupun penghapusan pada tabel Primary Key, maka MySQL tidak akan menghapus atau mengubah data yang sama pada tabel Foreign Key.

- SET NULL

Jika ada perubahan maupun penghapusan pada tabel Primary Key, maka MySQL mengosongkan data yang sama pada tabel Foreign Key.

- NO ACTION

Keyword ini berguna untuk menolak perubahan atau penghapusan data pada tabel Primary Key jika terdapat data yang sama pada tabel Foreign Key. Bila pada tabel Foreign Key tidak sudah tidak ada yang sama, maka akan diijinkan untuk melakukan penghapusan atau perubahan data pada tabel Primary.

7. ARCHIVE : Tabel jenis ini adalah jenis tabel yang dipadatkan. Tabel ini diperuntukkan bagi yang menyimpan data-data yang besar karena penyimpanan dari tabel ini sangat kecil. Kita dapat menggunakan perintahSELECT dan INSERT namun kita tidak dapat menggunakan perintah DELETE,UPDATE maupun REPLACE karena tabel ini hanya digunakan untuk memasukkan dan membaca saja. Tabel ini juga tidak mendukung klausa ORDER BY dalam perintah SELECT.

8. MEMORY : Pemyimpan data pada jenis tabel ini tersimpan secara sementara dalam memory komputer. Ketika Server komputer dimatikan, secara otomatis data akan dihapus dari memori komputer. Tabel jenis ini cocok digunakan untuk pembuatan tabel sebelum membuat tabel aslinya. Sudah pasti tabel ini bekerja lebih cepat daripada tabel lainnya karena bekerja dalam memori komputer. Besar penyimpanan tabel ini pun dialokasikan dengan ukuran yang lebih kecil mengingat penyimpanannya ada pada memori dan bersifat statik.

9. FEDERATED : Tabel ini digunakan untuk mengakses data pada tabel lainnya. Tabel jenis ini tidak mempunyai data apapun seperti halnya tabel MRG_MyISAM. Tabel ini biasanya digunakan untuk mengakses tabel MySQL Remote. Tabel jenis ini juga tidak mendukung transaksi dan perintah DDL(Data Definition Language) dan tidak bisa mengetahui apabila telah terjadi perubahan skema tabel pada tabel remote yang diakses.

Mungkin pengertian bisa berguna buat agan2 yang ngen mempelajari lebih dalam ttg DBMS bagaimana melakukan sebuah relasi dalam tabel, membedakan mana jenis table yang harus kita gunakan dalam membuat sebuah web...Saya sendiri masih belajar n ingin terus memperdalam ttg dunia beginian (Web Programming 


Total comment

Author

Unknown

0   komentar

Cancel Reply