You are on page 1of 25

1NF KEPADA 2NF

NOTA 2
KAJIAN KES : RUMAH IDAMAN
Borang maklumat penyewa Rumah Idaman yang
ditunjukkan dalam jadual mengandungi
maklumat tentang rumah yang disewa oleh
penyewa, iaitu Johan Karim. Untuk
memudahkan contoh ini, anggapkan bahawa
penyewa hanya boleh membuat penyewaan
rumah yang dinyatakan sekali sahaja dan tidak
boleh membuat beberapa penyewaan rumah
dalam satu masa.
Borang maklumat penyewa
Rumah Idaman
Rumah Idaman Tarikh : 31/10/2011
MAKLUMAT PENYEWA
Nombor Penyewa :
CR76
Nama Penyewa : Johan Karim
NoRumah Alamat Mula Tamat Harga No Nama Pemilik
Rumah Sewa Sewa Sewa Pemilik
PG04 Subang 1/7/93 31/8/00 750 C040 Karim Fendi
Jaya,
Selangor
PG16 Pasir 1/9/00 1/9/01 850 C093 Kasim Selamat
Gudang
Borang maklumat penyewa
Rumah Idaman

Rumah Idaman Tarikh : 31/10/2011


MAKLUMAT PENYEWA
Nombor Penyewa :
CR56
Nama Penyewa : Aru Khan
NoRumah Alamat Mula Tamat Harga No Nama Pemilik
Rumah Sewa Sewa Sewa Pemilik
PG04 Subang 20/3/90 19/6/93 750 C040 Karim Fendi
Jaya,
Selangor
PG36 Ampang, 21/6/93 23/1/00 1000 C093 Kasim Selamat
Selangor
PG16 Pasir 25/1/00 30/8/00 850 C093 Kasim Selamat
Gudang,
Johor
HUBUNGAN TAK NORMAL
(HTN)/(UNF)
Maklumat bagi dua penyewa, Johan Karim dan
Aru Khan akan dipindahkan dari borang
maklumat Penyewa ke dalam format jadual yang
mempunyai lajur dan baris.
Hubungan HTN Penyewa_Sewa
No Nama No Alamat Mula Tamat Harga No Nama
Penyewa Penyewa Rumah Rumah Sewa Sewa Sewa Pemilik Pemilik
CR76 Johan PG04 Subang 1/7/93 31/8/00 750 C040 Karim
Karim Jaya, Fendi
Selangor
PG16 Pasir 1/9/00 1/9/01 850 C093 Kasim
Gudang, Selamat
Johor
CR56 Aru PG04 Subang 20/3/90 19/6/93 750 C040 Karim
Khan Jaya, Fendi
Selangor
PG36 Ampang, 21/6/93 23/1/00 1000 C093 Kasim
Selangor Selamat
PG16 Pasir 25/1/00 30/8/00 850 C093 Kasim
Gudang, Selamat
Johor
Pada jadual HTN, kekunci calon bagi hubungan
Penyewa_Sewa ialah NoPenyewa.
Kemudian kenalpasti kumpulan yang berulang,
iaitu kumpulan berulang bagi setiap penyewa.
Struktur bagi kumpulan yang berulang ialah :

Kumpulan yang berulang =


(NoRumah,AlamatRumah,MulaSewa,TamatSew
a,HargaSewa,NoPemilik,NamaPemilik)
Kesan yang boleh dilihat adalah terdapatnya
masukan yang berganda bagi sesetengah baris
dan lajur. Sebagai contoh, terdapat dua masukan
No_Rumah(PG04 dan PG16) bagi No_Penyewa
CR76.
Untuk menukarkan HTN kepada 1NF, hendaklah
dipastikan bahawa hanya terdapat satu masukan
pada silangan bagi setiap baris dan lajur.
Penyewa_Sewa=
(NoPenyewa,NoRumah,NamaPenyewa,
AlamatPenyewa,MulaSewa,TamatSewa,
HargaSewa,NoPemilik,NamaPemilik)
1 NF
Penyewa_Sewa
No Nama No Alamat Mula Tamat Harga No Nama
Penyewa Penyewa Rumah Rumah Sewa Sewa Sewa Pemilik Pemilik
CR76 Johan PG04 Subang 1/7/93 31/8/00 750 C040 Karim
Karim Jaya, Fendi
Selangor
CR76 Johan PG16 Pasir 1/9/00 1/9/01 850 C093 Kasim
Karim Gudang, Selamat
Johor
CR56 Aru PG04 Subang 20/3/90 19/6/93 750 C040 Karim
Khan Jaya, Fendi
Selangor
CR56 Aru PG36 Ampang, 21/6/93 23/1/00 1000 C093 Kasim
Khan Selangor Selamat
CR56 Aru PG16 Pasir 25/1/00 30/8/00 850 C093 Kasim
Khan Gudang, Selamat
Johor
BENTUK NORMAL KEDUA – 2NF
Hubungan 1NF mungkin masih lagi mengalami
masalah kejanggalan kemaskini (seperti
hubungan Penyewa_Sewa). Dari segi logiknya,
masalah ini dihadapi oleh hubungan
Penyewa_Sewa disebabkan wujudnya beberapa
“tema” yang tidak berkaitan antara satu dengan
yang lain.
Tema yang dimaksudkan di sini ialah ciri-ciri
kepunyaan bagi penyewa, rumah sewa dan juga
pemilik rumah sewa.
Oleh yang demikian, perlu dilakukan proses
penormalan yang selanjutnya, iaitu 2NF.
2NF adalah berdasarkan kepada konsep
kebersandaran fungsi penuh.
Ringkasan 2NF

