2012-11-12

Database : membuat wali kelas

Pada tulisan sebelumnya, saya membuat database untuk wali murid!! dan saya membuat 3 table. Padahal kalau di urut harusnya 2!! tetapi ternyata namanya wali murid setiap tahun itu ada pergantian sehingga tak langsung kita butuh 3! sebelumnya anda harus perhatikan 2 hal yaitu apakah memang butuh 3 atau malah 4?!?
Dalam kasus ini kita ambil pake tahun, dimana tahun terdiri dari angka. Berikutnya kita akan memakai tahun sebagai periode (nb periode 2 tahun tapi masih disebut tahun). Disini kita sudah mendapatkan table wali kelas yang terdiri dari 2 yaitu id_kelas dan id_guru.. Namun di sini bagi beberapa orang dirasa membingungkan karena tidak ada id_walikelas!

sebelum bingung, silakan nonton IWA K! Btw saya jarang liat rapper ini lho! kemana dia? jangan-jangan malah mencalonkan diri jadi Capres kayak penyanyi dangdut. Balik ke masalah Id walikelas kenapa tidak ada. Disini id_walikelas adalah optional, jadi tidak wajib dipasang. Tetapi saya sebenarnya lebih menyarankan!! alasannya sederhana, yaitu mempermudah bila ada edit data atau hapus data. dengan adanya id, kita tidak perlu coding / query panjang untuk menghapus. Saya akan ambil di where saja.
  • apabila memakai id_walikelas. Where id_walikelas=xxx
  • tanpa memakai id_walikelas. where id_guru=xx and id_kelas=xx
terlihat bila tidak ada idnya akan lebih bingung lagi. Melihat dari gambar di atas kita tentu akan berfikir, lebih baik pake 4 table dimana akan muncul table tahun. Sebenarnya pilihan anda tidak SALAH. Bila menurut anda cocok, just do it. nantinya kita akan mendapat 4 table yaitu:
  • guru
  • kelas
  • wali_kelas
  • tahun_ajaran
dimana wali kelas akan berisi 3 field (anggap id_walikelas tidak terhitung). Berikutnya pastikan natara walikelas dan table lain saling terhubung secara logika, kalau saya lebih kepada memakai nama yang mencerminkan target, jadi sebisa mungkin nama field tidak lepas dari nama singkat table contoh:
  • guru_id
  • guru_name
  • dan seterusnya
Melihat fakta bahwa tahun disini hanya berisi 2000, bukan ada kustom seperti tahun ajaran / semester dimana tiap semester beda wali kelas. Maka kita bisa hapus tahun_ajaran dan tahun ajaran muncul di wali_kelas sebagai angka index nantinya.
Tapi sejalan dengan perkembangan, mungkin anda ingin membuat wali kelas berganti tiap periode bulan, tahun bahkan setengah tahun. Jadi kita butuh tahun_ajaran sebagai unik tahun, walau dalam praktek saya tak berharap anda menemuinya (skrip demikian).
Lalu pertanyaan anda kembali ... Jadi kalau saya merancang database pake apa? sejujurnya saya memilih anda mengggunakan metode normalisasi. Inti normalisasi adalah mengungrai data yang ada menjadi masukan di BCA (contoh) eh maksudnya saya ke prog anda.
Selamat berkarya dan berbagi di Dunia Internet

Tidak ada komentar: