Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Integritas basis data.

Presentasi serupa


Presentasi berjudul: "Integritas basis data."— Transcript presentasi:

1 Integritas basis data

2 Integritas Basis data  Menjamin Validitas data yang terekam sesuai dengan aturan yang telah ditentukan. Penetapan aturan integritas basis data untuk menghidari basis data dari upaya/ kesalahan dalam melakukan manipulasi data yang dapat membuat basis data menjadi tidak konsisten Jenis Integritas Basis Data Integritas Entitas (Entity Integrity) 2. Integritas Jangkauan (Domain Integrity) 3. Integritas Acuan ( Referential Integrity) 4. Integritas Data antar Tabel (Redundant data Integrity) 5. Integritas Aturan Nyata (Bussiness Rule Integrity)

3 1. Integritas Entitas (Entity Integrity)
Tidak ada baris data yang duplikat Setiap tabel diharuskan memiliki atribut kunci yang nilainya unik contoh : Aturan : a. Menentukan key pada tabel b. Penerapan proses validasi pada program pemasukan data Harus ditentukan key, sehingga DBMS akan memberikan pesan error dan penolakan Nim Kode_kul Nilai 10001 IT110 D 10002 IT310 B 10003 AK234 Tidak memenuhi integritas entitas

4 2. Integritas Jangkauan (Domain Integrity)
Nim Kode_kul Nilai Sem 10001 IT110 D 1 10002 IT310 B 10003 AK234 3 Memenuhi integritas entitas Key : nim+sem 2. Integritas Jangkauan (Domain Integrity) Merujuk pada batas nilai yang diperbolehkan untuk setiap atribut Jenis jankauan : Karakter , Alfanumerik, Alfabet, Numerik Menentukan type dan panjang atribut yang akan menentukan kebutuhan ruang fisik penyimpanan data Contoh type integer ( sd 32767) pada Oracle  BIGINT (19 digit), INTEGER ( sd ), SMALLINT ( sd 32767), TINYINT (-128 sd 127) CREATE DOMAIN agama CHAR (1) VALUES (‘1’,’2’,’3’,’4’,’5’,’6’)

5 3. Integritas Acuan (Referential Integrity)
Agar hubungan antar tabel memenuhi aturan referensi yang telah ditetapkan Tabel : mk Kode_kul Nama_kul Sks IT110 Struktur data 3 IT310 Basis data AK234 ISD 1 IT112 SIM 2 Tabel : nilsem Nim Kode_kul Nilai Sem 10001 IT110 D 1 10002 IT310 B 10003 AK234 IT111 3 Tidak memenuhi integritas acuan

6 Untuk menjamin Integritas data, 3 cara yang dapat dipilih :
REJECT  Menolak baris data pada MK selama masih ada baris data pada tabel NILSEM dengan menggunakan kolom kode_kul CASCADE penjalaran perubahan, melakukan penghapusan baris data yang tdk sesuai keseluruh tabel yang menggunakan kolom tersebut ON DELETE CASCADE atau ON UPDATE CASCADE biasanya ditempatkan pada saat mendeklarasikan FK contoh : ALTER table dokter ADD FOREIGN KEY (kd_dok) REFERENCES pasien ON DELETE CASCADE ON UPDATE CASCADE; 3. NULLIFY  pengisian nilai kosong pada kolom tertentu Aturan Integritas Acuan : Penerapan pembuatan prosedur basis data Pemeliharaan melalui program manipulasi data

7 3. Integritas Data Antar Tabel (Redundant Data Integrity)
Menjamin nilai baris data disuatu tabel tidak ada di tabel yang lain Untuk efesiensi ruang penyimpanan dan konsistensi basis data Tabel : mk_d3 Kode_kul Nama_kul Sks Semester AK120 Struktur Data 3 AK320 Basis Data KU234 Bahasa Indonesia 2 IT115 Matematika 1 1 Kode_kul Nama_kul Sks Semester AK110 Struktur Data 4 3 AK320 Basis Data KU234 Bahasa Indonesia 2 IT125 Matematika 1 1 Tdk memenuhi aturan Integritas data antar tabel Tabel : mk_s1

8 Untuk menjamin integritas data , pilihan yg dapat dilakukan :
1. Membedakan nilai kolom untuk tabel yang berbeda 2. Menggabungkan tabel yang sejenis 3. Membuat tabel baru untuk nilai kolom yang sama 4. Integritas Aturan Nyata (Bussiness Rule Integrity) Bersifat kasuistik, tidak berlaku umum Contoh : nilai matakuliah bersyarat IT110 Matemaika 1 IT310 Matematika 2 NPM Kd_mk Grade 001 IT110 E 002 IT310 B 003 KU005 A IT31o Tidak memenuhi aturan integritas, matematika 3 Boleh diambil jika Matematika 1 telah lulus

