Senin, 17 Juni 2013

INTEGRITAS DATA, CONCURENCY, TRANSAKSI DAN KEAMANAN BASIS DATA

INTEGRITAS DATA
Integritas  data adalah jaminan konsistensi data terhadap semua status constraint yang diberlakukan  terhadap data tersebut, sehingga memberikan  jaminan ke absahan data itu sendiri. Integritas data sangat erat kaitannya  dengan keamanan keberadaan data, dimana dapat terjadi secara institusional atau asidental. Keuntungan menggunakan Integritas data :
-          Lebih murah dan mudah menjaga  data integrity di level database dibandingkan dengan aplikasi lain.
-          Bugs akibat isi database  yang tidak valid sulit untuk ditemukan(dapat muncul dikemudian hari.)
Dalam integritas  data ada dua hal penting yang harus diketahui agar data tetap akurat, konsisten dan  handal.  Untuk  mewujudkan  hal  itu  diperlukan  suatu  data  Integrity.  Sebagai  contoh  apabila  sebuah  tabel  Mahasiswa,  pada  field  /  kolom  nim  mempunyai  isi  data “01031043”, maka database tidak memperbolehkan record pada tabel Mahasiswa lain  mempunyai nim yang sama.
Integritas data dapat di kelompokkan sebagai berikut:
1.      Entity integritas
2.      Domain integritas
3.      Refferential integritas
4.      User defined integritas
1. Entity Integritas
            Entity integritas  mendefenisikan sebuah baris  sebagai sebuah entitas yang unik untuk suatu tabel. Entity  integritas memaksa  integritas  dari colum atau primary key dari suatu tabel (melalui index,unique,constrains,primarykey) tidak boleh null.
2. Domain integritas
            Domain Integritas merupakan validasi dari masukan untuk sebuah kolom. Anda dapat memaksa domain integritas dengan membatasi tipe (melalui data types), format (melalui  check  constraints  dan  rules),  atau  range  nilai-nilai  yang  mungkin  (melalui Foreign Key Constraints, Check Constraints, Default Definitions dan rules).
3.Refferential Integritas
            Refferential integritas  memastiakn bahwa seluruh nilai dari foreign key  cocok dengan  nilai primary key yamng dihubungkan.
4.  User Defined integritas

            User difined integritas mengizinkan  kita untuk menentukan  spesific business rules  sendiri  yang tidak sama  pada kategori integrity yang lain

CONCURENCY
Tujuan utama dalam pengembangan database adalah membuat banyak pengguna bisa mengakses data secara bersamaan. Pengaksesan data ini tidak bermasalah jika semua pengguna hanya membaca data dan mereka tidak mengganggu satu sama lain. Tapi ketika dua pengguna atau lebih mengakses database yang sama secara bersamaan dan salah satu melakukan perubahan terhadap data, maka hal ini akan dapat menimbulkan adanya data yang tidak konsisten (inconsistency data).  Untuk mengatasi adanya kemungkinan inconsistency data, maka dibutuhkan adanya suatu mekanisme yang mengatur jalannya transaksi pengaksesan data yang sama tersebut. Mekanisme ini dikenal dengan istilah concurrency control. Concurrency control adalah proses pengaturan operasi–operasi dalam banyak transaksi yang berjalan secara simultan pada database tanpa mengganggu operasi pada transaksi lainnya sehingga dapat menghasilkan data yang konsisten ( Connolly, 2005, p577 ). Tiga contoh masalah penting yang terkait oleh concurrency, yaitu masalah Lost-Update, masalah Uncommitted Dependency, dan masalah Inconsistent Analysis

TRANSAKSI
 Transaksi adalah satu atau beberapa aksi program aplikasi yang mengakses/mengubah isi basis data.Transaksi merupakan bagian dari pengeksekusian sebuah program yang melakukan pengaksesan basis data dan bahkan juga melakukan serangkaian perubahan data.  DBMS yang kita gunakan harus menjamin bahwa setiap transaksi harus dapat dikerjakan secara utuh atau tidak sama sekali.  Tidak boleh ada transaksi yang hanya dikerjakan sebagian, karena dapat menyebabkan inkonsistensi basis data.  Untuk itu transaksi selalu merubah basis data dari satu kondisi konsisten ke kondisi konsisten lain.  Untuk menjamin agar integritas dapat tetap terpelihara maka setiap transaksi harus memiliki sifat-sifat:
1.      Atomik, dimana semua operasi dalam transaksi dapat dikerjakan seluruhnya atau tidak sama sekali.
2.      Konsisten, dimana eksekusi transaksi secara tunggal harus dapat menjamin data tetap konsisten setelah transaksi berakhir.
3.      Terisolasi, jika pada sebuah sistem basis data terdapat sejumlah transaksi yang dilaksanakan secara bersamaan, maka semua transaksi yang dilaksanakan pada saat yang bersamaan tersebut harus dapat dimulai dan bisa berakhir.
4.      Bertahan, dimana perubahan data yang terjadi setelah sebuah transaksi berakhir dengan baik, harus dapat bertahan bahkan jika seandainya sistem menjadi mati.

KEAMANAN BASIS DATA
Keamanan merupakan suatu proteksi terhadap pengerusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan. Untuk menjaga keamanan Basis Data dapat dilakukan dengan: (1) Penentuan perangkat lunak database server yang handal (2) Pemberian otoritas kepada user mana saja yang berhak mengakses, serta memanipulasi data-data yang ada.
a. Otorisasi :
·         Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses sistem atau obyek database
·         Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak dengan 2 fungsi :
·         Mengendalikan sistem atau obyek yang dapat diakses
·         Mengendalikan bagaimana pengguna menggunakannya
·         Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat account pengguna.

b. Tabel View :
·         Merupakan metode pembatasan bagi pengguna untuk mendapatkan model database yang sesuai dengan kebutuhan perorangan. Metode ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh pengguna.
·         Contoh pada Database relasional,untuk pengamanan dilakukan beberapa level:
1.      Relasi à pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi
2.      View à pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terapat pada view
3.      Read Authorization à pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
4.      Insert Authorization à pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada.
5.      Update Authorization à pengguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data.
6.      Delete Authorization à pengguna diperbolehkan menghapus data.
·         Untuk Modifikasi data terdapat otorisasi tambahan :
1.      Index Authorization à pengguna diperbolehkan membuat dan menghapus index data.
2.      Resource Authorization à pengguna diperbolehkan membuat relasi-relasi baru.
3.      Alteration Authorization à pengguna diperbolehkan menambah/menghapus atribut suatu relasi.
4.      Drop Authorization à pengguna diperbolehkan menghapus relasi yang sudah ada.
 
Tujuan keamanan Basis Data
·               Secrecy/Confidentiality: Informasi tidak boleh diungkapkan kepada pengguna yang tidak sah. Sebagai contoh, mahasiswa seharusnya tidak diperbolehkan untuk memeriksa nilai siswa lainnya.
·               Integrity: Hanya pengguna yang berwenang harus diizinkan untuk memodifikasi data. Sebagai contoh, siswa mungkin diperbolehkan untuk melihat nilai mereka, namun tidak diperbolehkan (jelas) untuk memodifikasi mereka.
·            Availability: Pengguna yang terdaftar tidak boleh ditolak akses. Sebagai contoh, seorang instruktur yang ingin mengubah kelas harus diizinkan untuk melakukannya

Tingkatan Keamanan Pada Database
1.         Fisikal : lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap serangan perusak.
2.         Manusia : wewenang pemakai harus dilakukan dengan berhati-hati untuk mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang
3.         Sistem Operasi : Kelemahan pada SO ini memungkinkan pengaksesan data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh.
4.         Sistem Database : Pengaturan hak pemakai yang  baik. 



Referensi

Tidak ada komentar:

Posting Komentar