Hari itu Dzaky memulai pelajaran tentang basis data langsung dari ayah.
Ayah bilang, "I will NOT DO your homework for you, but to merely aid you in doing it yourself. I am willing to give you some guidelines if you show me that you've tried to do it first. You MUST show that you have attempted to answer your question in order to receive help."
"Njeh ded..."
"So, what exactly do you need to do?"
"Dzaky ingin belajar membuat basis data biar Dzaky bisa catat semua pengeluaran Ayah. Dzaky akan catat tanggal berapa ayah mengeluarkan uang, untuk keperluan apa, berapa nilainya. Dzaky juga akan mencatat berapa uang yang ayah terima, kapan diterima dan dari mana ayah terima!"
"Dooh !. "How did you solve the problem so far?"
"Dzaky sudah rancang dan implementasikan dengan mengggunakan MySQL".
Lalu Dzaky ambil laptop Dzaky yang penuh dengan game gratisan, menjalankan XAMMP, mengaktifkan MySQL Server serta mengaktifkan MySQL Client dengan mode command line.
E:\xampp\mysql\bin>mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
.....
mysql>
mysql> create database uangayah;
mysql> use uangayah;
mysql> CREATE TABLE transaksi(
tanggal date NOT NULL,
uraian varchar(15) NOT NULL,
kode varchar(1) NOT NULL,
jumlah double NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
COMMENT='Mencatat transaksi uang ayah';
mysql>
Lalu Dzaky memasukkan beberapa data dan hasilnya seperti ini.
tanggal | uraian | kode | jumlah |
---|---|---|---|
2012-02-01 2012-02-01 2012-02-01 2012-02-01 2012-02-02 2012-02-02 2012-02-02 2012-02-02 2012-01-31 2012-02-05 | Makan siang Makan malam Beli rokok Makan Sate Sarapan Pagi Makan Siang Makan Malam Rokok Honor Upah | K K K K K K K K M M | 15000 12500 10000 25000 5000 12500 20000 10000 750000 500000 |
Setelah mengisi data tersebut, Dzaky merasa ada kejanggalan.
Uraian sering sama, seperti "Makan siang", "Makan malam" dan terkadang Dzaky tidak konsisten menuliskannya. Kadang tertulis "Makan Malam", kadang "makan malam" sehingga Dzaky harus mengingat-ingat seperti apa tulisan yang ada sebelumnya. Demikian juga ketika "Beli Rokok" dengan "Rokok" padahal maksudnya sama.
"Ya. Tabel yang Dzaky buat semua field-nya sudah bernilai tunggal, tidak multi-value dan tidak multi-atribute. Tetapi banyak informasi yang berulang. Itu bisa diperbaiki dengan mekanisme normalisasi. Dzaky harus mengurai tabel tersebut berdasarkan ketergantungan fungsional yang ada sedemikian hingga X menjadi superkey dari tabel-tabel hasil penguraian tersebut".
Kemudian Ayah katakan, "Untuk sementara Dzaky gunakan saja dulu tabel yang sudah Dzaky buat. Suatu waktu kita bahas bersama. Dzaky baca, pelajari, pahami, mengerti lebih dulu. You MUST show that you have attempted to answer your question in order to receive help".
Next : ROLL ME UP - NULL