1. Satu hubungan dalam 1NF


2. Semua atribut bukan kekunci utama adalah
bersandar secara fungsi sepenuhnya kepada
kekunci utama.
3. Biasanya menggunakan hubungan dengan
kekunci komposit, iaitu kekunci utama yang
terdiri daripada 2 atau lebih atribut.
4. Hubungan yang tidak berada dalam 2NF
berkemungkinan terlibat dengan update
anomaly.
5. Penormalan 1NF ke 2NF sebabkan
penghindaran daripada kebersandaran
fungsian separa berlaku. (tidak boleh separa,
mesti penuh)
6. Jika kebersandaran separa terjadi, atribut
dalam kebersandaran fungsi perlu dipindahkan
daripada hubungan tersebut kepada hubungan
baru dengan menyalin kembali bersama-sama
dengan penentu.
Kes Contoh 2
Rajah menunjukkan kebersandaran fungsi bagi
Penyewa_Sewa dengan (NoPenyewa,NoRumah)
sebagai kekunci utama
Kf1 : NoPenyewa,NoRumah 
NamaPenyewa,AlamatRumah,MulaSewa,
TamatSewa,HargaSewa,NoPemilik,NamaPemilik
(kekunci utama)

Kf2 : NoPenyewa  NamaPenyewa


(kebersandaran separa)

Kf3 : NoRumah 
AlamatRumah,HargaSewa,NoPemilik,NamaPemilik
(kebersandaran separa)
Kf4 : NoPemilik  NamaPemilik
(kebersandaran transitif)

Kf5 : NoPenyewa, MulaSewa 


NoRumah,AlamatRumah,TamatSewa,hargaSewa,
NoPemilik,NamaPemilik
(kekunci calon)

Kf6 : NoRumah,MulaSewa 
NoPenyewa,NamaPenyewa,TamatSewa
(kekunci calon)
No No Nama Alamat Mula Tamat Harga No Nama
Penyewa Rumah Penyewa Rumah Sewa Sewa Sewa Pemilik Pemilik

Kf1

Kf2

Kf3

Kf4

Kf5

Kf6

Kebersandaran fungsi dalam hubungan Penyewa_Sewa


• Sila periksa sama ada hubungan Penyewa_Sewa
berada dalam 2NF atau tidak.
• Pertama, anda telah sedia maklum bahawa
hubungan Penyewa_Sewa adalam dalam 1NF.
• Kemudian anda perlu selidiki pula kekunci
utamanya. Di sini kekunci utama terdiri daripada
gabungan atribut (NoPenyewa,NoRumah) iaitu
kekunci komposit (Kf1)
• Apabila diperiksa kesemua atribut kebersandaran
fungsi dalam Penyewa_Sewa, didapati bahawa
semua atribut bukan kekunci adalah bersandar
secara separa ke atas kekunci utama (Kf2 dan
Kf3)
• Hanya atribut MulaSewa dan TamatSewa sahaja
yang bersandar secara fungsi penuh kepada
(NoPenyewa,NoRumah).
• Daripada takrifan 2NF, dapat disimpulkan
bahawa hubungan Penyewa_Sewa bukan berada
dalam 2NF.
• Untuk menukarkan hubungan Penyewa_Sewa
kepada 2NF, anda perlu membuat hubungan
baru, maka atribut bukan kekunci utama akan
dipindahkan bersama-sama dengan salinan
komponen kekunci utama.
• Hasil daripada hubungan baru tersebuut, maka
wujudlah tiga hubungan, iaitu Penyewa, Sewa
dan Pemilik_Rumah seperti dalam jadual.
• Hubungan baru ini adalah dalam 2NF yang mana
setiap atribut bukan kekunci utama adalah
bersandar secara fungsi penuh kepada kekunci
utama.
• Hubungan tersebut boleh ditunjukkan seperti
berikut :
Penyewa(NoPenyewa,NamaPenyewa)
Sewa(NoPenyewa,NoRumah,MulaSewa,TamatSewa)
Pemilik_Rumah(NoRumah,AlamatRumah,HargaSewa,
NoPemilik,NamaPemilik)
Penyewa
NoPenyewa Nama Penyewa
CR76 Johan Karim
CR56 Aru Khan
Sewa
NoPenyewa No Rumah Mula Sewa Tamat Sewa
CR76 PG04 1/7/93 31/8/00
CR76 PG16 1/9/00 1/9/01
CR56 PG04 20/3/90 19/6/93
CR56 PG36 21/6/93 23/1/00
CR56 PG16 25/1/00 30/8/00
Pemilik_Rumah
No Rumah Alamat Rumah Harga Sewa No Pemilik Nama Pemilik
PG04 Subang Jaya, 750 C040 Karim Fendi
Selangor
PG16 Pasir Gudang, 850 C093 Kasim
Johor Selamat
PG36 Ampang, 1000 C093 Kasim
Selangor Selamat
Daripada contoh yang telah dibincangkan, berikut
ialah garis panduan yang perlu diikuti sebelum
melaksanakan 2NF;
1. Senaraikan semua Kf dalam hubungan R
2. Kenalpasti kekunci utama bagi R dan subset bagi
kekunci utama jika ada.
3. Kumpulkan semua atribut yang bersandar secara
fungsi penuh ke atas kekunci utama dalam satu
hubungan baru, katakan R1.
4. Kumpulkan semua atribut yang bersandar secara
fungsi separa ke atas kekunci utama dalam satu
hubungan baru,katakan R2 bersama-sama salinan
atribut subset kekunci utama yang bersandar secara
fungsi ke atasnya.

You might also like