Professional Documents
Culture Documents
dan hubungan mereka sehingga terwujud satu bentuk database yang mudah untuk dimodifikasi. Normalisasi adalah suatu proses untuk mengidentifikasi tabel kelompok atribut yang memiliki ketergantungan yang sangat tinggi antara satu atribut dengan atribut lainnya
1.
2.
3.
Suatu rancangan database disebut buruk jika: Data yang sama tersimpan dibeberapa tempat (record atau file) Terjadi adanya redudansi (pengulangan) atau duplikasi data sehingga memboroskan ruang penyimpanan dan menyulitkan proses update data. Terjadi kehilangan infomasi yang tidak sengaja/tidak diketahui.
Tabel Universal (Universal / Star Table) sebuah tabel yang merangkum semua kelompok data yang saling berhubungan, bukan merupakan tabel yang baik.
Misalnya:
Pengulangan Informasi terjadi pada atribut nama_mhs, alamat_mhs dan tgl_lahir sesuai data nim. Dan juga pada nama_kul, tempat, waktu dst. Potensi inkonsistensi data pada operasi pengubahan data Jika akan mengubah nama mahasiswa berarti perubahan harus dijalarkan pada setiap baris yang nimnya sama. Jika tidak diterapkan seperti itu maka KF yang telah ditentukan akan terganggu karena nantinya ada dua baris nim-nya sama tapi data lainnya berbeda. Tersembunyinya informasi tertentu Tabel diatas tidak dapat menampilkan data yang belum ada kaitannya. Misalnya mahasiswa yang tidak mengambil mata kuliah atau mata kuliah yang belum diselenggarakan atau dosen yang tidak mengajar.
Dari kelemahan tersebut kita harus mendekomposisikan tabel tersebut menjadi beberapa tabel dengan mempertimbangkan KF. Agar setiap tabel hanya memiliki satu KF (KF yang minimum). APA ITU KF...?
Diberikan sebuah tabel/relasi T. Atribut B dari T bergantung secara fungsi pada atribut A dari T jika dan hanya jika setiap nilai A dari T punya hubungan dengan tepat satu nilai B dalam T
MataKuliah NIM NamaMhs IndekNilai
A B
row 4
Basis Data
98002
Budi Haryanto
row 5
Basis Data
98004
Indah Sutanti
row 6 row 7
98001 98002
B C
KF1 : NIM nama_mhs ( nama mahasiswa bergantung kepada NIM) KF 2 : Matakuliah,NIM IndexNilai ( indexnilai bergantung pada matakuliah dan NIM mahasiswa.
Matakuliah > NIM (nim tidak tergantung kepada matakuliah) NIM > indexnilai (indexnilai tidak tergantung kepada nim)
Dengan memperhatikan: - Kesamaan - Ketidaksamaan - Dan hubungan antar alamiah Antar data kita dapat membentuk sejumlah KF: nim nama_mhs Nim nama_mhs, alamat_mhs, nim alamat_mhs tgl_lahir nim tgl_lahir
kode_kul nama_kul kode_kul sks kode_kul semester kode_kul waktu kode_kul tempat kode_kul nama_dos
Dalam perpektif Normalisasi, suatu basis data dapat dikatakan baik jika setiap tabel yang menjadi unsur pembentuk berada dalam keadaan baik atau normal. Tabel dikatakan baik jika memenuhi 3 kriteria:
1. Jika dekomposisi (penguraian tabel), maka dikompisisi dijamin aman (Lossless-Join Decomposition) 2. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation). 3. Tidak melanggar Boyce-Codd Normal Form (BCNF) Jika kriteria BCNF tidak dapat dipenuhi, maka paling tidak tidak melanggar Bentuk Normal tahap ketiga (3rd Normal Form / 3rdNF)
tahap Pertama (1st Normal Form/1NF) tahap Kedua (2nd Normal Form/2NF) tahap Ketiga (3rd Normal Form/3NF) tahap Keempat (4th Normal Form/4NF) tahap Kelima (5th Normal Form/5NF)
Suatu relasi berada dalam bentuk normal pertama jika relasi tidak mengandung atribut yang bernilai ganda (multivalue attribut).
a. Tidak ada baris yang sama dalam sebuah tabel b. Tidak ada attribut yang duplikat dalam sebuh tabel c. Tidak ada attribut multivalue, jadi nilai cell harus single d. Tidak ada pengulangan group data.
1. 2.
Terdapat attribut duplikat yaitu nota, plgn, alamat, tgl_order Terdapat attribut multivalues yaitu kodebrg, dan nama_brg. Satu orang pelanggan membeli lebih dari satu barang.
Langkah-langkah
1. Hilangkan attribut duplikat 2. Buatlah menjadi tabel terpisah untuk masing-masing group data. 3. tentukan kolom uniknya (primary key)
Syarat
1. Sudah memenuhi 1NF 2. Attribut non key secara fungsi tergantung penuh terhadap atribut
Primary Key 3. Tidak ada partial dependencies : tidak ada attribut yang bergantung sebagian terhadap primary key, terdapat pada kasus composite primary key (artinya dalam satu tabel terdapat lebih dari satu primary key)
Langkah Jika ada attribut yang bergantung sebagian terhadap primary key, maka pecah menjadi tabel sendiri.
Memenuhi normal tahap 2 NONOTA A001 B002 NAMA_PLGN Dinda Paijo ALAMAT TGL_ORDER
NONOTA A001 A001 KODEBRG NAMA_BRG B001 B002 B003 B004 Gula Mentega Roti Minyak Goreng HARGASAT 5.000 6.500 7.000 16.000 B002
JML 2 1 1
B002
B002
B003
B004
2
1
14.000
16.000
Tabel Item_Order
Tabel Barang
Syarat
1. Memenuhi bentuk normal kedua 2. Tidak ada defendensi transitif, artinya ada atribut yang bergantung dengan attribut non key yang lain. Biasanya terjadi pada attribut turunan.
Langkah
1. Hapus atau pisahkan menjadi tabel tersendiri attribut yang
A001 B002
15-Jan-2011 17-Jan-2011
P001 P002
KODE_PLGN
Tabel Pelanggan
NAMA_PLGN ALAMAT
Tabel Order
P001
NONOTA KODEBRG JML
Dinda Paijo
P002
A001
B001
A001
B002 B002 B002
B002
B001 B003 B004
1
1 2 1
KODEBRG
NAMA_BRG
HARGASAT
Tabel Barang
Tabel Item_Order
NAMA
Dewi Fortuna Dewi Fortuna Dewi Fortuna Dewi Fortuna Frenky Frenky Frenky
JURMHS
D3TI D3TI D3TI D3TI S1TI S1TI S1TI
ALAMAT
Jl. Mawar 10 Jl. Mawar 10 Jl. Mawar 10 Jl. Mawar 10 Jl. Melati 5 Jl. Melati 5 Jl. Melati 5
KD_MK
DT050 DT051 DT052 DT053 ST015 ST016 ST017
MATAKULIAH
PBD E-commerce kalkulus Multimedia Sistem Berkas Kriptografi ANSI
SKS
4 2 2 4 4 2 2
NILAI
A B C D A B C
SMT
1 2 3 1 1 2 3
THN_AKADEMIK
2008/2009 2008/2009 2008/2009 2009/2010 2008/2009 2008/2009 2008/2009
07.11.3333
Frenky
S1TI
Jl. Melati 5
ST018
PPA
2009/2010
1NF
1. Terdapat attribut duplikat yaitu : npm,nama,jurmhs,alamat 2. Terdapat attribut multivalues, yaitu satu mhs mengambil banyak matakuliah,sehingga tercipta baris/rows yang sama. Langkah : Pisah menjadi 2 tabel yaitu : tabel mahasiswa (npm,nama,jurmhs, alamat)
1NF
2NF
1. Attribut non key harus bergantung penuh kepada primary key. 2. Lihat tabel KRS, attibut matakuliah dan sks bergantung penuh terhadap kode_mk, tidak bergantung penuh terhadap npm. Langkah Pecah menjadi tabel tersendiri yaitu tabel Matakuliah (kode_mk, matakuliah, sks)
Jika dan hanya jika untuk setiap KF dengan notasi X Y, maka X adalah superkey Jika belum demikian, maka langkah yang diambil adalah men-dekomposisikan ulang dari bentuk normal 3NF, sehingga X adalah superkey
Istilah FD trivial : sisi kanan dari FD merupakan subset dari sisi kirinya.
Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued atribute
Setiap employee dapat bekerja di lebih dari project dan dapat memiliki lebih dari satu skill. Untuk kasus seperti ini tabel tersebut harus didekomposisi menjadi:
(Employee, Project) (Employee, Skill)
Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula
Suatu relasi R (X, Y, ..., Z) memenuhi dependensi gabungan jika gabungan dari proyeksi A, B, ..., C dengan A, B, ..., C merupakansub-himpunan dari atribut-atribut R. Dependensi gabungan sesuai dengan definisi di atas dinyatakan dengan notasi: * (A, B, ..., C) dengan A = XY B = YZ C = ZX
nama_plgn Rafsemmy
alamat
no_tran
kodebuku B0100
jk_pengarang
Rafsemmy Rafsemmy
B0101
B0102 B0100
M.yasin Joshua
penang,malaysia adelaide
L L
Irfan
Pitaloka H5
TR002
jepang
Irfan
Pitaloka H5
TR002
B0101
penang,malaysia
penerbit
almt_penerbit
tlf_penrbit
tahunterbit
edisi
tgl_pinj
tgl_kembali
denda
ptgs_rental
Andi ofset
Jogja
027455123
2010
01/01/2011
03/01/2011 0
Aeni
Gramedia
Jakarta
02134567
2009
Gramedia Gramedia
Jakarta Jakarta
02134567 02134567
2008 2010
2 5
Andi ofset
Jogja
027455123
2006
01/01/2011
10/01/2011
7.000 Susan