DBMS pada umumnya memiliki fasilitas proteksi data, yaitu fasilitas yang bertujuan untuk melindungi data dari berbagai resiko yang mungkin terjadi dan membawa dampak dalam basis data. Untuk memproteksi data terhadap segala macam kemungkinan, DMBS menyediakan kontrol untuk : 1. Security , 2.Integrity, 3. Recovery, 4.Concurrency.
SECURITY DATA
Security merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh user yang tidak berwenang. Organisasi harus dapat mengidentifikasi masalah keamanan yang mungkin mengganggu jalan operasional basis data.
Penyalahgunaan basis data dapat dikategorikan sebagai tindakan yang disengaja maupun yang tidak sengaja.
Pada gambar diatas, menjelaskan identifikasi masalah yang dapat menggangu kinerja sistem komputer pada suatu organisasi. Untuk mengatasi masalah ini, security harus dilakukan pada beberapa tingkatan :
1. FISIKAL
Menempatkan sistem komputer pada lokasi yang aman secara fisik dari serangan yang dapat merusak.
2. MANUSIA
Wewenang pemakai harus dilakukan dengan hati-hati untuk mengurangi kemungkinan adanya manipulasi oleh pemakai yang tidak berwenang
3. SISTEM OPERASI
Walaupun sistem databasenya aman, kelemahan pada sistem operasi memungkinkan pengaksesan data oleh pihak tidak berwenang, karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh melalui terminal/jaringan.
4. SISTEM DATABASE
Beberapa pemakai yang berwenang dalam sistem database mungkin hanya boleh mengakses sebagian databasenya, yang lainnya hanya boleh melihat dan menggunakan tanpa boleh mengubahnya. Hal ini harus dapat dilakukan dalam sistem tersebut.
INTEGRITAS DATA
Salah satu karakteristik sistem informasi yang baik adalah kemampuannya memberikan informasi yang akurat dan tepat waktu. Keakuratan informasi hanya dapat diperoleh jika didukung perancangan dan implementasi database yang handal. Integrity di dalam istilah basis data berarti memeriksa keakuratan dan validasi data.
Oleh karena itu database harus menjamin integritas (keutuhan) data yang disimpannya. Harus dijamin agar perubahan terhadap basis data yang dilkaukan user yang berhak tidak menghasilkan ketidakkonsistenan data. Harus dijamin pula gara database tidak mengalami kerusakan secara sengaja. Untuk itu dalam database dikenal dengan aturan integritas (integrity constraints) yang mengatur definisi dan modifikasi terhadap database sehinggan menjamin integritas database tersebut.
Terdapat beberapa jenis aturan integritas (integrity constraints) yang menjamin konsistensi dan integritas database, yaitu :
1. Aturan integritas entitas (Entity Integrity Constraints), aturan ini diterapkan dengan cara mendeklarasikan kunci primer (primary key) untuk setiap entitas agar dijamin tidak ada baris-baris dalam table yang memiliki nilai yang sama (duplikat record).
2. Aturan Domain (Domain Constraints), domain merupakan kumpulan tipe data dan jangkauan nilai yang diperbolehkan pada atribut sebuah relasi. Untuk setiap atribut yang didefinisika dalam suatu relasi harus ditentukan definisi domain atribut tersebut. Definisi domain dari sebuah atribut akan mencakup : tipe data, panjang, format, jangkauan, nilai yang memungkinkan, keunikan dan kemungkinan data null. Aturan-aturan yang dirumuskan dalam definisi domain tersebut dinamakan aturan domain (domain constraints).
Atribut dari sebuah relasi perlu memiliki definisi domain dengan tujuan :
a. Sistem dapat mengcek keakuratan data yang dimasukan ke basis daa.
b. Menguji kueri apakah perbandingan dalam criteria yan dilakukan sudah sesuai.
3. Aturan integritas refensial (Referential Integrity Constraints), aturan Integritas Referensial adalah aturan yang mengatur kebeneran referensi dari satu obyek ke obyek lain dalam database.
4. Aturan berbasis atribut (Attribute-based Constraints) dan Aturan berbasis Record (Tuple Based Constraints), adalah aturan yang menentukan bahwa pada saat dilakkan insert dan update, nilai atribut tertentu harus memenuhi kondisi tertentu. Jika kondisi tidak dipenuhi maka system akan menolak dilakukannya proses input atau update.
Karakteristik dari kedua aturan ini adalah :
1. Attribute/Tuple-based constraints diberlakukan hanya pada proses insert dan update. Pada proses delete aturan ini tidak berlaku
2. Pada beberapa DBMS, attribute/tuple-based constraints hanya diperbolehkan beroperasi pada satu table , sehingga tidak boleh ada sub-kueri didalamnya. Namun ada juga DBMS yang memungkinkan aturan ini dikenakan pada beberapa table.
Contoh :
- Attribted-based constraints :
Operasi insert/update data pada table MAHASISWA mensyaratkan nilai atribut AGAMA adalah “Islam”, “Protestan”, “Katholik”, “Budha”, “Hindu”. Jika nilai atribut AGAMA bukan salah satu dari itu maka proses insert/update akan ditolak.
- Tuple-based constraints :
Operasi insert/update data pada table MAHASISWA mensyaratkan nilai atribut USIA < 30
5. Pernyataan (Assertions), assertions adalah aturan yang diterapkan untuk membuat agar database tetap pada kondisi yang diinginkan.
Karakteristik Assertions :
1. Berlaku pada proses insert/delelte/update
2. Bisa melibatkan beberapa table.
Contoh :
Dalam system Perbankan terdapat aturan : “Jumlah semua pinjaman pada setiap kantor cabang tidak boleh melebihi jumlah semua pinjaman pada cabang tersebut”.
Untuk mengimplementasikan aturan tersebut dibuat perintah SQL sebagai berikut :
Create assertion CONTROL_LOAN chek
(not exist
(select * from CABANG where
(select sum (jumlah) from PINJAMAN
where PINJAMAN.NAMA_CAB= CABANG.NAMA_CAB) >=
(select sum(SALDO) from SIMPANAN
Where SIMPANAN.NAMA_CAB=CABANG.NAMA_CAB)))
Ketika assertion dibuat, system akan menguji validitasnya. Jika assertion tersebut valid, maka setiap modifikasi dalam database akan diijinkan asalkan tidak menyebabkan assertion tersebut dilanggar. Akibatnya system akan membutuhkan waktu yang tidak sedikit untuk melakukan pengecekan apakah assertion dipenuhi atau tidak. Oleh karena itu, pemakaian assertion harus dipertimbangkan dengan hati-hati.
6. Pemicu (Trigger), trigger adalah aturan yang nengeksekusi peritah secara otomatis sebagai akibat sampingan sari proses modifikasi (insert/delete/update) dalam database. Ruang lingkup trigger bisa mencakup atribut dalam satu table atau dapat juga atribut dari beberapa table.
Operasi trigger mencakup komponen :
1. Aturan User : statemen yang digunakan untuk menyatakan operasi trigger
2. Event : operasi manipulasi data yang memicu operasi
3. Nama Table : nama table yang diakses/dimodfikasi
4. Kondisi : kondisi yang menyebabkan suatu operasi dijalankan
5. Aksi : tindakan yang dilakukan saat operasi dijalankan
CONCURRENCY DATA
Konkurensi berarti bahwa sejumlah transaksi diperkenankan untuk mengakses data yang sama dalam waktu yang sama. Hal ini seperti ini menjadi titik perhatian bagi DBMS yang mendukung multiuser. Sehingga diperlukan mekanisme pengontrolan konkurensi. Tujuannya untuk menjamin bahwa transaksi-transaksi yang konkuren tidak saling mengganggu operasi masing-masing.
Dalam kasus konkurensi, terdapat 3 masalah yang dapat terjadi :
1. Masalah Kehilangan Modifikasi (lost update problem)
2. Masalah Modifikasi Sementara ( uncommitted dependency problem)
3. Masalah Analisis Yang tidak Konsisten (inconsistent analysis problem)
Ad. 1 Masalah Kehilangan Modifikasi
Perhatikan ilustrasi berikut ini yang menggambarkan proses :
- Transaksi A membaca (retrieve) record r pada waktu t1
- Transakasi B membaca record r pada waktu t2
- Transakasi A meng-update record r (bedasarkan nilai pada waktu t1) pada waktu t3
- Transakasi B meng-update record r (bedasarkan nilai pada waktu t2, yang sama dengan nilai pada waktu t1) pada waktu 4
Hasilnya, update yang dilakukan oleh transaksi A akan hilang pada waktu t4 karena tertimpa oleh update transaksi B (yang tidak melihat hasil update transaksi A)
Ad. 2 Masalah Modifikasi Sementara
Masalah ini muncul jika suatu transaksi A diijinkan untuk membaca atau meng-update suatu record yang telah di-update oleh transaksi B namun transaksi B tersebut belum committed. Karena transaksi B belum committed maka selalu ada kemungkinan transaksi B tidak committed tetapi rolled back.
Perhatikan ilustrasi berikut ini, yang menggambarkan proses transaksi A melihat suatu update yang belum committed pada waktu t2. Update tersebut kemudian dibatalkan pada waktu t3. Dengan demikian transaksi A berjalan atas dasar asumsi yang salah (yaitu asumsi bahwa record r mempunyai nilai seperti pada waktu t2, padahal tidak)
Ad. 3 Masalah Analisis Yang Tidak Konsisten
Perhatikan ilustrasi dibawah ini yang menunjukkan 2 transaksi A dan B beroperasi pada suatu record rekening nasabah.
Transaksi A menjumlahkan total saldo pada rekening-rekening yang telah dibaca, sedangkan transaksi B mentransfer 10 dari rekening 3 ke rekening 1. Hasil dari transaksi A yaitu 110 adalah salah. Jika meneruskan prosesnya dengan menuliskan hasil pada basis data, akibatnya basis data akan berada dalam status inkonsisten. Dikatakan bahwa transaksi A telah melihat status inkonsisten dari basis datasehingga melakukan analisis yang inkonsisten.
ABOUTME
Hi all. Thankz For coming. I'm trying the best for this blog and you’ve to comment. What can I say, we are the best..
0 comments:
Post a Comment