Anda di halaman 1dari 39

PENORMALAN

1
Penormalan adalah satu proses pengumpulan
atribut-atribut ke dlm hubungan-hubungan
tertentu bagi menghasilkan satu set hubungan
yang mempunyai ciri-ciri yang baik sesuai dengan
kehendak suatu organisasi.
Tujuan penormalan adalah utk mengurangkan
lewahan data dan mengelakkan drp berlakunya
anomali-anomali.
Penormalan berkait rapat dengan konsep kunci
dan kekangan kewibawaan.
Jenis kekangan kewibawaan yang paling penting
ialah kebersandaran fungsian (KF)
2
Terdapat 7 bentuk normal di mana
setiap bentuk normal diisyaratkan
memenuhi ciri-ciri tertentu.
Biasanya bentuk normal yang lebih
tinggi telah memenuhi syarat-syarat
bagi bentuk normal lebih rendah.
Rujuk rajah dalam Buku A.E, ms 195

3
Kebersandaran Fungsian
Perhubungan di antara atribut-atribut dalam
satu hubungan.
Melibatkan perhubungan banyak ke satu
(M:1) dari satu set atribut ke satu set atribut
lain dalam satu hubungan.
Jika A dan B ialah atribut atau set atribut bagi
hubungan H, B adalah bersandar fungsi atas A
(disimbolkan A B) sekiranya setiap nilai A
dalam H adalah dikaitkan dengan hanya satu
nilai B dalam H)
KF boleh ditunjukkan dalam gambarajah di
bawah. 4
A B atau A B

Jika B bersandar fungsi atas A dalam satu


hubungan ABC, ini bermakna bila dua
rangkap mempunyai nilai A yang sama,
nilai B juga mestilah sama.
Tetapi bagi satu nilai B, mungkin terdapat
beberapa nilai A yang tidak sama.
Perhubungan daripada A ke B adalah M:1.

5
Cth
diberi satu skima hubungan STAF-PROJEK

STAF-PROJEK (NoStaf, NoProjek, Peruntukan)

Seorang staf hanya boleh membuat satu projek


tetapi satu projek boleh dikongsi oleh beberapa
orang staf.
Setiap projek diberi satu peruntukan.
NoStaf dan NoProjek adalah unik.

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)

NoStaf NoProjek Peruntukan

7
Kunci dan Kebersandaran Fungsian
Kunci primer ialah satu atribut atau satu set atribut
yang digunakan untuk mengecam secara unik semua
rangkap dalam suatu hubungan.
Semua atribut lain adalah bersandar fungsi atas atribut
kunci primer.
KF dalam STAF-PROJEK boleh disenaraikan seperti
berikut :
NoStaf Projek, NoProjek Peruntukan, NoStaf Peruntukan
Atau secara ringkasnya
NoStaf (NoProjek, Peruntukan), NoProjek Peruntukan

Semua atribut bukan kunci adalah bersandar fungsi


atas kunci primer. 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

Cth masalah lewahan data :


PELGRED (NoPelajar, NamaPel, Major,
UnitBerijazah, KodKursus, NamaKur, Unit,
MataGred)

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

Jadual 1 : Satu Ketikaan Hubungan PELGRED


