Mencambah fikiran logik. Boleh terima dan boleh juga berbeza pendapat.
Sekadar memberikan pendapat tentang kaedah penormalan data yang mengasingkan no telefon bimbit kepada suatu jadual yang baru, khusus hanya kerana kita mengenalpastinya sebagai WUJUD KEBERGANTUNGAN FUNGSI TRANSITIF?
BT SK T4 ms 229 (Kebergantungan Fungsi Transitif)
Nombor telefon dikatakan adalah unik bagi setiap penggunanya.
oleh itu kita beranggapan bahawa, pernyataan :
No Telefon Bimbit → Nama
bermaksud : No Telefon Bimbit boleh menentukan Nama
sama maksudnya : Nama perlu bergantung fungsinya terhadap No Telefon
Bimbit
juga maksudnya : Nama Seseorang boleh ditentukan oleh No Telefon Bimbitnya
Secara mudahnya, untuk Nama itu berfungsi sebagai nama, maka ia memerlukan
No Telefon Bimbit sebagai rujukannya.
Ini kerana apabila dibaca dalam semua maksud bentuk pernyataan yang dinyatakan diatas, maka kita mendapati bahawa ada logik yang tidak boleh dipersetujui sepenuhnya.
X Logik : Nombor Telefon bimbit boleh menentukan Nama (dengan PENGECUALIAN tertentu berdasarkan situasi).
Masalah dari segi peraturan memberikan nama kepada seseorang. Belum pernah lagi nama seseorang itu, datang sekali dengan pakej nombor telefon bimbit yang unik.
Walaupun nombor telefon unik bagi setiap seseorang, apabila merekodkan ke dalam database, maka kebiasaan amalannya ialah, nama dan bersama-sama dengan nombor telefon bimbit dijadikan sebahagian daripada maklumat seseorang Pengguna itu. Ia tidak diasing-asingkan tanpa tujuan yang jelas.
X Logik : Nama Pengguna boleh menentukan No Telefon Bimbit.
Pernyataan ini semakin tidak logik kerana akan mengakibatkan anomali / ketidaknormalan / ketidakkonsistenan merekod maklumat.
Contoh jelas adalah jika ada ramai nama pengguna adalah sama, maka bagaimana hendak menentukan secara unik, tepat satu persatu, dan berbeza bagi nombor telefon bimbit setiap pengguna
Sekadar mencadangkan fikiran logik. Untuk seseorang mendapatkan nombor telefon bimbitnya yang unik dan khusus untuk menghubungi dirinya itu, maka seseorang itu perlu mendaftar kepada Telco.
Nombor Telefon Bimbit menjadi unik bagi setiap orang adalah kerana NOKP yang didaftarkan, bukannya nama seseorang.
Secara logiknya, syarikat Telco tidak mendaftarkan NAMA seseorang sebagai
rujukan pelanggannya untuk mendapatkan nombor telefon bimbit, tetapi mereka
akan menggunakan Nombor Kad Pengenalan sebagai rujukan utama kerana dengan
merujuk NOKP, maka banyak perkara yang boleh diatributkan tentang pengguna
baru syarikat telco itu secara sahih.
Setelah pengguna mendaftar, maka menjadi hal yang mudah untuk telco merujuk NOKP dan no telefon bimbit itu sebagai rujukan bersama atau salah satu daripadanya.
Akan tetapi, dengan tidak kutip data NOKP, dan tak setkan sebarang ID yang khusus, boleh menjadikan kutipan data No Telefon Bimbit (already verified by telco through NOKP actually) penting pula.
Jika dilihat banyak sistem laman web seperti media sosial yang meminta maklumat NoTelefon Bimbit berbanding NOKP seseorang adalah kerana model database sistem tersebut yang menggunapakai No Telefon Bimbit SAHAJA sebagai rujukan tanpa menjadikan NOKP sebagai rujukan utama (kerana data NOKP tak dikutip) dalam merekod maklumat penggunanya.
Maka No Telefon Bimbit menjadi alternatif yang lebih baik bagi menggantikan NOKP yang tak dikutip datanya.
Mencipta QUERY nama, no telefon bimbit dan lain2. Cumanya dalam membuat QUERY SQL terhadap data yang tersimpan dalam database, setiap carian boleh direka bentuk arahan sql yang terperinci untuk mendapatkan hasil query yang spesifik.
Dengan kriteria seperti no telefon yang di query, kita boleh dapatkan
nama.
Dengan kriteria ID, kita boleh dapatkan no telefon dan nama tertentu.
OLEH ITU, dicadangkan,
1) Gunakan NOKP atau IDPengguna sebagai KUNCI PRIMER untuk menentukan atribut biasa seperti nama, alamat, no telefon bimbit dll.
( ID<KP>, nama, alamat, jantina, no telefon bimbit, ... )
2) Gunakan No Telefon Bimbit sebagai KUNCI PRIMER, jika, semasa merekabentuk database, tiada keperluan mengutip data tentang NOKP atau menetapkan sebarang IDPengguna.
( No Telefon Bimbit<KP>, nama, alamat, jantina, ... )
Makanya, dari awal penormalan lagi ada dua PILIHAN tindakan yang perlu dilakukan iaitu sama ada :
1) JADIKAN KP TERUS.
Setkan terus No Telefon Bimbit sebagai KP ( dengan logik set hubungan
yang betul ) atau
2) BIARKAN SEBAGAI ATRIBUT BIASA SAJA.
Jadikan no telefon bimbit sebagai sebahagian dari atribut biasa yang
menerangkan suatu ENTITI seperti Pengguna.
Keperluan merekodkan lebih dari satu nombor telefon bagi seorang pengguna
Pada situasi yang memerlukan sistem menyimpan lebih dari satu nombor telefon bagi seorang pengguna, maka dicadangkan,
1) bina JADUAL BARU khusus untuk simpan nombor telefon sahaja. Jadual ini perlu dihubungkan dengan jadual PENGGUNA melalui KP dan KA.
PENGGUNA ( idpengguna<KP> , nama, ..., id telefon )
TELEFON ( id telefon<KP>, idpengguna<KA> )
Jadual baru yang dibina ini bukanlah atas sebab wujudnya kebergantungan transitif, sebaliknya, jadual ini di pecahkan adalah kerana wujudnya kumpulan data berulang / kumpulan atribut berulang atau data tidak atomik seperti yang berlaku pada 1NF.
Begitulah.
No comments:
Post a Comment
Komen
Note: Only a member of this blog may post a comment.