9 PEMAKSAAN INTEGRITAS Dapat dilakukan dengan cara : a. Didefiniskan dan dikontrol di server DBMS b. Didefiniskan dan dikontrol melalui program aplikasi Dilakukan untuk menjamin , jika terjadi manipulasi data , tidak akan mengganggu integritas basis data : Penolakan Operasi (Reject) : untuk mempertahankan integritas entitas, jangkauan (Domain Integrity), aturan nyata (Bussiness Rule Integrity) Penyebaran Perubahan Data (Cassade) : untuk mempertahankan integritas acuan (Referential Integrity). Pengisian Nilai Null (Nullify) : biasanya untuk mempertahankan integritas acuan((Referential Integrity).

10 Pemaksaan integritas melalui server DBMS dapat dilakukan dengan :
Pendefinisian tabel dan struktur penyimpanan Pemanfaatan aturan integritas Penggunaan mekanisme pembangkit (Trigger) dan prosedurbasisdata Pemaksaan integritas melalui Aplikasi dapat dilakukan dengan : a. dituliskan pada script b. memanfaatkan objek-objek aplikasi (seperti : form) Pemaksaan integritas melalui server DBMS Definisi Tabel dan Struktur Penyimpanan Type data create table mhs nim char (8), nama_mhs varchar (45), alamat varchar (60), tgl_lhr date

11 create domain <nama_domain> <tipe data>
Domain Constraint create domain <nama_domain> <tipe data> (constraint <nama_const> check (predikat)) create domain nama_mhs char (45) constraint nama_null check (value not null) create domain grade_nilai char(1) constraint grade_nilai_valid check (value in (‘A’,’B’,’C’,’D’,’E’)) create domain semester int constraint sem_valid chek (value >0 and value<10)

12 Penerapan Nullability
Menentukan atribut dapat bernilai kosong atau tidak. create table mhs nim char (8) not null, nama_mhs varchar (45) not null, alamat varchar (60), tgl_lhr date Penggunaan nilai Default Hampir sama dengan nullability create table matkul (kode_kul char (8) not null, nama_kul varchar (40) not null, semester int not null, sks int default 2)  nilai awal 2

13 Penerapan Keunikan kolom (Column uniqueness)
kolom tidak dapat bernilai sama create table mhs nim char (8) not null primary key, nama_mhs varchar (45) not null unique, alamat varchar (60), tgl_lhr date nama_mhs varchar (45) , tgl_lhr date, contraint mhs_uniq unique(nama_mhs,alamat) create table mhs nim char (8) not null primary key, nama_mhs varchar (45) not null unique, alamat varchar (60) unique, tgl_lhr date,

14 Penerapan Keunikan Baris (Row uniqu eness)
Keunikan nilai seluruh kolom b. Penerapan Aturan Integritas Membuat aturan integritas dalam basis data create assertion <nama_assertion> check <predikat> jika aturan dilanggar maka akan di reject Contoh : membuat aturan seorang mahasiswa tidak boleh mengambil kuliah lebih dari 24 sks dalam satu semester create assertion not_exist check (not exist (select sum(sks) from nilai a, kuliah b where a.kode_mk=b.kode_mk group by semester having sum(sks>24) jangan terlalu banyak aturan integritas karena dapat menyebabkan overhead (beban tambahan) waktu proses untuk melakukan pengecekan.

15 c. Penggunakan Trigger (Pembangkitan)
Menentukan kondisi yang menimbukan trigger Menentukan aksi yang akan dikerjakan trigger Contoh : jika akan dihapus nilai nim di tabel mhs maka nilai nim yang sama pada tabel nilai juga akan terhapus define trigger hapus_mhs on delete of mhs a (delete from nilai where nim=old a.nim)) create procedure hapus_nilai (old_nim=varchar (8) begin delete from nilai where nim=old_nim end; create trigger hapus_mhs after delete on mhs for each row hapus_nilai (old.nim);

16 d. Penerapan Aturan Integritas dalam Script Aplikasi
diterapkan melalui aplikasi bukan pada DBMS contoh : Delphi Procedure TfEditmahasiswa.btDeleteClick(sender:TObject); Var vNPM:string; Begin vNPM:=tbMahasiswa.FieldByName(‘NPM’).AsString; If tbNILAI.FindKey([Vnpm]) then MessageDlg(‘Record di tabel Nilai untuk mahasiswa dengan NPM=‘+vNPM+$13+’Harus dihapus lebih dulu!’, mtWarning, [mbOK],0) Else tbMahasiswa.Delete; End;

17 Record di tabel Nilai untuk mahasiswa dengan NPM=10112001
Warning Record di tabel Nilai untuk mahasiswa dengan NPM= Harus dihapus lebih dulu! OK


Download ppt "Integritas basis data."

Presentasi serupa


Iklan oleh Google