Berbeda
dengan PHP dan bahasa-bahasa skripting yang mengizinkan kita menaruh apa saja
dalam sebuah $variable tanpa
deklarasi tipe terlebih dahulu, di MySQL kita perlu mendeklarasikan tipe-tipe
data semua field yang ada pada saat membuat sebuah tabel. Seorang programer PHP
yang tidak kenal MySQL kadang-kadang cenderung memilih jenis data yang salah
(umumnya: memilih VARCHAR() padahal ada tipe data yang lebih tepat) dikarenakan
tidak mengenal jenis-jenis data yang tersedia.
Berikut
beberapa contoh kurang tepatnya pemilihan tipe data: 1) memilih CHAR(8) atau VARCHAR(10) dan bukannya DATE
untuk menyimpan tanggal; kerugiannya, lebih boros tempat dan tidak bisa
memanfaatkan fungsi-fungsi khusus tanggal; 2) memilih CHAR(3) atau CHAR(6) ketimbang TINYINT
UNSIGNED untuk menyimpan data boolean (“YES” dan “NO”; atau “TRUE”
dan “FALSE”; padahal jauh lebih irit dinyatakan dengan 1 dan 0 yang hanya
menempati 1 byte); 3) memilih FLOAT atau DOUBLE dan bukannya DECIMAL untuk
menyimpan jumlah uang; kerugiannya, FLOAT dan DOUBLE adalah berbasis biner dan
seringkali tidak eksak dalam menyimpan pecahan desimal.
Nomor
3 sering terjadi karena programer biasanya hanya mengenal single/double
floating point number yang tersedia di bahasa pemrograman. Padahal database
umumnya menyediakan angka pecahan berbasis desimal yang bisa eksak menyimpan
pecahan desimal.
Manual
MySQL amat membantu di sini; di subbab tentang Column Types dijelaskan dengan rinci jenis-jenis data yang ada,
termasuk rentang nilai yang dapat ditampung, berapa byte yang ditempati tipe
data tersebut, dsb.
0 komentar:
Posting Komentar