Integritas basis data.

Slides:



Advertisements
Presentasi serupa
Antonius Wahyu Sudrajat, S. Kom., M.T.I. Trigger.
Advertisements

Sejarah (1) • Tahun 1974, Dr. Chamberlin dari Saan Jose Laboratorium IBM mendefinisikan sebuah bahasa untuk mengakses database yang disebut dengan SEQUEL.
MATA KULIAH : “LOGIKA DAN ALGORITMA”
SISTEM BASIS DATA INTRO-5. •Setelah mengikuti perkuliahan ini diharapkan mahasiswa dapat mengerti : 1.Aplikasi perintah SQL ke MySql Server 2.Mengerti.
Error Handling (Exception) & INDEX
DDL (Data Definition Language)
PERINTAH SQL.
Pengamanan Basis data.
 Keamanan Data bermakna perlindungan terhadap data.  Keamanan melibatkan melindungi data dan perangkat lunak dari :  Hilangkehilangan disks  DestroyedKebakaran.
Security and Integrity of Data
DDL & Aturan Referential
T R I G G E R.
TRIGGER.
Basis Data Bab 3 Structured Query Language (SQL).
MODUL 2 BAHASA BASIS DATA
Konsep Dasar User dan Schema Database
DDL & Aturan Referential
Administrasi Basis Data
DDL ( Data Definition Language ) DML ( Data Manipulation Language )
1 Bab 3 Structured Query Language (SQL) Basis Data
Microsoft SQL Server DDL dan DML dasar
Data Definition Language dan Data Manipulation Language
Antonius Wahyu Sudrajat, S. Kom., M.T.I. Perintah SQL: Data Definition.
Data Types Data Definition Language Referential Constraint SQL Query
BAHASA QUERY TERAPAN OLEH : HARSITI, ST.
Pertemuan 4 – Sistem Basis Data.  Pada model relasional, basis data akan “disebar” atau dipilah-pilah ke dalam berbagai tabel dua dimensi. Setiap tabel.
STRUCTURED QUERY LANGUAGE (SQL)
SQL Pertemuan
Antonius Wahyu Sudrajat, S. Kom., M.T.I. Perintah SQL: Data Definition.
Basis Data Terapan Antonius Wahyu Sudrajat, S. Kom., M.T.I Perintah Drop Sintak Menghapus Tabel Drop Aturan: Harus dimulai dari table yang paling children.
Pengamanan Basis data.
SQL Basis Data.
Data Definition Language (DDL)
Integritas Basis Data D. Sinaga, M.Kom.
Modul SBD-2 …….. SQL Server
Pertemuan 2 Model Data, Relational Data Model, Database Schema, DDL
Outline: Relational Data Model Entity Relationship Diagram
Pertemuan after UTS Structure Query Language (SQL)
Structure Query Language (SQL)
Praktikum Ke (Membuat database, melihat data base, menghapus database, membuat tabel dan melihat tabel).
Connect to the Server - Putty
Integritas Basis Data D. Sinaga, M.Kom.
Integritas basis data.
SQL.
SQL: DDL Basis Data 09.
VII. DDL Di sajikan untuk Lingkungan TASS Dosen : Tora Fahrudin., M.T
SQL (Structure Query Language)
Pengamanan Basis Data.
Data Manipulation Languange (DML) Perintah INSERT dan DELETE
Connect to the Server - Putty
Sistem Basis Data ABU SALAM, M.KOM.
SQL pada basis data client-server
Stucture Query Language
Praktikum Berkas dan Basis Data
TRIGGER.
SQL OVERVIEW.
Security and Integrity of Data
OLEH : Slamet Sn Wibowo Wicaksono
Data Definition Language (DDL)
Matakuliah : Sistem Basisdata Versi Materi
Aplikasi Database Dosen : Sarwo, Skom,.Mkom Url :
Integritas Basis Data #3,#4
Tipe data dalam SQL Server
Stucture Query Language
Basis Data Bab 3 Structured Query Language (SQL).
CREATE, MODIFY, & DELETE TABLE
Referensi Bahasa MySQL
Stucture Query Language
ORACLE PL/SQL TRIGGER Program Studi D3 Teknik Informatika -Fakultas Ilmu Terapan.
Pengantar Teknologi SIM 2 (pertemuan 7)
Transcript presentasi:

Integritas basis data

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)

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

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 (-32768 sd 32767) pada Oracle  BIGINT (19 digit), INTEGER (-2147483648 sd 21474836487), SMALLINT (-32768 sd 32767), TINYINT (-128 sd 127) CREATE DOMAIN agama CHAR (1) VALUES (‘1’,’2’,’3’,’4’,’5’,’6’)

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

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

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

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

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).

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

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)

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

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,

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.

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);

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;

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