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