Showing posts with label Perancangan DB Materi. Show all posts
Showing posts with label Perancangan DB Materi. Show all posts

Thursday, June 20, 2013

PEMBERIAN WEWENANG DAN VIEW

KONSEP VIEW adalah cara yang diberikan pada seorang pemakai untuk mendapatkan model database yang sesuai dengan kebutuhan perorangan

Database relational membuat pengamanan pada level :
  • Relasi, seorang pemakai diperbolehkan atau tidak mengakses langsung suatu relasi
  • View, seorang pemakai diperbolehkan atau tidak mengakses data yang terdapat pada view
  • Read Authorization, data dapat dibaca tapi tidak boleh dimodifikasi
  • Insert Authorozation, pemakai boleh menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada
  • Update Authorization, pemakai boleh memodifikasi tetapi tidak dapat menghapus data
  • Delete Authorization, pemakai boleh menghapus data
  • Index Authorization, pemakai boleh membuat atau menghapus index
  • Resource Authorization, mengizinkan pembuatan relasi – relasi baru
  • Alternation Authorization, mengizinkan penambahan atau penghapusan atribute dalam satu relasi
  • Drop Authorization, pemakai boleh menghapus relasi yang ada

CRASH DAN RECOVERY

PENGERTIAN :
Crash adalah suatu failure atau kegagalam dari suatu sistem

PENYEBAB DARI KEGAGALAN ADALAH :
1. Disk Crash yaitu informasi yang ada di disk akan hilang
2. Power failure yaitu informasi yang disimpan pada memori utama dan register akan hilang
3. Software Error yaitu output yang dihasilkan tidak betul dan sistem databasenya sendiri akan memasuki suatu kondisi tidak konsisten

KLASIFIKASI FAILURE
Berdasarkan Jenis storage
1. Volatile storage, biasanya informasi yang terdapat pada volatile akan hilang, jika terjadi kerusakan sistem
(system crash) contoh: RAM
2. Non Volatile Storage, biasanya informasi yang terdapat pada non volatile strorage tidak akan hilang jika terjadi kerusakan sistem contoh: ROM
3. Stable Storage, informasi yang terdapat dalam stable storage tidak pernah hilang. contoh: Harddisk RAID

Jenis kegagalan :
1. Logical Error, program tidak dapat lagi dilaksanakan disebabkan oleh kesalahan input, data tidak ditemukan, over flow
2. System Error, sistem berada pada keadaan yang tidak diinginkan, seperti terjadi deadlock, sebagai
akibat program tidak dapat dilanjutkan namun setelah beberapa selang waktu program dapat dijalankan kembali.
3. System Crash, kegagalan fungsi perangkat keras, menyebabkan hilangnya data pada volatile storage,
tetapi data pada non volatile storage masih tetap ada.
4. Disk Failure, hilangnya data dari sebuah blok disk disebabkan oleh kerusakan head atau kesalahan pada
waktu pengoperasian transfer data

TIMESTAMPING

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

LOCKING

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.

Jenis- Jenis Lock :
1. Share (S)
Kunci ini memungkinkan pengguna dan para pengguna konkuren yang lain dapat membaca record tetapi tidak mengubahnya.
2. Exclusive (X)
Kunci ini memungkinkan pengguna untuk membaca dan mengubah record. Sedangkan pengguna konkuren lain tidak diperbolehkan membaca ataupun mengubah record tersebut.

  • KASUS CARA KERJA LOCKING

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.
Contoh Lost Update problem
Data transaksi pada rekening bersama (Ika dan Susi)
Nilai saldo menjadi tidak benar disebabkan transaksi Susi membaca nilai saldo sebelum transaksi Ika mengubah nilai tersebut dalam database, sehingga nilai yang sudah di update yang dihasilkancdari transaksi Ika menjadi hilang.


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).
Contoh uncommited Update Problem
Nilai saldo menjadi tidak benar disebabkan terjadi RollBack pada T7 yang membatalkan transaksi
sebelumnya (T6), sehingga saldo seharusnya tetap 2.000.000


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.
Contoh Problem of inconsistency Analysis
Transaksi A menjumlahkan nilai 1, nilai 2 dan nilai 3
Transaksi B -> nilai 1 + 10, nilai 3 –10

Implementasi Basis Data Menggunakan SQLYog (MySQL GUI)

SQLyog merupakan salah satu perangkat lunak yang berfungsi untuk mengelola database MySQL dengan menggunakan Graphical User interface (GUI).

Berikut ini beberapa fungsi yang bisa digunakan pada SQLYog:
Membuat koneksi ke server MySQL
Klik menu File > New Connection akan tampil jendela koneksi berikut.

Klik tombol New dan akan tampil jendela New Connection, isilah nama koneksi kemudian klik OK seperti gambar berikut.


Pastikan Host Address, User Name dan yang lainya diisi dengan benar, kemudian klik Connect

