Wednesday, 18 December 2013

Tipe tabel 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 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: