sekuriti dan integritas data base
TRANSCRIPT
erl_idw 1
SISTEM BASIS DATASEKURITI DAN INTEGRITAS BASIS DATA
KELOMPOK 3 :
1. DESI SURYAHTI2. ERLYTA3. NOVICA4. NURHAYATI
erl_idw 2
Data yang disimpan dalam basis data perlu dilindungi dari akses yang tidak diijinkan, perusakan/ pengubahan yang merugikan, serta timbulnya inkonsistensi tak sengaja.
Pelanggaran dalam pemakaian basis data dapat
dikelompokan ke dalam aksi yang disengaja dan aksi yang tidak disengaja.
Bentuk-bentuk akses yang secara sengaja :
• Pembacaan data yang tidak diizinkan.• Pengubahan data yang tidak diizinkan.• Penghapusan / perusakan data yang tidak diizinkan.
SEKURITI DAN INTEGRITAS BASIS DATA
erl_idw 3
Inkonsistensi data secara tidak sengaja disebabkan oleh :
• Sistem rusak (crash) selama pemrosesan transaksi.
• Inkonsistensi basis data akibat dari banyak user ke basis data yang tidak terjaga dengan baik.
• Inkonsistensi basis data karena adanya pendistribusian data ke banyak komputer.
• Kesalahan aplikasi yang melanggar integritas yang semestinya dipelihara agar basis data tetap konsisten.
erl_idw 4
Beberapa level dalam pengamanan basis data, yaitu : Fisik Manusia Sistem Operasi Jaringan Sistem basis data
2 Jenis otoritas/ijin user dalam pengaksesan pada basis data :1. Ketidakbolehan, contohnya seorang pemakai tidak
diperbolehkan untuk melakukan pembuatan tabel basis data.
2. Kebolehan, contohnya seorang pemakai diperbolehkan untuk melakukan perubahan isi sebuah tabel basis data.
Sekuriti Basis Data (Database Scurity)
erl_idw 5
Otoritas dapat diberikan pada objek basis data berikut ini : Tabel/Relasi
user dapat melihat, menambah, menghapus atau mengubah data pada suatu tabel.
Indeksuser diberi ijin atau tidak untuk melakukan pembuatan atau penghapusan indeks dari sebuah tabel
Viewuser diberi ijin atau tidak untuk melakukan akses untuk kemunculan data dari suatu view.
- Contoh pembuatan view:Create view semua_kuliah as( select kode_kul, nama_kul from kuliah_d3 )Union( select kode_kul, nama_kul from kuliah_s1 )
erl_idw 6
GRANTPerintah utama untuk pemberian otorisasi :Grant <daftar otoritas> on <nama objek basis data> to <daftar user>
- Contoh :Grant insert on mahasiswa to ali, aniGrant update (nim, nama_kul) on nilai to ketut, diahGrant select, insert on all to bonarGrant all on kuliah to ujangGrant select on mahasiswa to public Grant all on mahasiswa to andi with grant option
Perintah SQL untuk Sekuriti Basis Data
erl_idw 7
Revoke Perintah untuk pembatalan otoritas bagi seorang/beberapa pamakai :
Revoke <daftar otoritas> on <nama objek basis data> from <daftar user>
- Contoh :revoke update (nim, nama_kul) on nilai from ketut, diahrevoke select, insert on all from bonarrevoke select on mahasiswa from publicrevoke delete on kuliah from ujangrevoke insert on mahasiswa from alirevoke grant option for all on mahasiswa from andi
erl_idw 8
Batasan integritas data adalah syarat yang dispesifikasikan pada basis data untuk membatasi data yang dapat disimpan di dalam basis data.
DBMS “memaksakan” Batasan integritas sehingga menjamin bahwa perubahan – perubahan yang akan dilakukan oleh orang yang memang mempunyai otorisasi tidak akan melanggar konsistensi data.
Pemeliharaan Integritas Basis Data (Database Integrity)
erl_idw 9
Batasan integritas dispesifikasikan dan “dipaksakan” pada waktu yang berbeda, yaitu :
Ketika DBA mendefinisikan skema basis data melalui DDL, DBA menspesifikasikan batasan yang harus selalu dipenuhi.
Ketika aplikasi basis data dijalankan, DBMS melakukan pemeriksaan untuk mencegah terjadinya pelanggaran dan mencegah perubahan–perubahan yang melanggar konstrain integritas yang telah ditentukan sebelumnya.
Dalam kondisi tertentu, DBMS tidak melarang suatu aksi yang dapat menimbulkan pelanggaran, namun kemudian DBMS membuat tindakan-tindakan otomatis untuk tetap memenuhi konstrain integritas, dengan demikian dijamin perubahan tidak akan menunggu integritas data.
erl_idw 10
Model relasional Integritas data meliputi:
1. Integritas Entitas(Entity Integrity)
2. Integritas Domain (Domain Integrity)
3. Integritas Referensial/acuan (Referential Integrity)
4. Integritas data atar tabel (redundant data
Integrity)
5. Integritas aturan nyata (business rule Integrity)
erl_idw 11
Integritas entitas mendefinisikan sebuah baris sebagai sebuah entitas yang unik untuk suatu tabel.
Integritas entitas memaksa integritas dari colum atau primary key dari suatu tabel melalui index, unique, constrains, primary key, dimana primary key tidak boleh null.
Dalam Integritas entitas, tidak ada baris yang duplikat didalam satu tabel.
Integritas Entitas (Entity Integrity)
erl_idw 12
Berikut contoh sintaksnya :
create table Pembelian
( IDPembelian smallint,
IDModel smallint,
Deskripsi Model varchar(40),
primary key(IDPembelian));
create table Pembelian
(IDPembelian smallint,
IDModel smallint,
DeskripsiModel varchar(40),
primary key(IDPembelian)
unique(IDPembelian,IDModel));
erl_idw 13
Domain adalah batasan dimana tidak ada item data yang melanggar jangkauan nilai di tiap kolom.
Batas tipe integritas domain (melalui data types), format (melalui check constraints dan rules), atau range nilai–nilai yang mungkin (melalui Foreign Key Constrains, Check Constraints, Default Definitions dan Rules).
Jenis domain yang dapat dimiliki oleh suatu atribut:◦ Karakter bebas ◦ Alphanumerik◦ Alphabet◦ Numerik
Integritas Domain (Domain Integrity)
erl_idw 14
Pemeliharaan integritas domain :◦ Pendefinisian skema/struktur tabel◦ Pemanfaatan properti field◦ Penerapan proses validasi pada pemasukan data
Contoh sintaksnya :
create table biografi(idpenulis smallint not null,tahunlahir year not null,kotalahir varchar (40) not null default ‘kosong’);
create domain nilai numeric (3,2)constraint value-testcheck(value> = 0.00)
erl_idw 15
Contoh lain sintaksnya :
Pendefinisian domain berikut akan membatasi nilai yang mungkin untuk atribut yang menggunakan domain ini agar hanya dapat diisi dengan nilai integer di antara 1 hingga 9
create domain semester integerconstraint semester-validcheck(value > 0 and value < 10)
erl_idw 16
Integritas Referensial memastikan bahwa seluruh nilai dari foreign key cocok dengan nilai primary key yang dihubungkannya.
Artinya, tipe data dan ukuran sama, Konsistensi tetap terjaga ketika ada penghapusan, pergantian data dan penambahan data pada tabel.
Ketika integritas referensial ini dilaksanakan maka akan mengecek:
Penambahan record apakah record yang ditambahkan pada foreign key ada dalam primary key atau tidak.Perubahan data pada primary key apakah akan mempengaruhi terhadap foreign key atau tidak.
Integritas Referensial (Referential Integrity)
erl_idw 17
Opsi ketika suatu record pada tabel yang direferensi oleh suatu foreign key dihapus atau diganti nilainya:
[ ON DELETE { CASCADE | NO ACTION } ][ ON UPDATE { CASCADE | NO ACTION } ]
ON DELETE, merupakan tindakan pada tabel yang direferensi terjadi penghapusan record.
ON UPDATE, merupakan tindakan apabila data tabel yang direferensi mengalami perubahan nilai record.
Tindakan yang dapat diatur pada ON DELETE maupun ON UPDATE ada dua, yaitu:◦ CASCADE◦ NO ACTION
erl_idw 18
ON UPDATE CASCADE Jika nilai primary key pada tabel yang direferensi diganti maka foreign key pada tabel yang mereferensiakan disamakan nilainya dengan primary key pada tabel yang direferensi.
ON DELETE CASCADE Jika nilai primary key pada tabel yang direferensi dihapus maka semua record yang nilai foreign key-nya = primary key pada tabel yang direferensi dimana recordnya yang dihapus akan turut terhapus.
ON UPDATE NO ACTION Jika nilai primary key pada tabel yang direferensi diganti maka foreign key pada tabel yang mereferensi nilainya tidak ikut berubah.
ON DELETE NO ACTION Jika nilai Primary Key pada tabel yang direferensi dihapus maka semua record yang nilai foreign key-nya = primary key tidak ikut dihapus.
erl_idw 19
Contoh sintaknya :
create table customer(customer-name char(20),customer-street char(30),customer-city char(30),primary key (customer-name))
create table branch(branch-name char(15),branch-city char(30),assets integer,primary key (branch-name))
erl_idw 20
create table account(account-number char(10),branch-name char(15),balance integer,primary key (account-number),foreign key (branch-name) references branch)
create table depositor(customer-name char(20),account-number char(10),primary key(customer-name, account-number),foreign key(account-number)references account,foreign key(customer-name)references customer)on delete cascade on update cascade
erl_idw 21
Sebuah check digit adalah digit tambahan yang ditambahkan ke nomor sehingga, jika nomor berubah, kesalahan akan terdeteksi.
Metode Mulai dari kanan, kalikan digit pertama dengan 1, yang
kedua dengan 2 dst. Tambahkan hasil bersama-sama Gunakan digit terakhir dari hasil dan tambahkan ke
nomor terakhir.
Example: 56037 becomes 560372 Example: 50637 becomes 506376
Pengecekan Integritas data
erl_idw 22
Verifikasi adalah memeriksa data yang telah disalin dari satu tempat ke tempat lain untuk melihat apakah ia masih sama.
Verification of keyed data mungkin melibatkan
pengetikan ulang-key tsb.
Double-entry verifikasi melibatkan 2 orang memasukkan di data yang sama dan kemudian membandingkan data untuk anomali.
Validasi adalah memeriksa data sebelum pengolahan untuk melihat bahwa data dapat diterima untuk proses dan meliputi:
◦ Cek tipe (misalnya numerik atau alfanumerik) ◦ Cek panjang (jumlah karakter yg benar)◦ Cek rentang (hari antar 1-31; bulan 1-12)
erl_idw 23
Hal mengenai keamanan data (data security) sering
dibahas bersamaan dengan hal integritas data (data
integrity). Secara sederhana, keamanan berarti
mengamankan data terhadap user yang tidak berwenang
dan integritas berarti mengamankan data terhadap
user yang berwenang.
Kelemahan konsep tsb , apabila terdapat seorang user
biasa yang mengetahui peletakan peraturan akses yang
ditempatkan oleh DBA atau user berwenang maka user
biasa tersebut dapat saja mengubah isi dari peraturan
akses yang ada atau bahkan menghapusnya (masalah
keamanan).
RANGKUMAN
erl_idw 24
Saran, dalam masalah DBA atau user yang berwenang juga
harus dapat memperhatikan alur informasi karena mungkin
saja peraturan akses yang dibuat menjadi menghambat
alur informasi database.
erl_idw 25