Senin, 18 Juni 2012

LINGKUNGAN DATABASE


LINGKUNGAN DATABASE
CONCURRENCY (KONKURENSI)

Ada 3 masalah yang disebabkan oleh Concurrency :

1. Masalah kehilangan modifikasi (Lost Update
Problem)
Masalah ini timbul jika dua transaksi mengakses item
database yang sama yang mengakibatkan nilai dari
database tersebut menjadi tidak benar.















2. Masalah Modifikasi Sementara (uncommited Update
Problem)
Masalah ini timbul jika transaksi membaca suatu record
yang sudah dimodifikasi oleh transaksi lain tetapi belum
terselesaikan (uncommited), terdapat kemungkinan
kalau transaksi tersebut dibatalkan (rollback).














3. Masalah Analisa yang tidak konsisten (Problem of
inconsistency Analysis)
Masalah ini timbul jika sebuah transaksi membaca
suatu nilai tetapi transaksi yang kedua
mengupdate beberapa nilai tersebut selama
eksekusi transaksi pertama















LOCKING adalah salah satu mekanisme pengontrol
concurrency

KONSEP DASAR :
Ketika sebuah transaksi memerlukan jaminan kalau
record yang diinginkan tidak akan berubah secara
mendadak, maka diperlukan kunci untuk record
tersebut

FUNGSI

Locking berfungsi untuk menjaga record tersebut agar tidak
dimodifikasi oleh transaksi lain.




















TIMESTAMPING
Adalah salah satu alternatif mekanisme kontrol
konkurensi yang dapat menghilangkan masalah dead
lock
Dua masalah yang timbul pada Timestamping :

1. Suatu transaksi memerintahkan untuk membaca
sebuah item yang sudah di update oleh transaksi yang
belakangan.

2. Suatu transaksi memerintahkan untuk menulis sebuah
item yan nilainya sudah dibaca atau ditulis oleh
transaksi yang belakangan

PERANCANGAN DAN IMPLEMENTASI BASIS DATA MENGGUNAKAN MYSQL

























Untuk mengekspor hasil rancangan database ke dalam
database digunakan Database Synchronization. Database
yang digunakan pada contoh ini adalah MySQL.
Sebelum melakukan sinkronisasi, kita perlu membuat
koneksi ke database MySQL terlebih dahulu. Jika remote
connection dengan root diperbolehkan maka gunakan user
root. Jika tidak maka kita butuh membuat user baru terlebih
dahulu. Berikut ini adalah cara bagaimana membuat user
baru yaitu db_owner.
































Latihan
1. Sebuah perusahaan yang melayani pemesanan
barang/produk umum memerlukan sebuah program aplikasi
yang berfungsi untuk menyimpan data produk beserta
suppliernya dan juga berfungsi untuk mencatat transaksi
pemesananan produk dari customer. Setiap produk yang
dipesan akan dikirim ke customer yang memesannya.
Rancanglah database untuk program aplikasi tersebut
dengan menggunakan DBDesigner dan ekspor hasilnya ke
server MySQL, untuk memenuhi keinginan
perusahaantersebut.

2. Seorang kolektor mobil ingin mendata seluruh mobil miliknya
dan memerlukan program aplikasi yang bisa berfungsi
untuk menyimpan data koleksi mobilnya. Rancanglah
database untuk program aplikasi tersebut dengan
menggunakan Bdesigner dan ekspor hasilnya ke server
MySQL, sehingga program yang dikembangkan bisa
memenuhi keinginan kolektor tersebut.

FRAGMENTASI DATA


FRAGMENTASI DATA
Merupakan sebuah proses pembagian atau pemetaan
database dimana database dipecah-pecah berdasarkan
kolom dan baris yang kemudian disimpan didalam site
atau unit komputer yang berbeda dalam suatu jaringan
data, sehingga memungkinkan untuk pengambilan
keputusan terhadap data yang telah terbagi.

Alasan-alasan diperlukannya fragmentasi, yaitu :

1. Penggunaan
2. Efisiensi
3. Paralleslisme
4. Keamanan

BEBERAPA PERATURAN YANG HARUS DIDEFINISIKAN
KETIKA MENDEFINISIKAN FRAGMENT :

1. Kondisi lengkap (Completeness)
sebuah unit data yang masih dalam bagian dari relasi
utama, maka data harus berada dalam satu fragmen.
Ketika ada relasi, pembagian datanya harus menjadi satu
kesatuan dengan relasinya.

2. Rekontruksi (Reconstruction)
sebuah relasi asli dapat dibuat kembali atau digabungkan
kembali dari sebuah fragmen. Ketika telah dipecah-pecah,
data masih memungkinkan untuk digabungkan kembali
dengan tidak mengubah struktur data.

3. Disjointness
data didalam fragmen tidak boleh diikutkan dalam fragmen
lain agar tidak terjadi redundancy data, kecuali untuk
atribut primary key dalam fragmentasi vertikal

Kerugian fragmentasi yaitu :

1. Kinerja yang dapat turun karena data tersebar dan butuh
proses untuk penggabungan kembali
2. Integritas yang dapat terganggu dikarenakan kegagalan
pada salah satu site database server

TIGA JENIS FRAGMENTASI :

1. Fragmentasi horisontal
terdiri dari tuple dari fragment global yang kemudian
dipecah-pecah atau disekat menjadi beberapa sub-sets

2. Fragmentasi vertikal
Membagi atribut-atribut dari fragment global yang
tersedia menjadi beberapa grup.

3. Fragmentasi campuran
Cara yang sederhana untuk membangun fragmentasi
campuran sbb :

a. Menggunakan fragmentasi horisontal pada
fragmentasi vertikal

b. Menggunakan fragmentasi vertical pada
fragmentasi horisontal


















DATABASE TERDISTRIBUSI
Yaitu kumpulan data yang digunakan bersama yang saling
terhubung secara logik tetapi tersebar secara fisik pada suatu
jaringan komputer.

Karakteristik Database terdistribusi, yaitu :

1. Kumpulan data yang digunakan bersama secara logik tersebar
pada sejumlah komputer yang berbeda

2. Komputer yang dihubungkan menggunakan jaringan
komunikasi

3. Data pada masing-masing situs dapat menangani aplikasiaplikasi
lokal secara otonom

4. Data pada masing situs dibawah kendali satu DBMS

5. Masing-masing DBMS berpartisipasi dalam sedikitnya satu
aplikasi global





















KEUNTUNGAN DAN KERUGIAN
DATABASE TERDISTRIBUSI
KEUNTUNGAN :

1. Secara alami mengikuti struktur organisasi
2. Adanya otonomi lokal
3. Sifatnya dapat dipakai secara bersama
4. Peningkatan ketersediaan
5. Peningkatan kehandalan
6. Peningkatan kinerja
7. Ekonomis
8. Pertumbuhan yang modular

KERUGIAN :
1. Harga software mahal (Biaya)
2. Kompleksitas
3. Kelemahan dalam keamanan
4. Sulitnya menjaga keutuhan data
5. Kurangnya standar
6. Kurangnya pengalaman
7. Perancangan basisdata lebih kompleks

Analisa kasus Perpustakaan Smart
• Pembuatan Salah satu Topologi Jaringan
Database Terdistribusi dari Perpustakaan Smart.
• Implementasikan Perpustakaan Smart
Fragmentasikan dengan 3 kondisi :
F.Horizontal,F.Vertikal & F.Campuran