db normalisasi
TRANSCRIPT
-
8/16/2019 DB Normalisasi
1/39
1
PENORMALAN
-
8/16/2019 DB Normalisasi
2/39
2
Penormalan adalah satu proses pengumpulan
atribut-atribut ke dlm hubungan-hubungantertentu bagi menghasilkan satu set hubungan
yang mempunyai ciri-ciri yang baik sesuai dengan
kehendak suatu organisasi
!u"uan penormalan adalah utk mengurangkan
le#ahan data dan mengelakkan drp berlakunya
anomali-anomali
Penormalan berkait rapat dengan konsep kuncidan kekangan ke#iba#aan
$enis kekangan ke#iba#aan yang paling penting
ialah kebersandaran %ungsian &'()
-
8/16/2019 DB Normalisasi
3/39
-
8/16/2019 DB Normalisasi
4/39
0
Kebersandaran Fungsian
Perhubungan di antara atribut-atribut dalamsatu hubungan
Melibatkan perhubungan banyak ke satu&M1) dari satu set atribut ke satu set atribut
lain dalam satu hubungan $ika A dan , ialah atribut atau set atribut bagi
hubungan , adalah bersandar %ungsi atas A
&disimbolkan A
,) sekiranya setiap nilai Adalam adalah dikaitkan dengan hanya satunilai , dalam )
'( boleh ditun"ukkan dalam gambara"ah di ba#ah
-
8/16/2019 DB Normalisasi
5/39
/
$ika , bersandar %ungsi atas A dalam satu
hubungan A,3 ini bermakna bila duarangkap mempunyai nilai A yang samanilai , "uga mestilah sama
!etapi bagi satu nilai , mungkin terdapat
beberapa nilai A yang tidak sama Perhubungan daripada A ke , adalah M1
A , A ,atau
-
8/16/2019 DB Normalisasi
6/39
4
3th
diberi satu skima hubungan 5!A(-PRO$E'
STAF-PROJEK (NoStaf, NoProje, Peruntuan!
5eorang sta% hanya boleh membuat satu pro"ek
tetapi satu pro"ek boleh dikongsi oleh beberapa
orang sta%
5etiap pro"ek diberi satu peruntukan No5ta% dan NoPro"ek adalah unik
-
8/16/2019 DB Normalisasi
7/39 +
NoPro"ek bersandar %ungsi atas No5ta%tetapi sebaliknya tidak benar iaitu No5ta%
tidak bersandar %ungsi atas NoPro"ek
Peruntukan bersandar %ungsi atas NoPro"ek&sebenarnya bersandar %ungsi atas No5ta%)
No5ta% NoPro"ek Peruntukan
-
8/16/2019 DB Normalisasi
8/39 6
Kun"i dan Kebersandaran Fungsian
'unci primer ialah satu atribut atau satu set atribut
yang digunakan untuk mengecam secara unik semuarangkap dalam suatu hubungan
5emua atribut lain adalah bersandar %ungsi atas atribut
kunci primer
'( dalam 5!A(-PRO$E' boleh disenaraikan seperti
berikut
No5ta% Pro"ek NoPro"ek Peruntukan No5ta% Peruntukan
Atau secara ringkasnya No5ta% &NoPro"ek Peruntukan) NoPro"ek Peruntukan
5emua atribut bukan kunci adalah bersandar %ungsi
atas kunci primer
-
8/16/2019 DB Normalisasi
9/39 .
Atribut NoPro"ek menentukan secara %ungsian
atribut Peruntukan tetapi ia bukan kunci primerkerana No5ta% tidak bersandar %ungsi di atasnya
NoPro"ek dikenali sebagai atribut penentu
Atribut penentu menentukan secara %ungsian satu
atau lebih atribut lain tetapi ia tidak semestinyasatu kunci primer
'( yang diperbincangkan di dalam topik ini adalah'( yang tidak 7tri8ial9
5uatu '( adalah 7tri8ial9 sekiranya atribut disebelah kanan anak panah adalah satu set subset&tidak semestinya subset 7proper9) bagi atribut disebelah kiri
-
8/16/2019 DB Normalisasi
10/39 1:
#asala$ le%a$an dalam $ubungan
Pengulangan atau le#ahan data
Anomali kemaskinian
&t$ masala$ le%a$an data '
PEL;RE< &NoPela"ar NamaPel Ma"or
=nit,eri"a>ah 'od'ursus Nama'ur =nit
Mata;red)
-
8/16/2019 DB Normalisasi
11/39 11
NoPela"ar NamaPel Ma"or =nit
,eri"a>ah
'od
'ursus
Nama'ur =nit Mata
;red
P1:/: A>ura 5ains
'omputer
116 5'::1 Penghantar
5istem
2 2/
P1:/: A>ura 5ains
'omputer
116 5'::2 5istem'omputer
0 *:
L211/ 3hong 5istemMaklumat
12/ 5M1:: 5istemMaklumat
0 *:
L021* 'arim 'e"uruteraanPerisian
1*: 'P222 3?? 0 *:
P2:2: @arina 5istem
Maklumat
12/ 5M1:: 5istem
Maklumat
0 */
P0::: Ann 5istemMaklumat
12/ 5M1:: 5istemMaklumat
0 2:
Jadual ' Satu Ketiaan )ubungan PE*+RE
-
8/16/2019 DB Normalisasi
12/39 12
,erdasarkan "adual yang ditun"ukkan maklumat
A>ura diulang bagi setiap kursus yang diambil Maklumat kursus 5istem Maklumat diulang bagi
setiap pela"ar yang mengambilnya
Pemba>iran ruang storan bagi "adual asas dan
mendedahkannya kepada keadaan
ketakselarasan data
Anomali 'emaskinian
1 Anomali 5isipan2 Anomali apusan
* Anomali =bahsuaian
-
8/16/2019 DB Normalisasi
13/39 1*
Anomali Sisi.an
'eadaan yang tidak diingini ke"anggalan atau
masalah yang dihadapi semasa cuba menyisip satu
rangkap baru ke dalam "adual yang tidak
mempunyai struktur yang sempurna ,erlaku dalam dua keadaan
a) Menyisip rekod baru yang sebahagian maklumat
mengenainya telah #u"ud dalam "adual
b) Menyisip rangkap baru yang sebahagian
maklumat belum #u"ud dalam "adual mungkin
tidak dapat menyisipnya langsung
-
8/16/2019 DB Normalisasi
14/39 10
/ Anomali $a.usan
'eadaan di mana apabila satu rangkapdihapuskan daripada suatu hubungan
ter"adi kehilangan maklumat yang masih
diperlukan 3th apabila rangkap pela"ar L021*
dihapuskan maklumat mengenai kursus
'P222 "uga terhapus Maklumat inimungkin diperlukan utk disimpan di dalam
"adual kerana inilah satu-satunya rangkap
yang #u"ud mengenai kursus ini
-
8/16/2019 DB Normalisasi
15/39
-
8/16/2019 DB Normalisasi
16/39 14
Peng$uraian dan Penormalan
Penghuraian adalah proses memecahkan suatuhubungan kepada hubungan-hubungan yang lebihkecil
Penormalan adalah proses menghuraikan hubungan-
hubungan yang bermasalah mengikut panduan atauciri-ciri tertentu
Penormalan dilaksanakan langkah demi langkahiaitu dari satu bentuk normal ke satu bentuk normal
yang lebih tinggi 5etiap bentuk normal mempunyai syarat-syarat
kelayakan tertentu yang mesti dilepasi sebelumhubungan itu diu"i untuk bentuk normal yang lebih
tinggi
-
8/16/2019 DB Normalisasi
17/39 1+
2entu Normal Pertama (NF!
ubungan tak ternormal ialah satu "adual yangmengandungi satu atau lebih kumpulan berulang
Kumpulan berulang ialah #u"udnya nilai atribut yang
tidak atomik dalam satu-satu rangkap
ubungan ternormal adalah semua hubungan yang
berada di dalam salah satu daripada + bentuk normal
5uatu hubungan dikatakan dalam bentuk normal
pertama sekiranya setiap atribut dalam setiap rangkapadalah terdiri daripada satu nilai atomik
-
8/16/2019 DB Normalisasi
18/39 16
NoPela"ar NamaPel Ma"or =nit,eri"a>ah 'od'ursus Nama'ur =nit Mata;red
P1:/: A>ura 5' 116 5'::1 Peng
5istem
2 2/
5'::2 5istem
'omputer
0 *:
L211/ 3hong 5M 12/ 5M::1 5istem
Maklumat
0 *:
Masalah 5atu kemasukan NoPela"ar P1:/: sepadan dengan lebih
satu masukan 'od'ursus
Atasi ubungan !ernormal boleh diperolehi dengan ulang rangkap
bagi pela"ar P1:/: seperti dalam $adual !ernormal
Jadual / ' Jadual Ta Ternormal
-
8/16/2019 DB Normalisasi
19/39 1.
NoPela"ar NamaPel Ma"or =nit,eri"a>ah 'od'ursus Nama'ur =nit Mata;red
P1:/: A>ura 5' 116 5'::1 Peng
5istem
2 2/
P343 A5ura SK 6 5'::2 5istem
'omputer
0 *:
L211/ 3hong 5M 12/ 5M::1 5istem
Maklumat
0 *:
Jadual 0 ' Jadual Ternormal
-
8/16/2019 DB Normalisasi
20/39 2:
!erdapat / .endeatan untuk menukarkan satu "adual
tak ternormal kepada satu "adual atau hubungan dalam bentuk normal pertama
1 ,uang kumpulan berulang dengan menyisip semuladata-data yang tidak berulang ke dalam la"ur-la"uryang berkenaan bagi setiap baris rangkap nilai
berulang
2 3amkan satu kunci primer bagi "adual takternormal 'eluarkan bhg kumpulan berulang dansalin ke dlm satu "adual baru bersama-sama kunci
primer 'emudian camkan kunci primer bagi kedua-dua hubungan
-
8/16/2019 DB Normalisasi
21/39
21
Penghuraian 'epada 1N(
$adual !ernormal boleh dihuraikan kepada dua
"adual iaitu "adual PELA$AR dan '=R5=5
'unci primer bagi "adual asal yang tak ternormal
ialah NoPelajar dan KodKursus a akan diteruskan men"adi kunci primer bagi
"adual yang baru dihasilkan
'unci primer bagi "adual PELA$AR adalah NoPela"ar
-
8/16/2019 DB Normalisasi
22/39
22
NoPela"ar NamaPel Ma"or =nit,eri"a>ah
P1:/: A>ura 5ains
'omputer
116
L211/ 3hong 5istemMaklumat
12/
NoPela"ar 'od'ursus Nama'ur =nit Mata;red
P1:/: 5'::1 Penghantar 5istem 2 2/
P1:/: 5'::2 5istem 'omputer 0 *:
L211/ 5M1:: 5istem Maklumat 0 *:
PE*AJAR & NoPelajar NamaPel Ma"or =nit,eri"a>ah)
K1RS1S &NoPelajar KodKursus Nama'ur =nit Mata;red)
Jadual 7' Peng$uraian Jadual e.ada NF
-
8/16/2019 DB Normalisasi
23/39
2*
2entu Normal Kedua (/NF!
,ergantung kepada konsep kebersandaran%ungsian penuh
Kebersandaran Fungsian Penu$
5ekiranya A dan , adalah atribut-atribut bagi
hubungan , dikatakan bersandar %ungsi
penuh atas A sekiranya , adalah bersandar%ungsi atas A tetapi tidak bersandar %ungsi
atas mana-mana subset proper bagi A
-
8/16/2019 DB Normalisasi
24/39
20
NoPela"ar
'od'ursus
Mata;red
NamaPel
Ma"or
=nit,eri"a>ah
Nama'ur
=nit
Raja$ ' KF bagi )ubungan PE*+RE
-
8/16/2019 DB Normalisasi
25/39
-
8/16/2019 DB Normalisasi
26/39
24
5ambunganB
Mata;red bersandar %ungsi atas keseluruhan kunci primer manakala atribut lain bersandar %ungsi atashanya sebahagian drp kunci primer iaitu sama adaatas NoPela"ar atau 'od'ursus
'eadaan ini dikenali sebagai ebersandaranfungsian se.ara
nilah punca masalah sebenar hubungan PEL;RE
-
8/16/2019 DB Normalisasi
27/39
2+
Tarif /NF
5uatu hubungan adalah dalam 2N(sekiranya ia berada dalam 1N( dan semuaatribut bukan kunci primer bersandar penuh
atas kunci primer 5yarat bentuk normal kedua hanya perlu
diu"i ke atas hubungan yang kunci primernya ialah kunci rencam
5uatu hubungan ternormal yang mempunyaikunci primer tunggal adalah secaraautomatik berada dalam 2N(
-
8/16/2019 DB Normalisasi
28/39
26
Penghuraian 'epada 2N(
ubungan PEL;RE< perlu dihuraikansupaya tiada kebersandaran %ungsiansepara dan sekaligus menukar kepada 2N(
Mata;red bersandar penuh atas kunci primer
&NamaPel Ma"or =nit,eri"a>ah) bersandar
%ungsi separa atas kunci NoPela"ar &Nama'ur =nit) bersandar separa atas
kunci 'od'ursus
-
8/16/2019 DB Normalisasi
29/39
2.
uraikan PEL;RE< kepada tiga hubungan seperti berikut
;REah)
'=R5=5 &KodKursus, Nama'ur =nit)
!iada lagi #u"ud kebersandaran separa semuaatribut bukan kunci primer bersandar penuh ataskunci primer
-
8/16/2019 DB Normalisasi
30/39
*:
'od'ursus Nama'ur =nit
5'::1 Penghantar 5istem 2
5'::2 5istem 'omputer 0
5M1:: 5istem Maklumat 0
'P222 3?? 0
K1RS1S
NoPela"ar 'od'ursus Mata;red
P1:/: 5'::1 2/
P1:/: 5'::2 *:
L021* 'P222 *:
P2:2: 5M1:: *:
+RE
NoPela"ar NamaPel Ma"or =nit,eri"a>ah
P1:/: A>ura 5ains 'omputer 116
L211/ 3hong 5istem Maklumat 12/
L021* 'arim 'e"uruteraan Perisian 1*:
P2:2: @arina 5istem Maklumat 12/
P0::: Ann 5istem Maklumat 12/
PE*AJAR
Jadual 4 ' &onto$ Ketiaan 2agi )ubungan alam / NF
-
8/16/2019 DB Normalisasi
31/39
*1
2entu Normal Ketiga (0NF!
!akri%an *N( 5uatu hubungan adalah dalam *N(sekiranya ia berada dalam 2N( dan tiada atribut
bukan kunci primer bersandar transitif atas kunci primer
'ebersandaran transiti% berlaku apabila #u"udsekurang-kurangnya tiga atribut A , dan 3 dalamsatu hubungan hinggakan "ika 3 bersandar %ungsiatas , dan , bersandar %ungsi atas A maka 3
bersandar %ungsi atas A secara transiti% melalui ,Cdengan syarat A tidak bersandar %ungsi atas , atau3
-
8/16/2019 DB Normalisasi
32/39
*2
ubungan 2N( boleh ditukar kepada *N( dengan
menghuraikannya kepada hubungan-hubungan baru supayakebersandaran transiti% tidak #u"ud lagi
Panduan
1 'enalpasti kebersandaran transiti% dan camkan penentuyang bukan kunci primer
2 'umpulkan atribut yang bersandar transiti% bersama satusalinan penentunya ke dalam satu hubungan baruAtributyang tinggal dikumpulkan sebagai satu hubungan baru
* ,agi satu hubungan dengan atribut A , dan 3 di mana
A
, dan ,
3 maka huraikan kepada 1 dan 2dengan skima
1 &A ,)
2 &, 3)
-
8/16/2019 DB Normalisasi
33/39
**
NoPela"ar NamaPel Ma"or =nit,eri"a>ah
P1:/: A>ura 5ains 'omputer 116
L211/ 3hong 5istem Maklumat 12/
L021* 'arim 'e"uruteraan Perisian 1*:
P2:2: @arina 5istem Maklumat 12/
P0::: Ann 5istem Maklumat 12/
PE*AJAR
Jadual 8 ' Jadual PE*AJAR
Peng$uraian Ke.ada 0NF
,erdasarkan $adual Pela"ar di atas ia masih mengalamianomali kemaskinian &sisipan hapusan D ubahsuai
disebabkan ke#u"udan kebersandaran transiti%
-
8/16/2019 DB Normalisasi
34/39
*0
Ra"ah '( di atas menun"ukkan hubungan pela"ar
=nit,eri"a>ah bersandar transiti% atas kunci primer
iaitu NoPela"ar
Mengikut panduan hubungan PELA$AR harus
dihuraikan bagi menghilangkan kebersandaran
transiti%
NoPela"ar Ma"or
NamaPel =nit,eri"a>ah
-
8/16/2019 DB Normalisasi
35/39
*/
'umpulkan atribut yang bersandar transiti% iaitu
=nit,eri"a>ah bersama satu salinan penentunya iaituMa"or ke dalam hubungan baru =N!MA$OR danletakkan atribut-atribut yang lain iaitu NoPela"ar
NamaPel dan Ma"or di dalam satu hubungan lain
PELA$ARMA$OR ubungan PELA$AR boleh dihuraikan kepada 2hubungan baru iaitu
=N!MA$OR &Ma"or =nit,eri"a>ah)
PELA$ARMA$OR &NoPela"ar NamaPel Ma"or) 'edua-dua hubungan berada di dalam *N( kerana
tidak #u"ud kebersandaran separa dan kebersandarantransiti% atas kunci primer
-
8/16/2019 DB Normalisasi
36/39
*4
5ebagai rumusan kepada proses penormalan terhadap
hubungan PEL;RE
-
8/16/2019 DB Normalisasi
37/39
*+
PEL;RE<
;RE<
'=R5=5
PELA$AR
;RE<
'=R5=5
PELA$ARMA$OR
=N!MA$OR
NF /NF 0NF
5ingkirkan
'ebersandaran penuh
5ingkirkan
'ebersandaran transiti%
Raja$ / ' Peng$uraian )ubungan PE*+RE e.ada 0NF
-
8/16/2019 DB Normalisasi
38/39
*6
Penormalan dan
Reabentu Pangalan ata
Penormalan merupakan sebahagian daripada prosesrekabentuk sistem pangkalan data
Melalui proses penghuraian penormalan dapatmenghasilkan hubungan yang berstruktur sempurna
Rekabentuk pangkalan data dikatakan berada di dalam satu bentuk normal N sekiranya semua skima hubungan yangdikandunginya 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 dapatdipisahkan
-
8/16/2019 DB Normalisasi
39/39
!ERMA 'A5