BD - Normalisasi
-
Upload
willy-de-fi-on-mk-sy -
Category
Documents
-
view
278 -
download
0
description
Transcript of BD - Normalisasi
-
MODUL IX BASIS DATA
NORMALISASI
Disadur Oleh: Prima Rosa
Jurusan Teknik Informatika
Universitas Sanata Dharma
Referensi: Connoly, Thomas & Carolyn Begg, 2005, Database
Systems: A Practical Approach to Design,
Implementation, and Management, Chapter 13
1
-
KOMPETENSI
Mahasiswa memahami:
Tujuan normalisasi.
Bagaimana normalisasi diterapkan dalam perancangan basisdata relasional
Potensi masalah yang muncul terkait dengan data yang redundan
Konsep ketergantungan fungsional (functional dependencies)
Karakteristik ketergantungan fungsional yang digunakan dalam normalisasi.
2
Pearson Education Limited 1995, 2005
-
KOMPETENSI (lanjutan)
Bagaimana mengiddentifikasi ketergantungan fungsional dalam suatu relasi
Bagaimana ketergantungan fungsional mengidentifikasi kunci primer dalam suatu relasi.
Proses normalisasi Bentuk normal yang umum dipakai, yaitu
First Normal Form (1NF), Second Normal Form (2NF), dan Third Normal Form (3NF).
3 Pearson Education Limited 1995, 2005
-
Tujuan Normalisasi
Normalisasi adalah teknik untuk
menghasilkan sekumpulan relasi yang
sesuai dan mendukung kebutuhan
data dalam organisasi.
4 Pearson Education Limited 1995, 2005
-
Tujuan Normalisasi
Karakteristik kumpulan relasi (tabel) yang sesuai dgn kebutuhan organisasi adlh sbb: Berisi jumlah minimal atribut yang
diperlukan untuk mendukung kebutuhan data dari organisasi tsb;
Atribut dengan hubungan logikal yang dekat berada dalam satu relasi
Berisi redundansi yang minimal, dimana setiap atribut disimpan hanya sekali, kecuali atribut-atribut yang menjadi kunci tamu.
5 Pearson Education Limited 1995, 2005
-
Manfaat dari basisdata yang berisi
kumpulan relasi (tabel) yang sesuai
dgn kebutuhan organisasi adlh sbb:
Basisdata mudah diakses dan dirawat oleh pengguna
Basisdata akan menghemat media simpanan.
6 Pearson Education Limited 1995, 2005
Tujuan Normalisasi
-
Bagaimana Normalisasi
Mendukung Perancangan BD
7 Pearson Education Limited 1995, 2005
-
Redundansi Data dan Anomali
Update Tujuan utama dari perancangan
basisdata adalah mengelompokkan
atribut ke dalam relasi untuk
meminimalkan redundansi
(perulangan).
8 Pearson Education Limited 1995, 2005
-
Redundansi Data dan Anomali
Update Manfaat potensial dari implementasi
basisdata adalah:
Updates data dalam basisdata dapat dilakukan dengan sejumlah operasi yang
minimal, sehingga mengurangi
kemungkinan terjadinya inkonsistensi
data
Meminimalkan kebutuhan media simpanan sehingga dapat menghemat
biaya
9 Pearson Education Limited 1995, 2005
-
Redundansi Data dan Anomali
Update Masalah terkait dengan redundansi
data dapat digambarkan dengan
membandingkan relasi Staff, Branch
dan StaffBranch berikut.
10 Pearson Education Limited 1995, 2005
-
Redundansi Data dan Anomali
Update
11 Pearson Education Limited 1995, 2005
-
Redundansi Data dan Anomali
Update Relasi StaffBranch berisi data yang
redundan: detil setiap branch diulang untuk setiap staff
Bandingkan dengan relasi Staff yang hanya memuat branch number (branchNo) sehingga yang diulang cukup branchNo sementara detil dari setiap branch disimpan dalam relasi Branch.
12
Pearson Education Limited 1995, 2005
-
Redundansi Data dan Anomali
Update Relasi yang memuat data yang
redundan potensial untuk
menyebabkan anomali update.
Tipe anomali update adalah sbb:
Penyisipan data (Insertion)
Penghapusan data (Deletion)
Modifikasi data (Modification)
13 Pearson Education Limited 1995, 2005
-
Lossless-join dan Menjaga
Sifat Ketergantungan Dua sifat (property) penting dari
dekomposisi. Lossless-join property memungkinkan kita
menemukan kejadian (instance) dalam relasi asal dari kejadian terkait dalam relasi yang lebih kecil .
Dependency preservation property memungkinkan kita untuk memaksa (to enforce) suatu kendala (constraint) dalam relasi asal juga muncul dalam relasi yang lebih kecil.
14 Pearson Education Limited 1995, 2005
-
Ketergantungan Fungsional
Ketergantungan fungsional (functional dependency) adalah konsep penting dalam normalisasi .
Ketergantungan fungsional menyatakan hubungan antar atribut
Contoh, jika A dan B adalah atribut dari relasi R, B dikatakan tergantung fungsional pada A (dinyatakan dengan A B), jika setiap nilai dari A dalam R berhubungan/terkait dengan tepat satu nilai B dalam R.
15 Pearson Education Limited 1995, 2005
-
Karakteristik Ketergantungan
Fungsional Ketergantungan fungsional merupakan sifat
semantik (makna) atribut-atribut dari suatu relasi.
Representasi diagramatik
Determinant dari suatu ketergantungan fungsioal adalah atribut atau sekelompok atribut di sisi kiri panah.
16 Pearson Education Limited 1995, 2005
-
Contoh Ketergantungan
Fungsional
17 Pearson Education Limited 1995, 2005
-
Contoh Ketergantungan
Fungsional yang Selalu Terjaga
Perhatikan nilai-nilai atribut staffNo dan sName dalam relasi Staff di slide 12.
Berdasar contoh data, ketergantungan fungsional berikut nampaknya selalu terjaga
staffNo sName
sName staffNo
18 Pearson Education Limited 1995, 2005
-
Contoh Ketergantungan
Fungsional yang Selalu Terjaga
Namun demikian, ketergantungan
fungsional yang sesungguhnya selalu
benar untuk setiap kemungkinan nilai
atribut staffNo dan sName dalam
relasi Staff relation adalah:
staffNo sName
19 Pearson Education Limited 1995, 2005
-
Karakteristik Ketergantungan
Fungsional Determinan harus memiliki jumlah
atribut yang minimal untuk menjaga
ketergantungan fungsional dengan
atribut-atribut di sisi kanan.
Hal ini disebut ketergantungan
fungsional penuh (full functional
dependency)
20 Pearson Education Limited 1995, 2005
-
Karakteristik Ketergantungan
Fungsional
Ketergantungan fungsional penuh:
Misal A dan B adalah atribut-atribut dalam suatu relasi. B tergantung fungsional
penuh pada A, jika B tergantung
fungsional pada A, tetapi tidak tergantung
fungsional pada proper subset (himpunan
wajar) dari A.
21 Pearson Education Limited 1995, 2005
-
Contoh Ketergantungan
Fungsional Penuh Terdapat dalam relasi Staff (Slide 12).
staffNo, sName branchNo
Benar setiap nilai dari (staffNo, sName)
terkait dengan satu nilai tunggal dari branchNo.
Namun, branchNo juga tergantung fungsional pada himpunan bagian dari (staffNo, sName), yaitu staffNo.
Jadi contoh di atas adalah ketergantungan parsial (partial dependency), bukan ketergantungan fungsional penuh.
22 Pearson Education Limited 1995, 2005
-
Karakteristik Ketergantungan
Fungsional Karakteristik utama dari ketergantungan
fungsional yang digunakan dalam normalisasi : Terdapat hubungan/relasi one-to-one antara
atribut(atribut-atribut) pada sisi kiri panah (determinan) dan sisi kiri panah dalam suatu ketergantungan fungsional.
Hubungan tersebut selalu terjaga (berlaku) dalam setiap waktu/situasi
Determinan memiliki jumlah atribut yang minimal yang diperlukan untuk menjaga ketergantungan dengan atribut-atribut di sisi kanan.
23 Pearson Education Limited 1995, 2005
-
Ketergantungan Transitif
(Transitive Dependencies) Penting untuk mengenali ketergantungan
transitif karena keberadaannya dalam relasi dapat menyebabkan anomali update.
Ketergantungan transitif menyatakan kondisi dimana A, B, dan C adalah atribut-atribut dari suatu relasi, sedemikian hingga jika A B dan B C, maka C dikatakan tergantung transitif pada A melalui B (diandaikan A tidak tergantung fungsional pada B atau C).
24 Pearson Education Limited 1995, 2005
-
Contoh Ketergantungan
Transitif Perhatikan ketergantungan fungsional dalam
relasi StaffBranch ( Slide 12).
staffNo sName, position, salary, branchNo, bAddress
branchNo bAddress Ketergantungan transitif staffNo bAddress
terdapat pada staffNo melalui branchNo. Dengan kata lain, atribut staffNo secara fungsional menentukan bAddress melalui atribut branchNo; sedangkan branchNo maupun bAddress tidak menentukan staffNo secara fungsional.
25 Pearson Education Limited 1995, 2005
-
Proses of Normalisasi
Merupakan teknik formal untuk
menganalisis suatu relasi berdasar kunci
primernya dan ketergantungan fungsional
antar atribut dalam relasi tersebut.
Normalisasi dilakukan dalam beberapa
tahap. Tiap tahap berkorespondensi
dengan sebuah bentuk normal tertentu,
yang memiliki karakteristik tertentu.
26 Pearson Education Limited 1995, 2005
-
Mengidentifikasi Ketergantungan
Fungsional Identifikasi semua ketergantungan
fungsional dari sekumpulan atribut menjadi relatif sederhana jika makna dari setiap atribut dan hubungan antar atribut dipahami dengan baik.
Informasi tentang makna tsb dapat diperoleh dari organisasi melalui diskusi dengan pengguna dan/atau dokumentasi yang ada seperti spesifikasi kebutuhan pengguna, contoh-contoh dokumen bisnis sehari-hari, dsb.
27 Pearson Education Limited 1995, 2005
-
Mengidentifikasi Ketergantungan
Fungsional
Namun, jika pengguna tidak dapat
dijumpai dan/atau dokumentasi tidak
lengkap, maka tergantung pada
perancangan basisdata untuk
menggunakan common sense
dan/atau pengalamannya untuk
mendapatkan informasi yang hilang..
28 Pearson Education Limited 1995, 2005
-
Contoh Mengidentifikasi sekumpulan ketergantungan fungsional dalam relasi
StaffBranch relation
Perhatikan makna dari atribut-atribut
dalam relasi StaffBranch (slide 12).
Andaikan posisi yang dipegang dan
kantor cabang menentukan salary
seorang staff.
29 Pearson Education Limited 1995, 2005
-
Contoh Mengidentifikasi sekumpulan ketergantungan fungsional dalam relasi
StaffBranch relation
Dengan informasi yang cukup, identifikasi
ketergantungan fungsional untuk relasi
StaffBranch adalah sbb: staffNo sName, position, salary, branchNo,
bAddress
branchNo bAddress
bAddress branchNo
branchNo, position salary
bAddress, position salary
30 Pearson Education Limited 1995, 2005
-
Contoh Menggunakan data sampel untuk mengidentifikasi
ketergantungan fungsional Perhatikan data untuk attibut A, B, C, D,
dan E dalam relasi Sample (Slide 32).
Asumsikan bahwa nilai data sampel yang ditunjukkan dalam relasi mewakili semua nilai yang mungkin dari atribut A, B, C, D, dan E, meskipun sampel data yang ditunjukkan dalam relasi sedikit.
31 Pearson Education Limited 1995, 2005
-
Contoh Menggunakan data sampel untuk mengidentifikasi
ketergantungan fungsional
32 Pearson Education Limited 1995, 2005
-
Contoh Menggunakan data sampel untuk mengidentifikasi
ketergantungan fungsional .
Ketergantungan fungsional antar atribut A sampai E dalam relasi Sample adalah sbb:
A C (fd1)
C A (fd2)
B D (fd3)
A, B E (fd4)
33 Pearson Education Limited 1995, 2005
-
Mengidentifikasi Kunci Primer dari
Suatu Relasi menggunakan
Ketergantungan Fungsional
Tujuan utama dari mengidentifikasi
ketergantungan fungsional dari suatu relasi
adalah untuk menentukan himpunan
kendala integritas yang harus dipenuhi
dalam suatu relasi.
Salah satu kendala integritas yang harus
ditentukan pertama-tama adalah kunci
primer: atribut mana yang akan dipilih
menjadi kunci primer.
34 Pearson Education Limited 1995, 2005
-
Contoh Identifikasi Kunci Primer Relasi StaffBranch Relasi StaffBranch memiliki 5 ketergantungan
fungsional (lihat slide 30)
Determinannya adalah staffNo, branchNo,
bAddress, (branchNo, position), dan (bAddress,
position).
Untuk mengidentifikasi semua kunci kandidat,
tentukan atribut (atau sekumpulan atribut) yang
secara unik mengidentifikasi tiap tupel dalam relasi
35 Pearson Education Limited 1995, 2005
-
Semua atribut yang tidak menjadi bagian
dari kunci kandidat harus tergantung
fungsional pada kunci tersebut.
Kunci kandidat satu-satunya (dan pasti
adalah kunci primer) untuk relasi
StaffBranch, adalah staffNo, karena semua
atribut yg lain dalam relasi tsb tergantung
fungsional pada staffNo.
36 Pearson Education Limited 1995, 2005
Contoh Identifikasi Kunci Primer Relasi StaffBranch
-
Contoh Mengidentifikasi Kunci Primer dari Relasi Sample
Relasi Sample memiliki 4 ketergantungan fungsional (lihat Slide 34).
Determinan dari relasi Sample adalah A, B, C, dan (A, B). Namun, satu-satunya determinan yang secara fungsional menentukan atribut yang lain dalam relasi adalah (A, B).
Jadi (A, B) diidentifikasi sebagai kunci primer dari relasi.
37 Pearson Education Limited 1995, 2005
-
Proses Normalisasi
Setelah normalisasi dilakukan, relasi
menjadi jauh lebih ketat (kuat) dalam
formatnya dan juga lebih tidak mudah
goyah ketika ada anomali update.
38 Pearson Education Limited 1995, 2005
-
Proses Normalisasi
39 Pearson Education Limited 1995, 2005
-
Proses Normalisasi
40
Pearson Education Limited 1995, 2005
-
Unnormalized Form (UNF)
Bentuk yang tidak ternormalisasi
(unnormalized form):
Berupa suatu tabel yang memuat satu atau lebih grup berulang (repeating groups)
Untuk membuat bentuk tabel tidak
ternormalisasi
Ubahlah data dari sumber informasi (misal formulir) ke dalam format tabel dengan kolom
dan baris
41 Pearson Education Limited 1995, 2005
-
First Normal Form (1NF)
Bentuk normal pertama (First Normal
Form / 1NF):
Merupakan suatu relasi dimana interseksi dari setiap baris dan kolom memuat tepat
satu nilai.
42 Pearson Education Limited 1995, 2005
-
Mengubah UNF Menjadi 1NF
Calonkan suatu atribut atau
sekelompok atribut untuk bertindak
sebagai kunci dari tabel yang tidak
ternormalisasi.
Identifikasi grup berulang dalam tabel
tidak ternormalisasi yang menyatakan
perulangan untuk setiap atribut kunci.
43 Pearson Education Limited 1995, 2005
-
Mengubah UNF Menjadi 1NF
Hilangkan grup berulang dengan cara:
Masukkan data yang sesuai ke dalam kolom atau baris yang kosong yang
memuat data yang diulang tersebut
(flattening the table)
Atau dengan menempatkan data yang berulang bersama dengan copy dari
atribut kunci asalnya ke dalam suatu
relasi yang terpisah.
44 Pearson Education Limited 1995, 2005
-
Second Normal Form (2NF)
Berdasar pada konsep
ketergantungan fungsional penuh.
Ketergantungan fungsional penuh
menunjukkan bahwa jika
A dan B adalah atribut dari suatu relasi
B tergantung penuh pada A jika B tergantung pada A tetapi tidak tergantung
pada himpunan bagian yang wajar dari A.
45 Pearson Education Limited 1995, 2005
-
Second Normal Form (2NF)
Bentuk normal kedua (Second Normal
Form / 2NF) adalah:
Suatu relasi yang berada dalam bentuk 1NF DAN
Setiap atribut bukan kunci primernya tergantung fungsional penuh pada kunci
primer.
46 Pearson Education Limited 1995, 2005
-
Mengubah 1NF Menjadi 2NF
Identifikasi kunci primer dari relasi 1NF
Identifikasi ketergantungan fungsional dalam relasi
Jika terdapat ketergantungan parsial pada kunci primer, hilangkan dengan menempatkannya dalam sebuah relasi baru beserta salinan (copy) dari determinannya.
47
Pearson Education Limited 1995, 2005
-
Third Normal Form (3NF)
Berdasar pada konsep ketergantungan transitif.
Ketergantungan transitif adalah suatu kondisi dimana A, B dan C adalah atribut dari suatu relasi
sedemikian hingga jika A B and B C, maka C tergantung transitif pada A melalui B. (Asumsi: A tidak tergantung fungsional pada B atau C).
48 Pearson Education Limited 1995, 2005
-
Third Normal Form (3NF)
Bentuk Normal ketiga (Third Normal
Form / 3NF) adalah
Suatu relasi yang berada dalam bentuk 1NF dan 2NF dan tidak ada atribut bukan
kunci yang tergantung transitif pada kunci
primer.
49 Pearson Education Limited 1995, 2005
-
Mengubah 2NF menjadi 3NF
Identifikasi kunci primer dari relasi 2NF
Identifikasi ketergantungan fungsional dalam relasi.
Jika terdapat ketergantungan transitif terhadap kunci primer, hilangkan dengan menempatkannya dalam relasi yang baru beserta copy (salinan) dari dominannya (sisi kiri panah).
50
Pearson Education Limited 1995, 2005
-
Definisi Umum dari 2NF dan 3NF
Second normal form (2NF) Sebuah relasi yang berada dalam bentuk
1NF dan setiap atribut bukan kunci primernya tergantung penuh pada sebarang kunci kandidat.
Third normal form (3NF) Sebuah relasi yang berada dalam bentuk
1NF dan 2NF dan tidak ada atribut bukan kunci primer yang tergantung transitif pada sebarang kunci kandidat
51 Pearson Education Limited 1995, 2005