Merancang Tabel
Penjelasan tujuan perancangan tabel di dalam database diantaranya bisa dilihat pada contoh berikut:
Misalnya pada sebuah manufacture yang memproduksi Televisi , mempunya tabel output produksi sbb:
TABEL 1
Tabel diatas sepertinya tampak biasa saja bagi anda yang belum pernah mempelajari dasar dasar merancang tabel / database. Tapi sebenarnya tabel diatas bukanlah tabel yang baik. Kekurangan dari tabel diatas antara lain:
- Jika pada hari itu tdk ada produksi di line B , maka kita akan kehilangan informasi ttg model ABC. ini disebut anomali.
- Jika saya ingin mengganti data kolom Tujuan untuk model ABC dari Pilipina ke Banglades maka semua tujuan pd tiap baris harus diganti satu persatu. begitu juga jika size ingin dirubah maka semua data size tiap baris harus dirubah. hal ini tentu bukan cara yg efisien.
- Adanya data yang sama di input berulang, data size dan tujuan untuk model yg sama akan diinput kembali pada tiap baris hal ini disebut redudant . ini memboroskan lokasi memori tempat menyimpan data.
Tabel yang baik tdk mengandung anomali ataupun redudant.
Untuk memperbaiki tabel diatas, hilangkan anomali dan redudant. Salah satu caranya adalah dengan membuat tabel di atas menjadi 2 tabel sbb:
Tabel MasterModel :
TABEL 2
Tabel OutputProduksi :
TABEL 3
Setelah tabel 1 dipecah menjadi dua tabel yaitu tabel 2 dan tabel 3 maka :
- Jika kita ingin merubah data pada model , size atau data pd kolom tujuan kita cukup sekali saja merubahnya yaitu pada tabel 2.
- Jika tdk ada produksi pada tgl berapapun data informasi model tdk akan hilang dan tetap ada di tabel 2.
- Data output produksi menjadi lebih hemat memori karena kolom model size dan tujuan tdk diikutkan dalam tabel output produksi.
Yang jadi pertanyaan sekarang adalah dari mana aplikasi tahu kalau tabel 3 mempunyai hubungan /relasi dengan tabel 2?
Pada contoh di atas idmodel pada tabel 3 mengacu pada idmodel pada tabel2.
kesimpulan yg bisa diambil dari hubungan/relasi antara tabel 2 dan tabel3 :
- pertama : data dalam kolom idmodel pada tabel2 tdk boleh kosong ( ketika kolom lain ada isinya) atau istilahnya NOT NULL. contoh pada baris kedua data pada tabel dibawah ini.
- kedua : data dalam kolom idmodel tabel2 tidak boleh ada yg sama. contoh pada tabel dibawah ini data kolom idmodel ada yg sama hal ini tdk di izinkan.
- kolom idmodel pada tabel 3 mengacu pada idmodel tabel 2 dan isinya boleh kosong atau NULL.
Untuk membuat Tabel2 dengan Primary key dan tabel 3 dgn Foreign Key perintah nya SQL untuk database mysql seperti dibawah ini:
CREATE TABLE MasterModel(
idmodel INT NOT NULL PRIMARY KEY,
MODEL VARCHAR(50),
SIZE VARCHAR(50),
Tujuan VARCHAR(50),
);
Sedangkan untuk membuat tabel 3 dengan idmodel sebagai Foreign key
CREATE TABLE OutputProduksi(
idmodel FOREIGN KEY REFERENCES MasterModel(idmodel))
TGL DATE,
WAKTU TIME,
LINE VARCHAR(10)
);
Baris perintah diatas memberitahu DBMS bahwa terjadi hubungan antara tabel sbb:
Anda ingin mencari refrensi dan contoh program lengkap ? Kami ada. Sekarang Anda bisa mencari Relasi Tabel di situs ini : http://www.bunafitkomputer.com. Koleksi program lengkap di sana, proyek PHP dan MySQL, juga jQuery dan Framework. Bukunya juga ada.
mas gan, kalau penerapannya d php gmana y mas gan?
ReplyDelete