DESAIN DATABASE
DAN
•
Kumpulan at ribut yang nilainya :– Set iap at ribut harus berharga t unggal.
– Semua harga pada suat u at ribut harus mempunyai t ipe
yang sama.
– Set iap at ribut harus mempunyai nama yang unik
– Urut an at ribut t idak pent ing.
– Tidak ada dua baris (t uple) dalam relasi yang isinya ident ik
– Urut an baris (t uple) t idak pent ing.
Relasi (review )
Proses Rancangan Database (review )
•
M engumpulkan Kebut uhan User/ Business•
M engembangkan E-R M odel Berdasarkan Kebut uhanUser/ Business
•
Konversikan E-R M odel Ke Himpunan Relasi (Tabel).•
Normalisasikan Relasi Unt uk M enghilangkan Anomali.•
Implement asikan Ke Dat abase Dengan M embuat .Normalisasi Basis Data (1)
•
Normalisasi adalah proses pembent ukan st rukt ur basis dat a sehingga sebagian besar ambiguity bisadihilangkan.
•
Tahap Normalisasi dimulai dari t ahap paling ringan (1NF) hingga paling ket at (5NF)Normalisasi Basis Data (2)
•
M engapa dilakukan normalisasi ?
–
Opt imalisasi st rukt ur-st rukt ur t abel–
M eningkat kan kecepat an–
M enghilangkan pemasukan dat a yang sama–
Lebih efisien dalam penggunaan media penyimpanan–
M engurangi redundansi–
M enghindari anomali (insert ion anomalies, delet ion anomalies, updat e anomalies).Normalisasi Basis Data (3)
•
Sebuah t abel dikat akan baik (efisien) at au normal jika memenuhi 3 krit eria sbb:1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless-Join Decomposit ion). Art inya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa
menghasilkan tabel semula dengan sama persis.
2. Terpeliharanya ketergant ungan fungsional pada saat perubahan data (Dependency Preservat ion).
3. Tidak melanggar Boyce-Code Normal Form (BCNF)
•
Jika krit eria ket iga (BCNF) t idak dapat t erpenuhi, maka paling t idak t abel t ersebut t idak melanggar Bent ukBoyce-Codd Normal Form (BCNF)
• Bent uk BCNF t erpenuhi dalam sebuah t abel, jika unt uk set iap
funct ional dependency t erhadap set iap at ribut at au gabungan
at ribut dalam bent uk: X Y maka X adalah super key
• t abel t ersebut harus di-dekomposisi berdasarkan funct ional
dependency yang ada, sehingga X menjadi super key dari t abel-t abel hasil dekomposisi
• Set iap t abel dalam BCNF merupakan 3NF. Akan tet api set iap 3NF
belum t ent u t ermasuk BCNF . Perbedaannya, unt uk funct ional
dependency X A, BCNF t idak membolehkan A sebagai bagian
Functional Dependency (1)
•
Funct ional Dependency
menggambarkan
hubungan
at t ribut es
dalam sebuah relasi
•
Suat u at t ribut e dikat akan
funct ionally dependant
pada yang lain jika kit a menggunakan harga
at ribut t ersebut unt uk menent ukan harga at ribut
yang lain.
•
Simbol yang digunakan adalah
unt uk mewakili
funct ional dependency
.
Functional Dependency (2)
•
Notasi: A
B
A dan B adalah at ribut dari sebuah t abel.
Berarti secara fungsional A menentukan B
atau B tergantung pada A
, jika dan hanya jika
ada 2 baris dat a dengan nilai A yang sama,
maka nilai B juga sama
•
Notasi: A
B atau A x
BFunctional Dependency (3)
Functional Dependency (4)
•
Funct ional Dependency dari t abel nilai – NIM NamaM hsKarena unt uk set iap nilai nim yang sama, maka nilai NamaM hs juga sama
– {M atakuliah, NIM } NilaiHuruf
Karena at t ribut NilaiHuruf t ergant ung pada M at akuliah dan NIM secara bersama-sama. Dalam art i lain unt uk M at akuliah dan
NIM yang sama, maka NilaiHuruf juga sama, karena M at akuliah dan NIM merupakan key (bersifat unik).
– M atakuliah NIM
BENTUK NORM AL PERTAM A (First Normal Form - 1NF)
Tidak diperboleh adanya :
•
At ribut yang bernilai banyak (
M ult ivalued
at t ribut
).
•
At t ribut komposit at au kombinasi dari keduanya.
Jadi : Harga domain at ribut harus merupakan
Contoh (1)
•
M isal Dat a M ahasisw a sbb :At au
Contoh (2)
•
Dekomposisi menjadi :– Tabel M ahasiswa :
BENTUK NORM AL KEDUA (Second Normal
Form - 2NF) (1)
•
Bent uk normal 2NF t erpenuhi dalam sebuah t abel jika t elah memenuhi bent uk 1NF, dan semua at ribut selain primary key, secara ut uh memiliki Funct ionalDependency pada primary key
•
Sebuah t abel t idak memenuhi 2NF, jika ada at ribut yang ket ergant ungannya (Funct ional Dependency) hanyabersifat parsial saja (hanya t ergant ung pada sebagian dari primary key)
•
Jika t erdapat at ribut yang t idak memiliki ket ergant ungan t erhadap primary key, maka at ribut t ersebut harusBENTUK NORM AL KEDUA (Second Normal
Form - 2NF)
(2)
•
Ketergantungan fungsional X
Y dikatakan
penuh
jika menghapus suatu atribut A dari X berarti Y tidak
lagi bergantung fungsional.
•
Ketergantungan fungsional X
Y dikatakan
partial
jika menghapus suatu atribut A dari X berarti Y
masih bergantung fungsional.
•
Skema relasi R dalam bentuk 2NF jika setiap atribut
non primary key A
R bergantung penuh secara
Contoh (1)
Contoh (2)
•
Tidak memenuhi 2NF, karena {NIM , KodeM k} yang dianggap sebagai primary key sedangkan:{NIM , KodeM k} NamaM hs
{NIM , KodeM k} Alamat
{NIM , KodeM k} M at akuliah
{NIM , KodeM k} Sks
{NIM , KodeM k} NilaiHuruf
Contoh (3)
•
Funct ional dependencynya sbb:
–
{NIM , KodeM k}
NilaiHuruf (fd1)–
NIM
{NamaM hs, Alamat } (fd2)–
KodeM k
{M at akuliah, Sks} (fd3)•
Sehingga :
–
fd1 (NIM , KodeM k, NilaiHuruf )
Tabel Nilai–
fd2 (NIM , NamaM hs, Alamat )
Tabel M ahasisw aBENTUK NORM AL KETIGA (Third
Normal Form - 3NF) (1)
•
Bent uk normal 3NF t erpenuhi jika t elah
memenuhi bent uk 2NF, dan jika
tidak ada
at ribut
non primary key
yang memiliki
ket ergant ungan t erhadap at ribut
non primary
BENTUK NORM AL KETIGA (Third
Normal Form - 3NF)
(2)
• Untuk setiap Functional Dependency dengan notasi X A, maka:
– X harus menjadi superkey pada tabel tersebut.
– Atau A merupakan bagian dari primary key pada tabel tersebut.
• Ketergantungan fungsional X Y dalam relasi R dikatakan bergantung transitif jika terdapat kumpulan atribut Z
Contoh (1)
•
Tabel mahasis berikut ini memenuhi syarat 2NF, t et api t idak memenuhi 3NF•
Karena masih t erdapat at ribut non primary key (yakni Kot a dan Provinsi) yang memiliki ket ergant ungant erhadap at ribut non primary key yang lain (yakni KodePos) :
Contoh (2)
•
Sehingga t abel t ersebut perlu didekomposisi
menjadi :
–
M ahasisw a (NIM , NamaM hs, Jalan, KodePos)Mahasiswa
NIM NAM AM HS JALAN KODEPOS
KODEPOS PROVINSI KOTA
Contoh Proses Normalisasi
Tahap-tahap Normalisasi
1.Bentuk Tidak Normal ( Unnormalized Form)
2.Bentuk Normal Kesatu ( 1 NF / First Normal Form)
3.Bentuk Normal Kedua ( 2 NF / Second Normal Form)
No Nama Alamat No
B001 Msword Ahmad 1 26/1/2000
A002 Iwan Kamboja 29 B001 Msword Ahmad B002 Foxpro Pramono B005 Acces Anton 3 1/2/2000
A003 Tuti Nangka 20 B002 Foxpro Pramono 1 7/2/2000
A004 Riyanto Kenanga 21 B001 Msword Ahmad B005 Acces Anton 2 11/2/2000
A005 Kiki Merdeka 10 B002 Foxpro Pramono B006 Ws Pramono 2 11/2/2000
Atribut Bernilai Ganda / Berulang
• Meruapakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi.
• Data dikumpulkan apa adanya tanpa format tertentu. Data dapat tidak lengkap atau terduplikasi
• Tabel Perpustakaan ini masih bersifat universal
Perpustakaan
• Setiap data dibentuk dalam flat file( file datar / rata )
• Data dibentuk dalam satu record demi record dan nilai field adalah atomic value
• Tidak ada set atribut yang berulang2 / bernilai ganda ) Perpustakaan
•Bentuk Normal Kesatu ( 1 NF / First Normal Form )
No Nama Alamat No Buku Judul Buku Pengarang Jml Pinjam Tgl Pinjam
A001 Rahayu Kemuning 117 B001 Msword Ahmad 1 26/1/2000
A002 Iwan Kamboja 29 B001 Msword Ahmad 3 1/2/2000
A002 Iwan Kamboja 29 B002 Foxpro Pramono 3 1/2/2000
A002 Iwan Kamboja 29 B005 Acces Anton 3 1/2/2000
A003 Tuti Nangka 20 B002 Foxpro Pramono 1 7/2/2000
A004 Riyanto Kenanga 21 B001 Msword Ahmad 2 11/2/2000
A004 Riyanto Kenanga 21 B005 Acces Anton 2 11/2/2000
A005 Kiki Merdeka 10 B002 Foxpro Pramono 2 11/2/2000
A005 Kiki Merdeka 10 B006 WS Pramono 2 11/2/2000
• Telah Menenuhi Criteria Bentuk Normal 1 NF
• Atribut Bukan Kunci Haruslah Bergantung Secara Fungsi Pada Primary Key
• Primary Key Harus Sudah Ditentukan Dan Bersifat Unik, Serta Dapat Mewakili Atribut Lain Yang Menjadi Anggotanya
Data Duplikat belum ada field kunci yang unik
•Bentuk Kedua ( 2 NF / Second Normal Form )
Noanggota Nama Alamat
A001 Rahayu Kemuning 117 A002 Iwan Kamboja 29 A003 Tuti Nangka 20 A004 Riyanto Kenanga 21 A005 Kiki Merdeka 10
No anggota Nobuku Jumlahpinjam tglpinjam A001 B001 1 26/1/2000 A002 B001 3 1/2/2000 A002 B002 3 1/2/2000 A002 B002 3 1/2/2000 A003 B002 1 7/2/2000 A004 B001 2 11/2/2000 A004 B005 2 11/2/2000 A005 B002 2 11/2/2000 A005 B006 2 11/2/2000
• Telah Memenuhi kriteria Bentuk 2 NF
• Semau Atribut Bukan Primer Tidak Mempunyai Hubungan / Ketergantungan Transitif
• Atribut bukan kunci harus bergantung hanya pada primary key
Bentuk Normal Kedua ( 3 NF / Third Normal Form )
Noanggota Nama Alamat
A001 Rahayu Kemuning 117 A002 Iwan Kamboja 29 A003 Tuti Nangka 20 A004 Riyanto Kenanga 21 A005 Kiki Merdeka 10