11
Berdasarkan jadual yang ditunjukkan, maklumat
Azura diulang bagi setiap kursus yang diambil.
Maklumat kursus Sistem Maklumat diulang bagi
setiap pelajar yang mengambilnya.
Pembaziran ruang storan bagi jadual asas dan
mendedahkannya kepada keadaan
ketakselarasan data.
Anomali Kemaskinian :
1. Anomali Sisipan
2. Anomali Hapusan
3. Anomali Ubahsuaian.

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
2. Anomali hapusan
Keadaan di mana apabila satu rangkap
dihapuskan daripada suatu hubungan,
terjadi kehilangan maklumat yang masih
diperlukan.
Cth apabila rangkap pelajar L4213
dihapuskan, maklumat mengenai kursus
KP222 juga terhapus. Maklumat ini
mungkin diperlukan utk disimpan di dalam
jadual kerana inilah satu-satunya rangkap
yang wujud mengenai kursus ini.
14
3. Anomali Ubahsuaian
Keadaan di mana apabila satu nilai atribut perlu
diubahsuai, lebih daripada satu rangkap terlibat
disebabkan wujud pengulangan data.
Cth jika syarat utk unit berijazah bagi major
Sistem Maklumat ditukarkan drp 125 kpd 130,
nilai berkeadaan perlu diubah suai bagi semua
rangkap pelajar major Sistem
Maklumat.Sekiranya pengubahsuaian tidak
dilakukan terhadap semua rangkap, kemungkinan
akan berlaku ketakselarasan data dalam jadual
berkenaan.
15
Penghuraian dan Penormalan
Penghuraian adalah proses memecahkan suatu
hubungan kepada hubungan-hubungan yang lebih
kecil.
Penormalan adalah proses menghuraikan hubungan-
hubungan yang bermasalah mengikut panduan atau
ciri-ciri tertentu.
Penormalan dilaksanakan langkah demi langkah,
iaitu dari satu bentuk normal ke satu bentuk normal
yang lebih tinggi.
Setiap bentuk normal mempunyai syarat-syarat
kelayakan tertentu yang mesti dilepasi sebelum
hubungan itu diuji untuk bentuk normal yang lebih
tinggi.
16
Bentuk Normal Pertama (1NF)
Hubungan tak ternormal ialah satu jadual yang
mengandungi satu atau lebih kumpulan berulang.
Kumpulan berulang ialah wujudnya nilai atribut yang
tidak atomik dalam satu-satu rangkap.
Hubungan ternormal adalah semua hubungan yang
berada di dalam salah satu daripada 7 bentuk normal.
Suatu hubungan dikatakan dalam bentuk normal
pertama sekiranya setiap atribut dalam setiap rangkap
adalah terdiri daripada satu nilai atomik.

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

Jadual 2 : Jadual Tak Ternormal

Masalah : Satu kemasukan NoPelajar P1050 sepadan dengan lebih


satu masukan KodKursus.

Atasi : Hubungan Ternormal boleh diperolehi dengan ulang rangkap


bagi pelajar P1050 seperti dalam Jadual Ternormal.
18
NoPelajar NamaPel Major UnitBerijazah KodKursus NamaKur Unit MataGred
P1050 Azura SK 118 SK001 Peng 2 2.5
Sistem
P1050 Azura SK 118 SK002 Sistem 4 3.0
Komputer
L2115 Chong SM 125 SM001 Sistem 4 3.0
Maklumat

Jadual 3 : Jadual Ternormal

19
Terdapat 2 pendekatan untuk menukarkan satu jadual
tak ternormal kepada satu jadual atau hubungan dalam
bentuk normal pertama.

1. Buang kumpulan berulang dengan menyisip semula


data-data yang tidak berulang ke dalam lajur-lajur
yang berkenaan bagi setiap baris rangkap nilai
berulang.
2. Camkan satu kunci primer bagi jadual tak
ternormal. Keluarkan bhg kumpulan berulang dan
salin ke dlm satu jadual baru bersama-sama kunci
primer. Kemudian camkan kunci primer bagi kedua-
dua hubungan.
20
Penghuraian Kepada 1NF
Jadual Ternormal boleh dihuraikan kepada dua
jadual iaitu jadual PELAJAR dan KURSUS.
Kunci primer bagi jadual asal yang tak ternormal
ialah NoPelajar dan KodKursus.
Ia akan diteruskan menjadi kunci primer bagi
jadual yang baru dihasilkan.
Kunci primer bagi jadual PELAJAR adalah
NoPelajar.

21
NoPelajar NamaPel Major UnitBerijazah
P1050 Azura Sains 118
Komputer
L2115 Chong Sistem 125
Maklumat

PELAJAR ( NoPelajar, NamaPel, Major, UnitBerijazah)


NoPelajar KodKursus NamaKur Unit MataGred
P1050 SK001 Penghantar Sistem 2 2.5

P1050 SK002 Sistem Komputer 4 3.0

L2115 SM100 Sistem Maklumat 4 3.0

KURSUS (NoPelajar, KodKursus, NamaKur, Unit, MataGred)

