Per No Malan
Per No Malan
1
2
3
4
A B atau A B
5
Cth
diberi satu skima hubungan STAF-PROJEK
6
NoProjek bersandar fungsi atas NoStaf
tetapi sebaliknya tidak benar, iaitu NoStaf
tidak bersandar fungsi atas NoProjek.
Peruntukan bersandar fungsi atas NoProjek
(sebenarnya bersandar fungsi atas NoStaf)
7
8
Atribut NoProjek menentukan secara fungsian
atribut Peruntukan tetapi ia bukan kunci primer
kerana NoStaf tidak bersandar fungsi di atasnya.
NoProjek dikenali sebagai atribut penentu.
Atribut penentu menentukan secara fungsian satu
atau lebih atribut lain tetapi ia tidak semestinya
satu kunci primer.
KF yang diperbincangkan di dalam topik ini adalah
KF yang tidak ‘trivial’.
Suatu KF adalah ‘trivial’ sekiranya atribut di
sebelah kanan anak panah adalah satu set subset
(tidak semestinya subset ‘proper’) bagi atribut di
sebelah kiri.
9
Masalah lewahan dalam hubungan
Pengulangan atau lewahan data
Anomali kemaskinian
10
NoPelajar NamaPel Major Unit Kod NamaKur Unit Mata
Berijazah Kursus Gred
P1050 Azura Sains 118 SK001 Penghantar 2 2.5
Komputer Sistem
P1050 Azura Sains 118 SK002 Sistem 4 3.0
Komputer Komputer
L2115 Chong Sistem 125 SM100 Sistem 4 3.0
Maklumat Maklumat
L4213 Karim Kejuruteraan 130 KP222 C++ 4 3.0
Perisian
P2020 Zarina Sistem 125 SM100 Sistem 4 3.5
Maklumat Maklumat
P4000 Ann Sistem 125 SM100 Sistem 4 2.0
Maklumat Maklumat
12
1. Anomali Sisipan
Keadaan yang tidak diingini, kejanggalan atau
masalah yang dihadapi semasa cuba menyisip satu
rangkap baru ke dalam jadual yang tidak
mempunyai struktur yang sempurna.
Berlaku dalam dua keadaan :
a) Menyisip rekod baru yang sebahagian maklumat
mengenainya telah wujud dalam jadual.
b) Menyisip rangkap baru yang sebahagian
maklumat belum wujud dalam jadual, mungkin
tidak dapat menyisipnya langsung.
13
14
15
16
17
NoPelajar NamaPel Major UnitBerijazah KodKursus NamaKur Unit MataGred
P1050 Azura SK 118 SK001 Peng 2 2.5
Sistem
SK002 Sistem 4 3.0
Komputer
L2115 Chong SM 125 SM001 Sistem 4 3.0
Maklumat
19
Terdapat 2 pendekatan untuk menukarkan satu jadual
tak ternormal kepada satu jadual atau hubungan dalam
bentuk normal pertama.
21
NoPelajar NamaPel Major UnitBerijazah
P1050 Azura Sains 118
Komputer
L2115 Chong Sistem 125
Maklumat
MataGred UnitBerijazah
NamaKur
KodKursus
Unit
24
Daripada gambarajah, hubungan berikut dpt ditunjuk
NoPelajar (NamaPel, Major, UnitBerijazah)
KodKursus (NamaKur, Unit)
Major UnitBerijazah
(NoPelajar, KodKursus) MataGred
26
Takrif 2NF
Suatu hubungan adalah dalam 2NF
sekiranya ia berada dalam 1NF dan semua
atribut bukan kunci primer bersandar penuh
atas kunci primer.
Syarat bentuk normal kedua hanya perlu
diuji ke atas hubungan yang kunci
primernya ialah kunci rencam.
Suatu hubungan ternormal yang
mempunyai kunci primer tunggal adalah
secara automatik berada dalam 2NF.
27
Penghuraian Kepada 2NF
Hubungan PELGRED perlu dihuraikan
supaya tiada kebersandaran fungsian separa
dan sekaligus menukar kepada 2NF.
MataGred bersandar penuh atas kunci
primer.
(NamaPel, Major, UnitBerijazah) bersandar
fungsi separa atas kunci NoPelajar
(NamaKur, Unit) bersandar separa atas
kunci KodKursus.
28
Huraikan PELGRED kepada tiga hubungan seperti
berikut:
29
KURSUS GRED
KodKursus NamaKur Unit NoPelajar KodKursus MataGred
SK001 Penghantar Sistem 2 P1050 SK001 2.5
SK002 Sistem Komputer 4 P1050 SK002 3.0
SM100 Sistem Maklumat 4
L4213 KP222 3.0
KP222 C++ 4
P2020 SM100 3.0
PELAJAR
31
Hubungan 2NF boleh ditukar kepada 3NF dengan
menghuraikannya kepada hubungan-hubungan baru supaya
kebersandaran transitif tidak wujud lagi.
Panduan:
1. Kenalpasti kebersandaran transitif dan camkan penentu
yang bukan kunci primer.
2. Kumpulkan atribut yang bersandar transitif bersama satu
salinan penentunya ke dalam satu hubungan baru.Atribut
yang tinggal dikumpulkan sebagai satu hubungan baru.
3. Bagi satu hubungan H dengan atribut A, B dan C di mana
A B dan B C, maka huraikan H kepada H1 dan H2
dengan skima :
H1 (A, B)
H2 (B, C)
32
PELAJAR
NoPelajar NamaPel Major UnitBerijazah
P1050 Azura Sains Komputer 118
L2115 Chong Sistem Maklumat 125
L4213 Karim Kejuruteraan Perisian 130
P2020 Zarina Sistem Maklumat 125
P4000 Ann Sistem Maklumat 125
Jadual 6 : Jadual PELAJAR
Penghuraian Kepada 3NF
Berdasarkan Jadual Pelajar di atas, ia masih mengalami
anomali kemaskinian (sisipan, hapusan & ubahsuai
disebabkan kewujudan kebersandaran transitif.
33
NoPelajar Major
NamaPel UnitBerijazah
34
Kumpulkan atribut yang bersandar transitif iaitu
UnitBerijazah bersama satu salinan penentunya, iaitu
Major ke dalam hubungan baru UNIT_MAJOR dan
letakkan atribut-atribut yang lain iaitu NoPelajar,
NamaPel dan Major di dalam satu hubungan lain,
PELAJAR_MAJOR.
Hubungan PELAJAR boleh dihuraikan kepada 2
hubungan baru iaitu:
UNIT_MAJOR (Major, UnitBerijazah)
PELAJAR_MAJOR (NoPelajar, NamaPel, Major)
Kedua-dua hubungan berada di dalam 3NF kerana
tidak wujud kebersandaran separa dan kebersandaran
transitif atas kunci primer.
35
Sebagai rumusan kepada proses penormalan terhadap
hubungan PELGRED, penghuraian-penghuraian yang
telah dilakukan terhadap hubungan asal dalam 1NF
kepada hubungan 3NF dalam Rajah 2.
Skima hubungan (dalam 3NF) hasil drp penghuraian
hubungan PELGRED dikumpulkan semula .
PELAJAR_MAJOR (NoPelajar, NamaPel, Major)
KURSUS (KodKursus, NamaKur, Unit)
UNIT_MAJOR (Major, UnitBerijazah)
GRED (NoPelajar, KodKursus, MataGred)
36
1NF 2NF 3NF
GRED GRED
KURSUS
PELGRED KURSUS
PELAJAR_MAJOR
PELAJAR
UNIT_MAJOR
Singkirkan Singkirkan
Kebersandaran penuh Kebersandaran transitif
Rajah 2 : Penghuraian Hubungan PELGRED kepada 3NF
37
Penormalan dan
Rekabentuk Pangkalan Data
38
TERIMA KASIH
39