OpO ~ Tipe tabel dan kolom pada MySQL |
Kali ini opodab ingin
melanjutkan tentang dasar MySQL. Dan dalam pembahasan ini opodab ingin membahas
tentang beberapa tipe tabel dan beberapa tipe kolom (field) pada MySQL. Salah satu kelebihan
dari MySQL adalah Anda dapat mendefinisikan tipe untuk tiap tabel.
MySQL mendukung beberapa tipe tabel, tergantung konfigurasi saat proses instalasi MySQL.
MySQL mendukung beberapa tipe tabel, tergantung konfigurasi saat proses instalasi MySQL.
MySQL
memiliki 3 (tiga) tipe data utama, yaitu MyISAM, InnoDB dan HEAP. Jika kita
tidak menyebutkan tipe tabel saat membuat tabel, maka tipe tabel otomatis akan
dibuat sesuai konfigurasi default server MySQL. Hal ini ditentukan oleh
variabel default-table-type di file konfigurasi MySQL.
Tipe Tabel Pada MySQL
MyISAM
Tipe
tabel MyISAM merupakan tipe tabel yang sederhana, stabil dan mudah digunakan.
Jika kita akan menyimpan data sederhana yang tidak terlalu rumit, maka
gunakanlah tipe tabel ini. Kelebihan utama MyISAM adalah kecepatan dan kestabilannya.
Jika kita memilih tipe tabel MyISAM, maka MySQL secara otomatis akan menentukan
salah satu dari tiga jenis tabel MyISAM, yaitu :
- MyISAM static. Jenis ini digunakan ketika semua kolom dalam tabel didefinisikan dengan ukuran yang pasti (fixed). Dengan kata lain, tidak ada kolom yang memiliki tipe seperti VARCHAR, TEXT dan BLOB. Karena sifatnya yang fixed, maka jenis ini akan lebih cepat, aman dan stabil.
- MyISAM dymanic. Jenis ini digunakan ketika terdapat kolom dengan tipe yang dinamis, seperti tipe kolom VARCHAR. Keuntungan utama dari jenis ini adalah ukuran yang dinamis. Jadi sifatnya lebih efektif karena ukuran data (file) menyesuaikan isi dari masing-masing kolom (field).
- MyISAM Compressed. Kedua jenis MyISAM, static dan dynamic dapat dikompresi menjadi satu jenis yaitu MyISAM Compressed dengan perintah myisamchk. Tentunya hasilnya lebih kecil dari segi ukuran. Tabel yang terkompresi tidak dapat dikenakan operasi seperti INSERT, UPDATE dan DELETE.
InnoDB
Tipe
tabel InnoDB merupakan tipe tabel MySQL yang mendukung proses transaksi. Tipe
ini memiliki beberapa keunggulan, antara lain:
Mendukung
transaksi antar tabel.
Mendukung
row-level-locking.
Mendukung
Foreign-Key Constraints.
Crash
recovery.
HEAP
Tabel
dengan tipe HEAP tidak menyimpan datanya di hardisk, tetapi menyimpan di RAM
(memori). Tipe tabel ini biasanya digunakan sebagai tabel sementara
(temporary). Tabel secara otomatis akan dihapus (hilang) dari MySQL saat
koneksi ke server diputus atau server MySQL dimatikan.
Tipe Tabel yang Lain Selain
3 (tiga) tipe tabel diatas, yaitu MyISAM, InnoDB dan HEAP, MySQL juga mendukung
tipe tabel yang lain, yaitu:
BDB. Tipe
tabel ini mirip tipe tabel InnoDB, namun penggunaannya belum maksimal.
Archieve. Tipe
ini tersedia sejak MySQL versi 4.1. Tipe ini digunakan untuk menyimpan tabel
yang terkompresi, dimana biasanya digunakan dalam proses backup.
CSV. Tipe
ini digunakan untuk menyimpan data dalam bentuk file text yang dibatasi dengan
koma (delimiter). Tipe ini tersedia sejak MySQL versi 4.1.
NDB
Table (MySQL
Cluster). Tersedia sejak MySQL versi 4.1.
Federated
(External
Tables). Tipe ini tersedia sejak MySQL versi 5.0.
Tipe-tipe Kolom
( Field ) Pada MySQL
MySQL
memiliki cukup banyak tipe data untuk field (kolom) tabel. Tipe field (kolom)
ini menentukan besar kecilnya ukuran suatu tabel. Tipe field di MySQL setidaknya
terbagi menjadi beberapa kelompok, yaitu numerik, string, date-andtime, dan
kelompok himpunan (set dan enum). Masing-masing tipe field memiliki batasan
lebar dan ukurannya.
Data
yang tersimpan pada tabel bisa bermacam-macam. Untuk itu kita mendifinisikan
data tipe dari kolom-kolom pada tabel sesuai dengan data yang akan dimasukkan.
Data tipe sangat beragam mulai dari char, varchar, datetime, numeric, decimal,
dll. Untuk membuat tabel kita harus mendifinisikan kolom-kolom terlebih
dahulu, data seperti apa yang akan masuk ke kolom tersebut. Karena hal ini
penting untuk menentukan data tipe apa yang akan didefinisikan pada kolom
tersebut. Kita bisa memanfaatkannya untuk mengurangi space yang ada pada
server.
Numerik
Tipe
data numerik digunakan untuk menyimpan data numeric (angka). Ciri utama data
numeric adalah suatu data yang memungkinkan untuk dikenai operasi aritmatika
seperti pertambahan, pengurangan, perkalian dan pembagian.
String
Tipe
data string digunakan untuk menyimpan data string (text). Ciri utama data
string adalah suatu data yang memungkinkan untuk dikenai operasi aritmatika
seperti pertambahan, pengurangan, perkalian dan pembagian.
Date And Time
Tipe
data date dan time digunakan untuk menyimpan tipe data tanggal dan waktu.
Sementar itu dulu yang dapat opodab sampaikan mengenai tipe tabel dan
kolom pada MySQL. Masih banyak lagi sebenarnya pembahasannya namun karena
artikelnya kepanjangan jadi di sambung di artikel selanjutnya saja. Semoga
artikel ini dapat bermanfaat untuk anda.
Ciao,
OpODab