Jadual 4: Penghuraian Jadual kepada 1NF 22


Bentuk Normal Kedua (2NF)
Bergantung kepada konsep kebersandaran
fungsian penuh.

Kebersandaran Fungsian Penuh


Sekiranya A dan B adalah atribut-atribut bagi
hubungan H, B dikatakan bersandar fungsi
penuh atas A sekiranya B adalah bersandar
fungsi atas A tetapi tidak bersandar fungsi
atas mana-mana subset proper bagi A.
23
NamaPel
NoPelajar
Major

MataGred UnitBerijazah

NamaKur
KodKursus
Unit

Rajah 1 : KF bagi Hubungan PELGRED

24
Daripada gambarajah, hubungan berikut dpt ditunjuk
NoPelajar (NamaPel, Major, UnitBerijazah)
KodKursus (NamaKur, Unit)
Major UnitBerijazah
(NoPelajar, KodKursus) MataGred

Dari sudut pandangan kebersandaran fungsian,


masalah berpunca drp kunci primer iaitu NoPelajar,
KodKursus.
Kombinasi (NoPelajar, KodKursus) dapat
mengecam setiap rangkap dalam hubungan
PELGRED secara unik.
25
Sambungan
MataGred bersandar fungsi atas keseluruhan kunci
primer, manakala atribut lain bersandar fungsi atas
hanya sebahagian drp kunci primer, iaitu sama ada
atas NoPelajar atau KodKursus.
Keadaan ini dikenali sebagai kebersandaran
fungsian separa.
Inilah punca masalah sebenar hubungan PELGRED.
MataGred dikatakan bersandar fungsi penuh atas
kunci primer manakala atribut lain bersandar
fungsi separa atas kunci primer.

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:

GRED(NoPelajar, KodKursus, MataGred)


PELAJAR (NoPelajar, NamaPel, Major,
UnitBerijazah)
KURSUS (KodKursus, NamaKur, Unit)

Tiada lagi wujud kebersandaran separa, semua


atribut bukan kunci primer bersandar penuh atas
kunci primer.

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
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 5 : Contoh Ketikaan Bagi Hubungan Dalam 2 NF
30
Bentuk Normal Ketiga (3NF)
Takrifan 3NF : Suatu hubungan adalah dalam 3NF
sekiranya ia berada dalam 2NF dan tiada atribut
bukan kunci primer bersandar transitif atas kunci
primer.
Kebersandaran transitif berlaku apabila wujud
sekurang-kurangnya tiga atribut, A, B dan C dalam
satu hubungan hinggakan jika C bersandar fungsi
atas B dan B bersandar fungsi atas A maka C
bersandar fungsi atas A secara transitif melalui B;
dengan syarat A tidak bersandar fungsi atas B atau
C.

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

Rajah KF di atas menunjukkan hubungan pelajar.


UnitBerijazah bersandar transitif atas kunci primer
iaitu NoPelajar.
Mengikut panduan, hubungan PELAJAR harus
dihuraikan bagi menghilangkan kebersandaran
transitif.

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
KURSUS
PELGRED

PELAJAR_MAJOR
PELAJAR

UNIT_MAJOR
Singkirkan Singkirkan
Kebersandaran penuh Kebersandaran transitif
Rajah 2 : Penghuraian Hubungan PELGRED kepada 3NF
37
Penormalan dan
Rekabentuk Pangkalan Data
Penormalan merupakan sebahagian daripada proses
rekabentuk sistem pangkalan data.
Melalui proses penghuraian, penormalan dapat
menghasilkan hubungan yang berstruktur sempurna.
Rekabentuk pangkalan data dikatakan berada di dalam satu
bentuk normal, N sekiranya semua skima hubungan yang
dikandunginya berada dalam bentuk normal N.
Proses penormalan memberi tumpuan kepada ciri-ciri
sesuatu entiti dalam model E-R.
Penormalan menghasilkan entiti, atribut atau hubungan
yang baru.
Oleh sebab itu, pemodelan E-R dan penormalan tidak dapat
dipisahkan.
38
TERIMA KASIH

39

Anda mungkin juga menyukai