Page 1

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 Berijazah

Kod Kursus

NamaKur

Unit Mata Gred

P1050

Azura

Sains Komputer

118

SK001

Penghantar Sistem

2

2.5

P1050

Azura

Sains Komputer

118

SK002

Sistem Komputer

4

3.0

L2115

Chong

Sistem Maklumat

125

SM100

Sistem Maklumat

4

3.0

L4213

Karim

Kejuruteraan Perisian

130

KP222

C++

4

3.0

P2020

Zarina

Sistem Maklumat

125

SM100

Sistem Maklumat

4

3.5

P4000

Ann

Sistem Maklumat

125

SM100

Sistem Maklumat

4

2.0

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

SK001

Peng Sistem

2

2.5

SK002

Sistem 4 Komputer

3.0

SM001

Sistem 4 Maklumat

3.0

L2115

Chong

SM

118

125

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 Sistem

2

2.5

P1050

Azura

SK

118

SK002

Sistem 4 Komputer

3.0

L2115

Chong

SM

125

SM001

Sistem 4 Maklumat

3.0

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 keduadua 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 Komputer

118

L2115

Chong

Sistem Maklumat

125

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 KodKursus

NamaKur 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

NamaPel   

Major

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

PELGRED

KURSUS

GRED

KURSUS

PELAJAR_MAJOR PELAJAR UNIT_MAJOR

Singkirkan Kebersandaran penuh

Singkirkan 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

Normalisasi  

Penormalan Pangkalan Data

Read more
Read more
Similar to
Popular now
Just for you