Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

10 Normalisasi Mata Kuliah: Basis Data ILMU KOMPUTER

Presentasi serupa


Presentasi berjudul: "10 Normalisasi Mata Kuliah: Basis Data ILMU KOMPUTER"— Transcript presentasi:

1 10 Normalisasi Mata Kuliah: Basis Data ILMU KOMPUTER
Teknik Informatika

2 Video Normalisasi Data Redundancy Update Anomalies Functional Dependency Ketergantungan Fungsional Penuh, Parsial, Transitif Daftar Pustaka

3

4 Normalisasi Tujuan utama dalam pengembangan model data logikal pada sistem database relasional adalah untuk menciptakan representasi akurat suatu data, keterhubungannya dan batasan-batasannya. Untuk mencapai tujuan ini, maka harus ditetapkan/diidentifikasi sekumpulan relasi. 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).

5 Normalisasi Berdasarkan pada functional dependencies antar atribut dalam relasi Sebuah relasi dapat dinormalisasi kedalam bentuk tertentu untuk mengatasi kemungkinan terjadinya pengulangan dari update yang tidak baik. Normalisasi adalah suatu teknik untuk menghasilkan sekumpulan relasi dengan sifat-sifat (properties) yang diinginkan, memenuhi kebutuhan data pada enterprise.

6 Data Redundancy Tujuan utama dari desain database relasional adalah untuk mengelompokkan atribut-atribut kedalam relasi-relasi sehingga meminimalisasi redundansi data dan mengurangi penggunaan tempat penyimpanan yang dibutuhkan oleh sebuah relasi dasar. Masalah-masalah yang terkait dengan redundansi dapat dijelaskan dengan membandingkan relasi Staff dan Branch dengan relasi StaffBranch.

7 Data Redundancy

8 Data Redundancy Relasi StaffBranch memiliki data redundan, yaitu detail dari branch dituliskan berulang-ulang untuk setiap staff. Sebaliknya, informasi mengenai branch muncul hanya satu kali pada relasi Branch dan hanya branchNo saja yang diulang dalam relasi Staff, untuk merepresentasikan dimana setiap staff tersebut bekerja.

9 Update Anomalies Relasi yang mengandung informasi yang redundan dapat diakibatkan oleh update anomalies. Beberapa tipe dari update anomalies, diantaranya: Insertion: anomaly yang terjadi apabila terdapat penyisipan baris baru pada tabel, (adanya PK yang kosong) Deletion: anomaly yang terjadi apabila terdapat penghapusan baris dari tabel, (ada informasi yang semestinya tidak hilang menjadi hilang bersamaan dihapusnya sebuah baris dalam tabel) Modification: anomaly yang terjadi apabila terdapat perubahan pada sebuah baris saja, tanpa merubah sisa baris dengan definisi yang sama.

10 Update Anomalies Pada contoh dari tabel staffBranch dapat dilihat anomaly-anomaly sebagai berikut: Anomaly insertion, apabila disisipkan sebuah baris staff baru, maka atribut yang akan disisipkan hanya staffno, sname, posisition dan salary. Padahal pada tabel tersebut PK adalah staffno dan Branchno. Maka disini terdapat anomaly bahwa terdapat PK yang kosong. Anomaly deletion, apabila terdapat staff yang mengundurkan diri, yaitu Mary Howe. Ketika menghapus informasi tentang Mary Howe, maka satu baris akan ikut terhapus, demikian pula informasi tentang cabang yang ada di Glasgow. Sehingga informasi cabang tidak lagi menyimpan informasi tentang cabang Glasgow. Anomaly update, apabila kita hendak mengganti informasi pada satu field. Tetapi karena terdapat redundansi maka ketika di update hanya terjadi pada 1 baris saja, sedangkan baris-baris yang lain tidak ikut di update sehingga menimbulkan inkonsistensi.

11 Update Anomalies Untuk mengatasi anomalies ini dapat dilakukan decomposotion pada relasi dasar. Terdapat dua sifat Decomposition yaitu: Lossless-join Memungkinkan kita menemukan suatu instance relasi dasar dari instance koresponden dalam relasi yang lebih kecil. Dependency Preservation Properties Memungkinkan kita untuk mengadakan batasan pada relasi dasar dengan menyediakan beberapa batasan pada relasi yang lebih kecil.

12 Functional Dependency
Merupakan konsep inti yang terkait dengan normalisasi. 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) Functional Dependency merupakan sifat dari arti semantik suatu atribut dalam sebuah relasi.

13 Functional Dependency
Direpresentasikan dalam diagram Determinant dari functional dependency mengacu kepada atribut atau himpunan atribut disebelah kiri anak panah.

14 Example - Functional Dependency

15 Functional Dependency
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 Nontrivial. Kumpulan lengkap dari sebuah functional dependency untuk suatu relasi bisa sangat besar. Penting untuk menemukan pola pendekatan yang dapat mengurangi himpunan/kumpulan tersebut untuk mendapatkan ukuran yang lebih mudah diatur.

16 Functional Dependency
Perlu untuk mengidentifikasi himpunan functional dependency (direpresentasikan oleh X) untuk relasi yang lebih kecil daripada himpunan lengkap functional dependency (direpresentasikan oleh Y) untuk relasi tersebut dan memiliki sifat disetiap functional dependency pada Y dipenuhi dengan functional dependencies pada X. Himpunan dari seluruh functional dependency yang dipenuhi dengan himpunan yang diberikan dari functional dependencies X disebut closure X (dituliskan, X+). Himpunan inference rules, disebut Armstrong’s axioms, menetapkan bagaimana functional dependency yang baru dapat disimpulkan dari functional dependency yang sudah ada.

17 Functional Dependency
Misalkan A, B, dan C merupakan subset dari atribut suatu relasi R. Maka Armstrong’s axiom-nya adalah : Reflexivity, jika B merupakan subset dari A, then A  B Augmentation, jika A  B, maka A,C  B, C Transitivity, jika A  B dan B  C, maka A  C

18 Ketergantungan Fungsional Penuh
Contoh: Dari tabel diatas dapat diketahui bahwa Primary key nya adalah No-pesanan dan No-pem. Primary key ini adalah composite primary key yang berarti perimary key lebih dari 1. Berarti semua atribut yang non primary key harus bergantung penuh kepada keduanya. No_pesanan No_pem No_bar Jml P AM234 K934 25 P AM124 10 P AJ546 K931 120 P AF122 125 P 13

19 Ketergantungan Fungsional Penuh
No-pesanan, No-pem  No_bar No-pesanan, No-pem  jumlah Dari penjelasan diatas dapat diketahui bahwa nomor pemesanan dan no pemesan, keduanya menentukan nomor barang yang dipesan dan keduanya juga menentukan berapa jumlah pesanan. Sehingga atribut yang bukan primary key semuanya bergantung pada primary key-nya.

20 Ketergantungan Fungsional Parsial
Ketergantungan fungsional parsial artinya bahwa dalam sebuah tabel ada atribut atau sebagian atribut yang tidak bergantung sepenuhnya kepada primary key di tabel tersebut. Hal ini biasa terjadi jika pada sebuah tabel terdiri dari lebih 1 primary key (composite primary key). Misalkan jika terdapat A, B  C, D. Dan A  E. Sehingga terdapat atribut E yang hanya bergantung kepada sebagian atribut primary key yaitu atribut A saja. Lihat gambar dibawah:

21 Ketergantungan Fungsional Parsial
Jika tabel seperti diatas, maka dapat dirtentukan sebagai primary key bahwa nomor pesanan dan nomor pemesan menentukan semua atribut yang ada pada tabel tersebut. Tetapi kenyataannya bahwa ada atribut Na_pem yang hanya tergantung pada No_pem dan tidak tergantung pada No_pesanan. Sehingga terjadi ketergantungan parsial antara Na_pem kepada No_pem. No_pesanan No_pem Na_pem No_bar Na_bar Jml P AM234 Anggita K934 Mouse Optik 25 P AM124 Ronny 10 P AJ546 Jasmine K931 Monitor LCD 120 P AF122 Alfina 125 P 13

22 Ketergantungan Fungsional Transitif
Ketergantungan fungsional transitif artinya jika pada sebuah tabel terdapat atribut yang tidak hanya tergantung kepada primary keynya, tetapi kepada atribut lain yang bukann kunci. Sehingga keadaan tersebut dapat diidentifikasikan dengan notasi: A  B, B  C

23 Ketergantungan Fungsional Transitif
Perhatikan tabel contoh dibawah. Terdapat atribut nama barang yang tergantung pada kedua atribut kunci primer. Tetapi pada kenyataannya atribut nama barang ini bergantung kepada no_barang, sehingga terdapat ketergantungan transitif terhadap no_barang yang juga tergantung kepada atribut kunci primer yaitu No_pemesanan dan No_pemesan. No_pesanan No_pem No_bar Na_bar Jml P AM234 K934 Mouse Optik 25 P AM124 10 P AJ546 K931 Monitor LCD 120 P AF122 125 P 13

24 No_pesanan, No_pem  No_bar
Ketergantungan Fungsional Transitif No_pesanan, No_pem  No_bar No_bar  Na_bar Sehingga ada ketergantungan transitif dari No_pesanan, No_pem  No_bar  Na_bar

25 Any Question?

26 Video & Sound Gambar Buku Courtesy of Youtube https://google.co.id
Thomas Connolly > Carolyn Begg, Database Systems, Fourth Edition.

27 Team Penyusun


Download ppt "10 Normalisasi Mata Kuliah: Basis Data ILMU KOMPUTER"

Presentasi serupa


Iklan oleh Google