NORMALISASI
-
Upload
joel-holden -
Category
Documents
-
view
63 -
download
0
description
Transcript of NORMALISASI
NORMALISASI
NormalisasiNormalisasi merupakan teknik analisis data yang
mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible
Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.
Tahap Normalisasi
Ada tiga tahap dalam proses normalisasi yang dilakukan pada tiap tabel di database agar tabel tersebut memiliki tiga bentuk berikut:
– First Normal Form (1NF)– Second Normal Form (2NF)– Third Normal Form (3NF)
Normalisasi: 1NF, 2NF, 3NF
Bentuk Normal ke Satu(1NF)Syarat :
1. Tidak ada set atribut yang berulang atau bernilai ganda.
2. Telah ditentukannya primary key untuk tabel atau relasi.
3. Tiap atribut hanya memiliki satu pengertian.
Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah.
Normalisasi: 1NF, 2NF, 3NF
Bentuk Normal ke Dua(2NF)Syarat :
1. Bentuk data telah memenuhi kriteria bentuk normal ke satu.
2. Atribut bukan kunci(non-key attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key.
Normalisasi: 1NF, 2NF, 3NF
Bentuk Normal ke Tiga(3NF)Syarat :
1. Bentuk data telah memenuhi kriteria bentuk normal ke dua.
2. Atribut bukan kunci(non-key attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.
Contoh Normalisasi :
Tabel Mahasiswa di bawah ini, akan dilakukannormalisasi sampai bentuk normal ke tiga
Perhatikan Bahwa tabel di atas sudah dalam bentuknormal ke Satu(1NF)
Contoh
Bentuk Normal ke dua(2NF) :
Belum memenuhi kriteria 3NF, Karena atribut non-key Nilai danBobot masih memiliki ketergantu-ngan fungsional.
Contoh
Bentuk Normal ke tiga(3NF) :
Contoh Form :
Hasil pengelompokan
Contoh Soal :
MID MNAMA IDCARD_NO JOIN_DB ( D_BASE, YEAR )
M001 John 001.J {(ORACLE,97), (MYSQL,98), (SQL SERVER 7,99)}
M002 Smith 002.S {(ACCESS, 00)}
M003 Willy 003.W {(INFORMIX,01), (SYSBASE,02)}
M004 Jansen 004.J {(PARADOX,02)}
M005 Soen 005.S { (ORACLE,99), (SYSBASE,00), (ACCESS,01) }
FIRST-NF (1NF)
Teknik pertama untuk merubah relasi dari Non 1st NF ke 1st NF yaitu Bentuk relasi baru yang memisahkan attribute JOIN_DB, dimana primary key dari relation baru tersebut adalah (MID, JOIN_DB)
MID MNAMA MID JOIN_DB
M001 John
M002 Smith
M001 ORACLE
M001 MYSQL
M001 SQL SERVER 7
M002 ACCESS
… …
… …
IDCARD_NO
001.J
002.S
…
MID MNAMA
M001 John
M002 Smith
M003 Willy
M004 Jansen
M005 Soen
IDCARD_NO
001.J
002.S
003.W
004.J
005.S
JOIN_DB ( D_BASE, YEAR )
{(ORACLE,97), (MYSQL,98), (SQL SERVER 7,99)}
{(ACCESS, 00)}
{(INFORMIX,01), (SYSBASE,02)}
{(PARADOX,02)}
{ (ORACLE,99), (SYSBASE,00), (ACCESS,01) }
YEAR
97
98
99
00
…
FIRST-NF (1NF)
MID MNAMA
M001 John
M002 Smith
M003 Willy
M004 Jansen
M005 Soen
Teknik kedua untuk merubah relasi dari Non 1st NF ke 1st NF yaitu Expand key dari pada relasi Non 1st NF, hingga terdapat tupple-tupple yang terpisah untuk multivalues attr nya, yang akan menjadi PK adalah attr kombinasi (yaitu : MID, JOIN_DB)
MID MNAMA JOIN_DB
M001 John ORACLE
M001 John MYSQL
M001 John SQL SERVER 7
M002 Smith ACCESS
M003 Willy INFORMIX
M003 Willy SYSBASE
… … …
IDCARD_NO
001.J
001.J
001.J
003.W
…
003.W
002.S
IDCARD_NO
001.J
002.S
003.W
004.J
005.S
JOIN_DB ( D_BASE, YEAR )
{(ORACLE,97), (MYSQL,98), (SQL SERVER 7,99)}
{(ACCESS, 00)}
{(INFORMIX,01), (SYSBASE,02)}
{(PARADOX,02)}
{ (ORACLE,99), (SYSBASE,00), (ACCESS,01) }
YEAR
97
98
99
00
01
02
…
FIRST-NF (1NF)
MID MNAMA JOIN_DB
M001 John ORACLE, MYSQL, SQL SERVER 7
M002 Smith ACCESS
M003 Willy INFORMIX, SYSBASE
M004 Jansen PARADOX
M005 Soen ORACLE, SYSBASE, ACCESS
Teknik ketiga untuk merubah relasi dari Non 1st NF ke 1st NF yaitu hanya bisa dilakukan jika multivalue attr nya diketahui jumlah maximum yang bisa terjadi (misalnya seorang hanya bisa JOIN DB sebanyak 3 DB, maka attr JOIN_DB dipisah jadi 3)
IDCARD_NO
001.J
002.S
003.W
004.J
005.S
MID MNAMA JOIN_DB1
M001 John ORACLEM002 Smith ACCESS
M003 Willy INFORMIXM004 Jansen PARADOX
M005 Soen ORACLE
IDCARD_NO
001.J
002.S
003.W
004.J
005.S
JOIN_DB2
MYSQL
SYSBASE
SYSBASE
JOIN_DB3
SQL SERV 7
ACCESS
SECOND-NF (2NF)
A relational table is in second normal form 2NF if it is in 1NF and every non-key column is fully dependent upon the primary key.
MID MNAMA JOIN_DB
M001 John ORACLE
M001 John MYSQL
M001 John SQL SERVER 7
M002 Smith ACCESS
M003 Willy INFORMIXM003 Willy SYSBASE
… … …
IDCARD_NO
001.J
001.J
001.J
003.W
…
003.W
002.S
MID, JOIN_DB =PRIMARY KEY
{MID, JOIN_DB} MNAMA, IDCARD_NOMerupakan Partial Dependent, bukan Fully Dependent, karena jika Attribut JOIN_DB dihilangkan, tidak menjadi masalah karena berlaku :MID MNAMA, IDCARD_NO
YEAR
97
98
99
00
01
02
…
SECOND-NF (2NF)
A relational table is in second normal form 2NF if it is in 1NF and every non-key column is fully dependent upon the primary key.
MID MNAMA JOIN_DB
M001 John ORACLE
M001 John MYSQL
M001 John SQL SERVER 7
M002 Smith ACCESS
M003 Willy INFORMIX
M003 Willy SYSBASE
… … …
IDCARD_NO
001.J
001.J
001.J
003.W
…
003.W
002.S
MID MNAMA, IDCARD_NO
{MID, JOIN_DB} YEAR
YEAR
97
98
99
00
01
02
…
MID MNAMA
M001 John
M002 Smith
M003 Willy
… …
IDCARD_NO
001.J
…
003.W
002.S
JOIN_DB
ORACLE
MYSQL
SQL SERVER 7
ACCESS
INFORMIX
SYSBASE
…
YEAR
97
98
99
00
01
02
…
MID
M001
M001
M001
M002
M003
M003
…
THIRD-NF (3NF)
3NF requires that all columns in a relational table are dependent only upon the primary key, in other words, all nonkey attributes are functionally dependent only upon the primary key.
MID MNAMA
M001 John
M002 Smith
M003 Willy
… …
IDCARD_NO
001.J
…
003.W
002.S
JOIN_DB
ORACLE
MYSQL
SQL SERVER 7
ACCESS
INFORMIX
SYSBASE
…
YEAR
97
98
99
00
01
02
…
MID
M001
M001
M001
M002
M003
M003
…
IDCARD_NO MNAMA
MID
MNAMA
M001
John
M002
Smith
M003
Willy
…
…
IDCARD_NO
001.J
…
003.W
002.S
IDCARD_NO
001.J
…
003.W
002.S
No Siswa Nama Tgl Lahir ID Buku Nama Buku Lama Grade
71521 Andy 12/05/87 MAT222ENM220SJH211
MatematikEkonomiSejarah
332
BAB
71300 Leni 04/04/82 SJH211 Sejarah 2 A
71425 Sita 01/11/85 ING202MAT222
InggrisMatematika
23
CB
71230 Yodhi 06/01/87 MAT222ING202
MatematikaInggris
32
BC
Normalisasikan Data Di bawah ini !
Setelah di-Normalisasi akan mendapatkan berapa table ?
Study Kasus
Buat relasi-relasi 3NF untuk atribut berikut untuk database riwayat pendidikan informal pegawai:– NoPeg, Nama, Alamat, Kota, KodePos,
Kecamatan, TglPdk1, KdPdk1, NamaPdk1, NilaiPdk1, TglPdk2, KdPdk2, NamaPdk2, NilaiPdk2, TglPdk3, KdPdk3, NamaPdk3, NilaiPdk3