Modul
2
Dasar-Dasar
MySQL
1.
Tipe-Tipe
Tabel MySQL
Salah
satu kelebihan MySQL adalah dapat mendefinisikan tipe table. Tipe table standar
yang dimiliki adalah MyISAM,InnoDB dan HEAP. Jika tipe table tidak disebutkan
maka secara otomatis MySQL menggunakan tipe tabel yang didefinisikan saat konfigurasi.
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 :
a) 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.
b) MyISAM dynamic.
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).
c) 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:
a. Mendukung transaksi antar tabel.
b. Mendukung row-level-locking.
c. Mendukung Foreign-Key Constraints.
d. 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:
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.
2.
Tipe-tipe
Data 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.
Tipe Numeric
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. 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 negatif.
Jangkauan : -128 s/d 127
Ukuran : 1 byte (8 bit).
2. SMALLINT
Penggunaan
: digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan : -32.768 s/d 32.767
Ukuran : 2 byte (16 bit).
3.
MEDIUMINT
Penggunaan
: digunakan untuk menyimpan data bilangan bulat positif dan negatif.
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 negatif.
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 negatif.
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 negatif 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
sinonim dari DECIMAL.
Tipe Date dan 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:
11.
DATE
Penggunaan
: digunakan untuk menyimpan data tanggal.
Jangkauan : 1000-01-01 s/d 9999-12-31 (YYYY-MM-DD)
Ukuran : 3 byte.
12.
TIME
Penggunaan
: digunakan untuk menyimpan data waktu.
Jangkauan : -838:59:59 s/d +838:59:59 (HH:MM:SS)
Ukuran : 3 byte
13. DATETIME
Penggunaan
: digunakan untuk menyimpan data tanggal dan waktu.
Jangkauan : '1000-01-01 00:00:00' s/d '9999-12-31
23:59:59'
Ukuran : 8 byte.
14.
YEAR
Penggunaan
: digunakan untuk menyimpan data tahun dari tanggal.
Jangkauan : 1900 s/d 2155
Ukuran : 1 byte.
Tipe String (Text)
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:
15. CHAR
Penggunaan
: digunakan untuk menyimpan data string ukuran tetap.
Jangkauan : 0 s/d 255 karakter
16. 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)
17. 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)
18.
TEXT
Penggunaan
: digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 65.535 (2^16- 1) karakter
19.
MEDIUMTEXT
Penggunaan
: digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 2^24 - 1 karakter
20.
LONGTEXT
Penggunaan
: digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 2^32- 1 karakter
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:
21. BIT (sejak versi 5.0.3)
Penggunaan
: digunakan untuk menyimpan data biner.
Jangkauan : 64 digit biner
22. TINYBLOB
Penggunaan
: digunakan untuk menyimpan data biner.
Jangkauan : 255 byte
23. BLOB
Penggunaan
: digunakan untuk menyimpan data biner.
Jangkauan : 2^16 - 1 byte
24. MEDIUMBLOB
Penggunaan
: digunakan untuk menyimpan data biner.
Jangkauan : 2^24 - 1 byte
25. LONGBLOB
Penggunaan
: digunakan untuk menyimpan data biner.
Jangkauan : 2^32 - 1 byte
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:
26. ENUM
Penggunaan
: enumerasi (kumpulan data).
Jangkauan : sampai dengan 65535 string.
27. SET
Penggunaan
: combination (himpunan data).
Jangkauan : sampai dengan 255 string anggotas.
0 komentar:
Posting Komentar