ringkasan pbd untuk uas version 2

19
Ringkasan PBD untuk UAS 1. Normalisasi a. Definisi normalisasi Normalisasi adalah sebuah teknik atau proses agar table menjadi normal untuk mengurangi redudansi data. b. Tujuan normalisasi (hal 452) Tujuan utama dari normalisasi adalah untuk mengurangi dampak negative dari redudansi data (dampak negative tersebut adalah menaikkan storage data dan adanya anomali [insert, update, delete] data) ini dari ibunya Dari buku, tujuan normalisasi adalah Database lebih mudah diakses dan dimaintain oleh pengguna Mengurangi pemakaian storage data. c. Anomali Anomali ada tiga yaitu insertion, deletion dan modification anomali Insertion anomali

Upload: kelvin-wingkie-handrianto

Post on 14-Apr-2016

32 views

Category:

Documents


5 download

DESCRIPTION

Tentang ringkasan Pemorgraman basis data

TRANSCRIPT

Page 1: Ringkasan PBD Untuk UAS Version 2

Ringkasan PBD untuk UAS

1. Normalisasi

a. Definisi normalisasi

Normalisasi adalah sebuah teknik atau proses agar table menjadi normal untuk

mengurangi redudansi data.

b. Tujuan normalisasi (hal 452)

Tujuan utama dari normalisasi adalah untuk mengurangi dampak negative dari

redudansi data (dampak negative tersebut adalah menaikkan storage data dan adanya

anomali [insert, update, delete] data) ini dari ibunya

Dari buku, tujuan normalisasi adalah

Database lebih mudah diakses dan dimaintain oleh pengguna

Mengurangi pemakaian storage data.

c. Anomali

Anomali ada tiga yaitu insertion, deletion dan modification anomali

Insertion anomali

Pada saat kita melakukan insert pada table di atas, maka dapat terjadi inkonsistensi

data pada branch address. Misalnya, ada pegawai baru yang bekerja di B007, kita

Page 2: Ringkasan PBD Untuk UAS Version 2

harus memastikan alamat branch tersebut telah benar dan sama di tuple/record

yang telah ada sebelumnya agar data tetap konsisten.

Oleh karena itu, dilakukan normalisasi dengan memisahkan Staff dan Branch ke

dalam dua table yang berbeda.

Deletion anomali

Masih merujuk pada gambar table staffbranch. Bila kita melakukan SQL statement

untuk menghapus staff ‘SA9’, maka detail dari branch B007 akan hilang bagaikan

butiran debu.

Modification anomali

Masih merujuk pada gambar table staffbranch. Bila kita ingin mengupdate alamat

branch dari B003, maka kita harus mengupdate semua tuple staff yang bekerja pada

branch tersebut. Kalau tidak, bisa terjadi inkonsistensi data.

d. Bagaimana normalisasi mendukung desain database? (hal 453)

Use Top down approach

Use Normalization as a Bottom-Up technique to create set of relations

Use Normalization as a Validation technique to check structure of relations

Page 3: Ringkasan PBD Untuk UAS Version 2

e. Tahap-tahap normalisasi (hal 464-473)

Page 4: Ringkasan PBD Untuk UAS Version 2

UNF (Unnormalized form)

Semua atribut dalam yang ada dalam sebuah kwitansi transaksi dijadikan sebuah

table

(lihat halaman 468)

1NF (First Normal Form)

Page 5: Ringkasan PBD Untuk UAS Version 2

Pada 1NF itu ada 2 cara, pertama flatten table

Yang kedua memisahkan header dan detail

2NF (Second Normal Form) (hal 470)

Remove Partial Dependency

Partial dependency adalah ketika beberapa atribut bisa dikeluarkan dari

suatu table tapi masih dapat berdiri sendiri (hal 459).

Page 6: Ringkasan PBD Untuk UAS Version 2

3NF (Third Normal Form) (hal 471)

Remove transitive dependency

Transitive dependency adalah B bergantung secara fungsional terhadap A, C

bergantung secara fungsional terhadap B, maka C secara transitif bergantung

pada A melalui B. (hal 460)

Hasil 3NF:

f. Advanced Normalization

Tujuan BCNF adalah untuk mengurangi redundancy yang bisa muncul pada relasi yang

ada di 3NF

Tujuan 4NF untuk menghindari relasi memiliki nontrivial multi-valued dependency.

Tujuan 5NF untuk menghindari relasi memiliki nontrivial join dependency.

2. Metodologi

Page 7: Ringkasan PBD Untuk UAS Version 2

Design methodology adalah pendekatan terstruktur yang menggunakan bantuan prosedur,

teknik, tools, dan dokumentasi untuk mendukung dan memfasilitasi proses desain.

a. Conceptual Database Design (hal 503 chapter 16)

Conceptual Database Design adalah proses membangun model data yang

digunakan dalam perusahaan, independent dari semua physical consideration.

Tujuan utama dari Conceptual Database Design adalah untuk membangun

representasi konseptual dari database, termasuk identifikasi entitas, relationship, dan

attribute yang penting.

Langkah-langkah dalam Conceptual db design (hal 508)

Step 1.1 Mengidentifikasi tipe entitas

Tujuan: untuk mengidentifikasi entitas apa saja yang diperlukan.

Tipe entitas dapat diidentifikasi dengan cara memeriksa users’ requirement

specification. Dari spesifikasi ini, kita dapat mengidentifikasi noun yang disebutkan.

Cara alternative adalah mencari objek yang memiliki eksistensi in their own right.

Misalnya, staff adalah sebuah entitas karena staff eksis meskipun kita tidak

mengetahui nama, posisi, dll.

Step 1.2 Mengidentifikasi tipe relasi

Tujuan: untuk mengidentifikasi relasi penting yang ada di antara tipe entitas.

Page 8: Ringkasan PBD Untuk UAS Version 2

Kita dapat menggunakan grammar dari spesifikasi kebutuhan untuk

mengidentifikasi relasi. Pada umumnya, relasi diindikasikan oleh kata kerja atau

verbal expression.

Menggunakan ERD

Gunakan ER diagram untuk memudahkan penggambarkan entitas dan

bagaimana mereka berelasi satu sama lain.

Menentukan multiplicity constraints of relationship types

Multiplicity constraint digunakan untuk mengecek dan mempertahankan

kualitas data. Constraint ini untuk menegaskan kejadian entitas yang

dapat diaplikasikan ketika database diupdate untuk menetukan apakah

update tersebut melanggar aturan yang telah ditentukan perusahaan.

Mengecek fan dan chasm trap

Step1.3 Mengidentifikasi dan menghubungkan atribut dengan tipe entitas atau relasi

Tujuan: untuk menghubungkan atribut dengan entitas atau relasi yang sesuai

Dengan cara yang sama, dengan mengidentifikasi entitas, kita mencari noun atau

noun phrase dari user requirement spesicfication. Attribute dapat diidentifikasi di

mana nuon atau noun phrase adalah sebuah property, kualitas, identifier, atau

karakteristik dari salah satu entitas atau relasi.

Simple/composite attribute

Identifikasi semua simple attribute yang direpresentasikan dalam

konseptual data model termasuk attribute yang menyusun composite

atribut.

Single/multi-valued attribute

Contoh: telephone.

Derived attribute

Derived atribut harus ditampilkan dalam data model untuk menghindari

potensi hilangnya informasi.

Document attribute

Page 9: Ringkasan PBD Untuk UAS Version 2

Simpan informasi berikut utk setiap attribute

- Attribute name and description

- Datatype and length

- Alias dari attribute

- Apakah atribut composite atau tidak, jika ya, simple atribut yang

menyusun composite attribute

- Apakah atribut multivalued atau tidak

- Apakah atribut derived atau tidak, jika ya, bagaimana perhitungannya

- Default value dari attribute

Step 1.4 Menentukan domain atribut

Domain attribute yang ditentukan adalah tipe data, size dan value.

Step 1.5 Menentukan candidate, primary dan alternate key attributes

Tujuan: untuk mengidentifikasi candidate key untuk setiap tipe entitas dan jika lebih

dari satu, maka harus memilih satu sebagai primary key, dan yang lain menjadi

alternate key.

Candidate key adalah minimal set atribut dari entitas yang mengidentifikasi

secara unik setiap kejadian dari entitas. Primary key adalah candidate key yang

terpilih untuk mengidentifikasi entitas secara unik. Candidate key yang tersisa

disebut sebagai alternate key.

Ketika memilih primary key, pakai guidelines berikut untuk membantu.

- Candidate key dengan minimal set of attribute

- Candidate key yang nilainya paling jarang berubah

- Candidate key dengan karakter paling sedikit (untuk textual)

- Candidate key dengan nilai minimum paling kecil (untuk numeric)

- Candidate key yang paling gampang digunakan dari sisi pandang user

Step 1.6 Mempertimbangkan menggunakan enhanced modeling concepts (optional)

Page 10: Ringkasan PBD Untuk UAS Version 2

Tujuan: Mempertimbangkan penggunaan enhanced modeling concepts, seperti

specialization/generalization, aggregation, and composition.

Step 1.7 Memeriksa model untuk redudansi

Tujuan: Untuk mengecek adanya redundancy dalam model

- Memeriksa ulang relasi one to one

- Mengeluarkan relasi yang redundan

- Mempertimbangkan dimensi waktu

Step 1.8 Memeriksa model konseptual dengan transaksi pengguna

Tujuan: untuk memastikan konseptual data model mendukung transaksi yang

dibutuhkan

- Mendeskripsikan transaksi

- Menggunakan transaksi pathways

Step 1.9 Meninjau conceptual data model dengan pengguna

Tujuan: Untuk meninjau conceptual data model dengan pengguna untuk

memastikan bahwa mereka menganggap model tersebut menjadi representasi yang

benar dari kebutuhan data perusahaan.

b. Logical Database Design

Logical database design adalah proses membangun model data yang digunakan

dalam perusahaan berdasarkan sebuah data model yang spesifik, tetapi independent

dari DBMS tertentu dan pertimbangan physical lainnya.

Tujuan utama Logical db design adalah untuk mengubah representasi konseptual

menjadi struktur logikal database, yang termasuk mendesain relasi.

Langkah-langkah dalam Logikal db design

Page 11: Ringkasan PBD Untuk UAS Version 2

c. Physical Database Design

Physical Database design adalah proses memproduksi deskripsi dari

implementasi database di secondary storage; menjelaskan relasi dasar, file organisasi,

dan index yang digunakan untuk mencapai akses data yang efisien dan integrity

constraint yang diperlukan dan security measures.

Tujuan utama physical database design adalah untuk memutuskan bagaimana

struktur logikal diimplementasikan secara fisik (berdasarkan relasi) ke dalam DBMS

target.

Langkah-langkah dalam physcial db design

Page 12: Ringkasan PBD Untuk UAS Version 2

d. Monitor and Tuning

Step 7 Consider the introduction of controlled redundancy

Tujuan: untuk menentukan apakah introducing redundancy ke dalam controlled manner

dengan melonggarkan peraturan normalisasi akan meningkatkan performa sistem.

(denormalisasi).

Step 7.1 Combining (1:1) Relationship

Misalnya ada table client dan interview. Kita dapat menggabungkan table tersebut

menjadi satu table baru yaitu ClientInterview agar dapat menghemat space.

Step 7.2 Duplicating non-key attributes in (1:*) relationship to reduce join

Misalkan ada table Property For Rent dan Private Owner. Seringkali ketika kita ingin

menampilkan Property For Rent maka kita juga akan menampilkan pemilik property

tersebut. Untuk mengurangi join, maka kita dapat menambahkan attribute non key

misalkan nama belakang dari owner pada table property for rent.

(hal 589-590)

Step 7.3 Duplicating foreign key attributes in (1:*) relationship to reduce join

Page 13: Ringkasan PBD Untuk UAS Version 2

Misalkan ada tiga table seperti gambar di atas. Kita ingin mengetahui private owner

tersebut berada di branch yang mana. Apabila table dalam database seperti pada

gambar di atas, maka kita akan mendapatkan informasi branch melalui property for

rent, sehingga ada join yang harus dibuat. Untuk mengurangi join, maka kita tinggal

menambahkan foreign key branch no pada table private owner.

Step 7.4 Duplicating attributes in (*:*) relationships to reduce joins

(Hal 593)

Intinya, masukin attribute dari table lain yang diperlukan dalam suatu table yang

akan diselect (hanya yg many to many relationship (biasanya attributenya dimasukin

ke table detail))

Step 7.5 Introducing repeating groups

Page 14: Ringkasan PBD Untuk UAS Version 2

Repeating group dapat disatukan lagi ke dalam sebuah table kalau :

- Jumlah pasti dari item repeating group dapat diketahui

- Angkanya static dan tidak akan berubah-ubah

- Jumlahnya tidak terlalu besar, pada umumnya tidak lebih besar dari 10.

Step 7.6 Creating extract tables

Intinya, untuk mempercepat kinerja pembuatan report pada saat peak time, kita

membuat extract table yang memiliki denormalisasi yang tinggi berdasarkan relasi

yang dibutuhkan oleh report.

Step 7.7 Partioning relations

Terbagi atas 3 :

Horizontal, Vertical dan mix (gabungan hori dan verti).

Implikasi dari denormalisasi :

a. Mempertimbangkan kembali pilihan indeks terhadap relasi yang didenormalisasi.

b. Bagaimana mempertahankan integritas data.

Solusi umum:

Page 15: Ringkasan PBD Untuk UAS Version 2

a. Trigger -> untuk mengupdate otomatis derived atau duplicated data

b. Transaction -> mengupdate denormalised data sebagai single action

c. Batch reconciliation -> membuat denormalisasi data konsisten

Step 8 Monitor and tune the operational System

Faktor yang harus diukur efisiensinya:

a. Transaction throughput -> jumlah transaksi yang dapat dilakukan dalam jangka waktu

tertentu

b. Response time -> waktu yang dibutuhkan untuk menyelesaikan sebuah transaksi

c. Disk storage -> jumlah total dari disk space yang dibutuhkan untuk menyimpan database

file.