normalisasi

34
Normalisasi Basis data 11

Upload: carney

Post on 12-Jan-2016

57 views

Category:

Documents


0 download

DESCRIPTION

Normalisasi. Basis data 11. Normalisasi. Normalisasi adalah suatu teknik untuk menghasilkan sekumpulan relasi dengan sifat-sifat ( properties ) yang diinginkan, memenuhi kebutuhan data pada enterprise. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Normalisasi

Normalisasi

Basis data 11

Page 2: Normalisasi

Normalisasi

• Normalisasi adalah suatu teknik untuk menghasilkan sekumpulan relasi dengan sifat-sifat (properties) yang diinginkan, memenuhi kebutuhan data pada enterprise.

• Sebuah relasi dapat dinormalisasi kedalam bentuk tertentu untuk mengatasi kemungkinan terjadinya pengulangan dari update yang tidak baik.

• Empat bentuk normal yang biasa digunakan yaitu, first normal form (1NF), second normal form (2NF) dan third normal form (3NF), dan Boyce–Codd normal form (BCNF).

Page 3: Normalisasi

Data redudancy

• Kerangkapan data dapat menyebabkan anomali

Page 4: Normalisasi

Update Anomalies

• Relasi yang mengandung informasi yang redundan dapat diakibatkan oleh update anomalies.

• Beberapa tipe dari update anomalies, diantaranya :– Insertion– Deletion– Modification

Page 5: Normalisasi

Functional Dependency

• Functional Dependency, menjelaskan relationship antar atribut-atribut dalam relasi.

• Misalkan, jika A dan B adalah atribut dari suatu relasi R, B dikatakan Functionally Dependent pada A (dinotasikan A --> B), jika setiap nilai A dihubungkan dengan tepat satu nilai B. ( A dan B masing-masing dapat terdiri atas satu atau lebih atribut)

Page 6: Normalisasi

• Direpresentasikan dalam diagram :

A B

B tergantung secara fungsional terhadap A

• Determinant dari functional dependency mengacu kepada atribut atau himpunan atribut disebelah kiri anak panah.

Page 7: Normalisasi

Contoh FD:

Page 8: Normalisasi

Karakteristik FD

• Karakteristik utama dari functional dependency yang digunakan dalam normalisasi : – Mempunyai relationship 1:1 antar atribut di

sebelah kiri dan kanan dependency.– Saling terkait (Hold for all time)– Misal :

staffNo sName dan sName staffNo

Page 9: Normalisasi

Proses Normalisasi

• Suatu teknik formal untuk menganalisa relasi berdasarkan primary key atau candidate key-nya dan functional dependency antar atribut.

• Dilakukan dalam beberapa langkah. Setiap langkah mengacu ke bentuk normal tertentu, sesuai dengan sifat yang dimilikinya.

• Setelah normalisasi diproses, relasi secara bertahap menjadi lebih terbatas/kuat bentuk formatnya dan juga mengurangi tindakan update yang anomali.

Page 10: Normalisasi

Lanjut…

Page 11: Normalisasi

Unnormalized Form (UNF)

• Merupakan suatu table yang berisikan satu atau lebih group/data yang berulang.

• Membuat tabel unnormalized yaitu dengan memindahkan data dari sumber informasi (Contoh : Form) kedalam format tabel dengan baris dan kolom.

Page 12: Normalisasi

First Normal Form (1NF)

• Merupakan sebuah relasi dimana setiap irisan antara baris dan kolom berisikan satu dan hanya satu nilai.

• UNF ke 1NF– Tunjuk satu atau sekumpulan atribut sebagai kunci untuk tabel

unnormalized.– Identifikasikan groups yang berulang dalam tabel unnormalized

yang berulang untuk kunci atribut.– Hapus group yang berulang dengan cara :

• Masukkan data yang semestinya kedalam kolom yang kosong pada baris yang berisikan data yang berulang (flattening the table), atau dengan cara

• Menggantikan data yang ada dengan copy dari kunci atribut yang sesungguhnya kedalam relasi terpisah.

Page 13: Normalisasi

Contoh:

Contoh sederhana DreamHome lease. Seorang klien bernama John Kay menyewa properti di Glasgow yang dimiliki oleh Tina Murphy. Dalam kasus ini diasumsikan seorang klien dapat menyewa sebuah properti hanya satu kali dan tidak dapat menyewa lebih dari satu pada saat yang bersamaan.Sample data yang digunakan diambil dari 2 kontrak dari 2 klien yang berbeda yaitu John Kay dan Aline Stewart yang diubah kedalam bentuk tabel sbb, disebut dengan

Page 14: Normalisasi
Page 15: Normalisasi

Proses:

• Tentukan atribut kunci untuk tabel unnormalized ClientRental , yaitu clientNo.

• Tentukan group/kelompok yang berulang untuk setiap clientNo, yaitu :– Group berulang = (properyNo, pAddress,

rentStart, rentFinish, rent, ownerNo, oName)

• Untuk mengubah tabel unnormalized menjadi 1NF, maka harus ditetapkan terdapat 1 nilai untuk setiap kolom dan baris. Dapat dicapai dengan memindahkan group yang berulang.

Page 16: Normalisasi

Sehingga menghasilkan 1NF sbb :

Page 17: Normalisasi

• Kemudian tentukan candidate key untuk relasi ClientRental dalam bentuk Composite Key yaitu (clienNo, propertyNo), (clientNo, rentStart), dan (propertyNo, rentFinish).

• Ketiga kombinasi tadi dibandingkan dan dipilih (clientNo, propertyNo) sebagai primary key.

• Sehingga relasi ClientRental didefinisikan :ClientRental (clientNo, propertyNo, cName, pAddress, rentStart, rentFinish, rent, ownerNo, oName)

Page 18: Normalisasi

Second Normal Form (2NF)

• Berdasarkan pada konsep full functional dependency, mengindikasikan bahwa, jika A dan B merupakan atribut dari sebuah relasi, B dikatakan fully dependent terhadap A jika B functionally dependent pada A tetapi tidak pada proper subset dari A.

• 2NF – merupakan sebuah relasi dalam 1NF dan setiap atribut non-primary-key bersifat fully functionally dependent pada primary key.

Page 19: Normalisasi

1NF ke 2 NF

• Identifikasikan primary key untuk relasi 1NF.

• Identifikasikan functional dependency dalam relasi.

• Jika terdapat partial dependency terhadap primary key, maka hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinan-nya.

Page 20: Normalisasi

Contoh:

• Direpresentasikan functional dependency (fd1 – fd6) untuk relasi: ClientRental dengan (clientNo, propertyNo) sebagai primary key.

• Walaupun ClientRental memiliki 3 candidate key, tetapi yang diperhatikan hanya keterkaitan terhadap primary key saja, karena menggunakan definisi dari 2 NF yang berhubungan hanya dengan primary key dari relasi yang bersangkutan.

• Sedangkan candidate key yang lain akan dipergunakan pada saat definisi umum untuk 2NF.

Page 21: Normalisasi
Page 22: Normalisasi

• fd1 clientNo, propertyNo rentStart, rentFinish(Primary Key)

• fd2 clientNo cName(Partial Dependency)

• fd3 propertyNo pAddress, rent, ownerNo, oName(Partial Dependency)

• fd4 ownerNo oName(Transitive Dependency)

• fd5 clientNo, rentStart propertyNo, pAdrress, • rentFinish, rent, ownerNo, oName

(Candidate Key)• fd6 properyNo, rentStart clientNo, cName,

rentFinish (Candidate Key)

Page 23: Normalisasi

Proses:

• Pada saat identifikasi functional dependency yang ada, dimulai dengan memeriksa apakah terdapat partial dependency terhadap primary key. Atribut (cName) partially dependent pada primary key, yaitu hanya atribut clientNo (fd2), atribut (pAddress, rent, ownerNo, oName) partially dependent pada primary key, yaitu hanya atribut propertyNo (fd3), atribut (rentStart dan rentFinish) fully dependent pada seluruh primary key, yaitu clientNo dan propertyNo (fd1).

• Identifikasi partial dependency pada relasi ClientRental mengindikasikan bahwa relasi tersebut tidak termasuk dalam 2NF. Untuk mengubah relasi ClientRental kedalam 2NF diperlukan pembuatan relasi baru dimana seluruh atribut non-primary-key dihapus/digantikan dengan atribut yang fully dependen.

Page 24: Normalisasi

bentuk 2NF menjadi

Page 25: Normalisasi

Hasil 2NF

• Karena setiap atribut non-primary-key bersifat fully dependent pada primary key dalam relasi, maka relasi-relasi diatas mempunyai bentuk :– Client (clientNo, cName)– Rental (clientNo, propertyNo,

rentStart, rentFinish)– PropertyOwner (propertyNo, pAddress, rent,

ownerNo, oName)

Page 26: Normalisasi

Third Normal Form (3NF)

• Berdasarkan pada konsep transitive dependency, yaitu suatu kondisi dimana A, B dan C merupakan atribut dari sebuah relasi, maka jika A B dan B C, maka C transitively dependent pada A melalui B. (menegaskan bahwa A tidak functionally dependent pada B atau C).

• 3NF – Adalah sebuah relasi dalam 1NF dan 2NF dan dimana tidak terdapat atribut non-primary-key attribute yang bersifat transitively dependent pada primary key.

Page 27: Normalisasi

2NF ke 3NF :

• Identifikasikan primary key dalam relasi 2NF.

• Identifikasikan functional dependency dalam relasi.

• Jika terdapat transitive dependency terhadap primary key, hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinan-nya.

Page 28: Normalisasi

Contoh:• Functional dependency yang ada dalam relasi Client,

Rental dan PropertyOwner, yang dihasilkan dari contoh sebelumnya, sbb :

Page 29: Normalisasi

Deskripsi::• Seluruh atribut non-primary key yang terdapat pada

relasi client dan Rental bersifat functionally dependent pada masing-masing primary key-nya dan tidak memiliki transitive dependency yang dibutuhkan dalam 3NF.

• fd yang diberi label tanda kutip (fd5’ dan fd6’) menandakan bahwa dependency yang terdapat didalamnya telah dibandingkan sebelumnya (bandingkan dgn fd1).

• Seluruh non-primary-key pada relasi PropertyOwner bersifat functionally dependen pada primary key-nya, terkecuali oName yang juga dependent pada ownerNo.

• Transitive dependency adalah jika suatu atribut dependent pada satu atau lebih non-primary-key.

Page 30: Normalisasi

• Untuk merubah relasi PropertyOwner kedalam bentuk 3NF, harus menghilangkan transitive dependencies dengan membuat 2 relasi baru yaitu PropertyForRent dan Owner.

• Sehingga relasi yang baru tersebut mempunyai bentuk sbb :

PropertyForRent (propertyNo, pAddress, rent, ownerNo)

Owner(ownerNo, oName)

Page 31: Normalisasi
Page 32: Normalisasi
Page 33: Normalisasi

Definisi umum 2NF dan 3NF

• Second normal form (2NF)• Suatu relasi yang ada dalam 1NF dan setiap

atribut non-primary-key bersifat fully functionally dependent pada candidate key.

• Third normal form (3NF)• Suatu relasi yang ada dalam 1NF dan 2NF dan

dimana tidak terdapat atribut non-primary-key attribute yang bersifat transitively dependent pada candidate key.

Page 34: Normalisasi

Langkah-langkah Normalisasi: