Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Modul ke: Fakultas Program Studi Normalisasi Mata Kuliah: Basis Data 10 ILMU KOMPUTER Teknik Informatika.

Presentasi serupa


Presentasi berjudul: "Modul ke: Fakultas Program Studi Normalisasi Mata Kuliah: Basis Data 10 ILMU KOMPUTER Teknik Informatika."— Transcript presentasi:

1 Modul ke: Fakultas Program Studi Normalisasi Mata Kuliah: Basis Data 10 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 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 Direpresentasikan dalam diagram Determinant dari functional dependency mengacu kepada atribut atau himpunan atribut disebelah kiri anak panah. Functional Dependency

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 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_pesananNo_pemNo_barJml P AM234K93425 P AM124K93410 P AJ546K P AF122K P AF122K93413 Ketergantungan Fungsional Penuh

19 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. Ketergantungan Fungsional Penuh

20 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: Ketergantungan Fungsional Parsial

21 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_pesananNo_pemNa_pemNo_barNa_barJml P AM234AnggitaK934Mouse Optik25 P AM124RonnyK934Mouse Optik10 P AJ546JasmineK931Monitor LCD120 P AF122AlfinaK931Monitor LCD125 P AF122AlfinaK934Mouse Optik13 Ketergantungan Fungsional Parsial

22 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 Ketergantungan Fungsional Transitif

23 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_pesananNo_pemNo_barNa_barJml P AM234K934Mouse Optik25 P AM124K934Mouse Optik10 P AJ546K931Monitor LCD120 P AF122K931Monitor LCD125 P AF122K934Mouse Optik13 Ketergantungan Fungsional Transitif

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

25 Any Question?

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

27 Terima Kasih Team Penyusun


Download ppt "Modul ke: Fakultas Program Studi Normalisasi Mata Kuliah: Basis Data 10 ILMU KOMPUTER Teknik Informatika."

Presentasi serupa


Iklan oleh Google