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 memiliki 3
(tiga) tipe data utama, yaituMyISAM, 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.
a.
MyISAM
Tipe tabe lMyISAM 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 :
1) 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.
2) 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).
3) MyISAM Compressed.
Kedua
jenis MyISAM, static dan dynamic dapat dikompresi menjadi satu jenis yaitu MyISAM
Compressed dengan perintah myisam chk. Tentunya hasilnya lebih kecil dari segi
ukuran. Tabel yang terkompresi tidak dapat dikenakan operasi seperti INSERT,
UPDATE dan DELETE.
b.
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.
c.
HEAP
Tabel dengan tipe HEAP tidak menyimpan
datanya dihardisk, 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 - tipe yang lain
Selain 3 (tiga) tipe tabel diatas, yaitu
MyISAM, InnoDB dan HEAP, MySQL juga mendukung tipe tabel yang lain, yaitu:
a.
BDB
Tipe
tabel ini mirip tipe tabel InnoDB namun penggunaannya belum maksimal.
b.
Archieve
Tipe
ini tersedia sejak MySQL versi 4.1. Tipe ini digunakan untuk menyimpan tabel yang
terkompresi, dimana biasanya digunakan
dalam proses backup.
c.
CSV
Tipe
ini digunakan untuk menyimpan data dalam bentuk file text yang dibatasi dengan koma
(delimiter). Tipe ini tersedia sejak MySQL versi 4.1.
d.
NDB Table (MySQL Cluster)
Tersedia
sejak MySQL versi 4.1.
e.
Federated (External Tables)
Tipe
ini tersedia sejak MySQL versi 5.0.
Tipe – tipe Field (Kolom) 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 and time, dan kelompok himpunan (set dan enum).
Masing-masing tipe field memiliki batasan lebar dan ukurannya.
a.
TipeNumerik
Tipe data numerik digunakan untuk
menyimpan data numerik (angka). Ciri utama data numerik adalah suatu data yang
memungkinkan untuk dikenai operasi aritmatika seperti pertambahan, pengurangan,
perkalian dan pembagian. Berikut ini tipe field (kolom) di MySQL yang termasuk
ke dalam kelompok tipe numerik:
1.
TINYINT
Penggunaan : digunakan untuk menyimpan data bilangan
bulat positif dan negative
Jangkauan : -128 s/d 127
Ukuran :
1 byte (8 bit)
2.
SMALLINT
Penggunaan :
digunakan untuk menyimpan data bilangan bulat positif dan negative
Jangkauan :
-32.768 s/d 32.767
Ukuran :
2 byte (16 bit)
3.
MEDIUMINT
Penggunaan :
digunakan untuk menyimpan data bilangan bulat positif dan negative
Jangkauan :
-8.388.608 s/d 8.388.607
Ukuran :
3 byte (24 bit)
4.
INT
Penggunaan :
digunakan untuk menyimpan data bilangan bulat positif dan negative
Jangkauan : -2.147.483.648
s/d 2.147.483.647
Ukuran :
4 byte (32 bit)
5.
BIGINT
Penggunaan :
digunakan untuk menyimpan data bilangan bulat positif dan negative
Jangkauan :
±9,22 x 1018
Ukuran :
8 byte (64 bit)
6.
FLOAT
Penggunaan : digunakan untuk menyimpan data bilangan
pecahan positif dan negatif presisi tunggal
Jangkauan :
-3.402823466E+38 s/d -1.175494351E-38, 0 dan 1.175494351E-38 s/d 3.402823466E+38
Ukuran :
4 byte (32 bit)
7.
DOUBLE
Penggunaan : digunakan untuk menyimpan data bilangan
pecahan positif dan negative presisi ganda
Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan
2.22...E-308 s/d 1.79...E+308.
Ukuran :
8 byte (64 bit)
8.
REAL
Merupakan sinonim dari
DOUBLE
9.
DECIMAL
Penggunaan : digunakan untuk menyimpan data bilangan
pecahan positif dan negatif
Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan
2.22...E-308 s/d 1.79...E+308.
Ukuran :
8 byte (64 bit)
10. NUMERIC
Merupakan sinonin dari
DECIMAL
b.
Tipe Date and Time
Tipe data date dan time digunakan untuk
menyimpan data tanggal dan waktu. Berikut ini tipe field (kolom) di MySQL yang
termasuk ke dalam kelompok tipe date dan time:
1.
DATE
Penggunaan :
digunakan untuk menyimpan data tunggal
Jangkauan : 1000-01-01
s/d 9999-12-31 (YYYY-MM-DD)
Ukuran :
3 byte
2.
TIME
Penggunaan :
digunakan untuk menyimpan data waktu
Jangkauan : -838:59:59
s/d +838:59:59 (HH:MM:SS)
Ukuran :
3 byte
3.
TIMETIME
Penggunaan : digunakan untuk menyimpan data tunggal dan
waktu
Jangkauan : ‘1000-01-01 00:00:00’ s/d ‘ 9999-12-31 23:59:59’
Ukuran :
8 byte
4.
YEAR
Penggunaan : digunakan untuk menyimpan data waktu dari
tanggal
Jangkauan :
1900 s/d 2155
Ukuran :
1 byte
c.
Tipe String (Teks)
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. Berikut ini tipe field (kolom) di MySQL yang termasuk
ke dalam kelompok tipe string:
1.
CHAR
Penggunaan : digunakan untuk menyimpan data string ukuran
tetap.
Jangkauan : 0 s/d 255 karakter
2.
VARCHAR
Penggunaan : digunakan untuk menyimpan data string
ukuran dinamis.
Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d
65.535 (versi 5.0.3)
3.
TINYTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d
255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)
4.
TEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 65.535 (216 - 1) karakter
5.
MEDIUMTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 224 - 1 karakter
6.
LONGTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 232 - 1 karakter
d.
Tipe Blob (Biner)
Tipe data blob digunakan untuk menyimpan
data biner. Tipe ini biasanya digunakan untuk menyimpan kode-kode biner dari
suatu file atau object. BLOB merupakan singkatan dari Binary Large Object.
Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe
blob:
1.
BIT (sejak versi 5.0.3)
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 64 digit biner
2.
TINYBLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 255 byte
3.
BLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 216 - 1 byte
4.
MEDIUMBLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 224 - 1 byte
5.
LONGBLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 232 - 1 byte
e.
Tipe Data yang lain
Selain tipe data di atas, MySQL juga
menyediakan tipe data yang lain. Tipe data di MySQL mungkin akan terus
bertambah seiring dengan perkembangan versi MySQL. Berikut ini beberapa tipe
data tambahan MySQL:
1.
ENUM
Penggunaan : enumerasi (kumpulan data).
Jangkauan : sampai dengan 65535 string.
2.
SET
Penggunaan : combination (himpunan data).
Jangkauan : sampai dengan 255 string anggota.
< ISTIKHOMAH :) >
No comments:
Post a Comment