Membuat database
Pilih menu DB > Create Database, kemudian tentukan nama database (data_penjualan).

Membuat tabel
Klik pada database untuk mengaktifkannya.
Berikut ini untuk membuat tabel langganan (lgn), pilih menu DB > Create Table, kemudian tentukan field- fieldnya, kemudian klik Create Table dan tentukan nama tabel.



Tambahkan beberapa tabel-tabel yang lain sbb:


        Melihat struktur tabel                      Mengubah struktur table        
                                                            Klik pada tabel yang akan diubah

Pilih menu Table > Alter Table, kemudian ubahlah.
Jika telah selesai klik Alter

Manipulasi data pada tabel
Untuk menambah, mungubah, menghapus dan melihat data pada tabel bisa dilakukan langsung pada tab Table Data seperti halnya pada MS-Access.

Mengeksekusi perintah SQL
Perintah-perintah SQL bisa dieksekusi dengan cara menuliskannya terlebih dahulu pada tab Query,






PERANCANGAN DAN IMPLEMENTASI BASIS DATA MENGGUNAKAN DB Designer Part 2

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.

Lakukan login terlebih dahulu ke MySQL dengan memasukkan password root.

Buat user baru bernama dbo dengan password ”owner”.
Ketikkan 3 perintah dibawah ini.

Buat Database baru yaitu dbpenjualan

Mengekspor Tabel Hasil Rancangan Ke Server Database
Mengekspor tabel ke server database bisa dilakukan dari menu Database Database Sychronisastion seperti gambar berikut

Lalu pilih MySQL sebagai database dan kemudian klik New
Database Connection

Masukkan Nilai berikut:
Connection Name : MySQL
Hostname : localhost
Database Name : dbpenjualan
UserName : dbo
Password : owner
Lalu klik OK

Klik Connect untuk terkoneksi ke MySQL

Klik Execute untuk mengeksekusi sinkronisasi

Setelah tampil jendela seperti di atas, selanjutnya klik tombol
EXECUTE untuk mengekspor tabel ke server database MySQL dan akan tampil progress report seperti berikut

PERANCANGAN DAN IMPLEMENTASI BASIS DATA MENGGUNAKAN DB Designer Part 1

Perancangan dan Implementasi Basis Data Menggunakan MYSQL
Perangkat Lunak Bantu untuk Perancangan Basis Data
Pada perangkat lunak bantu telah tersedia komponenkomponen (notasi-notasi) perancangan basis data.
Salah satu perangkat lunak bantu untuk keperluan semacam itu adalah DBDesigner yang dioptimalkan untuk MySQL Database.

  • Tampilan jendela DBDesigner

Contoh penggunaan DBDesigner.
Menggunakan Komponen TABEL dan RELASI Klik komponen Tabel pada toolbar seperti di gambar berikut.
Letakan komponen tsb. pada page area sehingga muncul komponen
Tabel (Table_01) pada page area, kemudian klik kanan komponen tsb sehingga muncul menu dan pilihlah Edit Object seperti berikut.


Menu Edit Object akan menampilkan jendela Table Editor.
Pada Table Editor kita bisa menentukan properties dari tabel seperti nama tabel, tipe data, primary key dsb.
Ubah dan simpanlah properties tabel (Table _01) menjadi tabel faktur (struktur tabel seperti pada pembahasan LRS tanpa ada FK) seperti berikut.

Ulangi langkah-langkah menggunakan komponen Table di atas (tabel faktur) untuk tabel barang dan langganan (struktur tabel seperti pada pembahasan LRS tanpa ada FK). Sehingga ada 3 komponen Table seperti gambar berikut


Langkah berikutnya membuat relasi 1-M antara langganan dengan faktur dengan cara klik komponen 1-n Relation pada toolbar seperti di gambar berikut.

Klik di tabel langganan kemudian klik di tabel faktur, sehingga muncul komponen relasi yang menghubungkan kedua tabel tsb. dan FK (NLgn) berada pada tabel faktur, seperti gambar berikut

Langkah berikutnya membuat relasi M-M antara faktur dengan barang dengan cara klik komponen n-m Relation pada toolbar seperti di gambar berikut

Klik di tabel faktur kemudian klik di tabel barang, sehingga muncul komponen relasi yang disertai munculnya tabel baru (faktur_has_barang) dan FK (Nfak & NBrg) berada pada tabel tsb, seperti gambar berikut.

Edit properties tabel faktur_has_barang yaitu dengan mengganti nama menjadi tabel transaksi dan menambahkan field Qty dan HrgTran. Sehingga menjadi seperti gambar berikut.

Untuk mengekspor hasil rancangan database ke dalam database digunakan Database Synchronization. Database yang digunakan pada contoh ini adalah MySQL.

Continue Part 2....

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

BENTUK-BENTUK TOPOLOGI DISTRIBUSI DATA :

a. Fully Connected network

b. Partialy conneted network


c. Tree Strutured Network


d. Ring network


e. Star network