Rabu, 09 Januari 2013

~~Apa sih MySQL itu ..?



SQL (Structured Query Language) adalah bahasa standar yang digunakan untuk mengakses server basis data. Sejak tahun 70-an bahasa ini telah dikembangkan oleh IBM, yang kemudian diikuti dengan adanya Oracle, Informix dan Sybase. Dengan menggunakan SQL, proses akses basis data menjadi lebih user-friendly dibandingkan dengan misalnya dBase ataupun Clipper yang masih menggunakan perintah– perintah pemrograman murni.
MySQL adalah sebuah server basis data SQL multiuser dan multi-threaded. SQL sendiri adalah salah satu bahasa basis data yang paling populer didunia. Implementasi program server basis data ini adalah program daemonmysqld dan beberapa program lain serta beberapa pustaka. MySQL dibuat oleh TcX dan telah dipercaya mengelola sistem dengan40 buah basis data berisi 10,000 tabel dan 500 di antaranya memiliki 7 juta baris (kira-kira 100 gigabyte data). Basis data ini dibuat untuk keperluan sistem basisdata yang cepat, handal dan mudah digunakan. Walaupun memiliki kemampuan yang cukup baik, MySQL untuk sistem operasi Unix bersifat freeware, dan terdapat versi shareware untuk sistem operasi windows
Keunggulan MySQL
Berikut ini adalah beberapa keunggulan MySQL :
·         Mampu menangani jutaan user dalam aktu yang bersamaan.
·         Mampu menampung lebih dari 60.000.000 record.
·         Sangat cepat mengeksekusi perintah.
·         Memiliki user privilege system yang mudah dan efisien.
·         MySQL juga menyediakan dukungan open source
·         Multi Platform
Setiap pengguna MySQL diizinkan mengubah source untuk keperluan pengembangan atau menyelaraskan spesifikasi database sesuai kebutuhan. Dengan berbagai alasan di atas, sangat wajar jika saat ini MySQL begitu banyak digunakan sebagai database server di internet.
Jenis - Jenis Tabel yang Terdapat pada MySQL.
Dibawah ini adalah jenis-jenis tabel yang terdapat pada MySQL :
·         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.
·         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.
·         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.
·         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.
·         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.
·         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.
·          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.
·         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.
·         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.


sumber :
http://www.scribd.com/doc/53829211/19/Keunggulan-MySQL
http://maone032.wordpress.com/2008/07/22/mengenal-mysql-database/
http://labbsibekasi.team-forum.net/t14-jenis-jenis-table-dalam-mysql


Tidak ada komentar:

Posting Komentar