Salah satu fungsi pada DBMS adalah membuat integritas data, mengapa integritas data penting dalam sebuah sistem basis data. Uraikan dan berikan contoh sederhana.
Integritas data sangat penting karena dapat memastikan keakuratan, konsistensi, aksesibilitasi, dan kualitas tinggi dari sebuah data, sehingga sangat penting untuk mengikuti aturan pengintegritasan suatu data. Data yang mempunyai integritas identik di pertahankan selama operasi apapun (seperti bisnis transfer, penyimpanan, atau pengambilan).
Secara sederhana dalam istilah bisnis, integritas data adalah jaminan bahwa data konsisten, bersertifikat dan dapat dirujukan.
Integritas data artinya akurasi dan kebenaran data. Integritas data dalam sebuah sistem basis data harus dijaga untuk menjaga kebenaran data yang disimpan.
Ada beberapa cara dan tujuan dalam menjaga integritas data, diantaranya :
- Memasukkan aturan bisnis di dalam database
- Menjaga agar data yang tidak valid tidak masuk ke database
- Menjaga konsistensi data pada relasi keterkaitan antar tabel
Integritas Data dapat Di kelompokan menjadi 2 bagian :
- Integritas data yang berada dalam relasi, yaitu integritas entitas dan integritas domain.
- Integritas yang berada di luar relasi, yaitu integritas referensial
Selain itu ada juga integritas yang ditentukan sendiri di dalam suatu perusahaan, yaitu integritas perusahaan (Enterprise integrity/ user Defined Integrity).
Secara garis besar integritas data dalam model relasional meliputi :
- Integritas Entitas
- Integritas Domain
- Integritas Referensial
- Integritas Enterprise
Contoh sederhana Integritas data:
- Create Domain, yaitu membuat tipe data baru. Fungsi ini biasa digunakan untuk menangani data yang membutuhkan aturan bisnis sendiri,
Contoh: Membuat tipe data “gender” untuk yang isinya hanya boleh berisi pria atau wanita.
Maka sintaksnya dalam SQL adalah:
create domain gender char(2) constraint gender_domain check (value in(‘pria’,’wanita’));
- Not NULL, yaitu menjaga agar suatu data tidak kosong dengan kata lain harus ada value-nya.
Contoh: Nama matakuliah pada tabel mata kuliah tidak boleh kosong.
Maka sintaksnya dalam PL / SQL:
nama_matkul varchar2(15),
constraint nn_ matkul not null (nama_matkul)
- Unique, yaitu membuat agar suatu data tidak memiliki nilai yang sama dengan recordlainnya dalam tabel yang sama.
Contoh: Email pada tabel akun_facebook hanya boleh satu email untuk satu akun.
Maka sintaksnya:
email varchar2(15),
constraint u_mail unique (email)
- Primary key, merupakan gabungan antara not null dan unique.
Contoh: NIM pada tabel mahasiswa.
Maka sintaksnya:
nim char(7) not null,
constraint pk_ nim primary key (nim)
- Check, memeriksa data dengan aturan bisnisinya sendiri tanpa membuat tipe data baru.
Contoh: Sebelum memasukkan nilai ujian pada tabel nilai, data diperiksa terlebih dahulu. Data tidak boleh masuk jika bernilai negatif.
Maka sintaksnya:
nilai number,
constraint chk_nilai check (nilai > 0)
- Referential Integrity, adalah integritas pada relasi antar tabel.
Contoh: jika kolom NIM mahasiswa pada tabel nilai mengacu ke kolom NIM pada table mahasiswa, dan terjadi perubahan (delete atau update) pada NIM di tabel mahasiswa
Maka ada beberapa pilihan yang dapat dilakukan terhadap NIM yang di tabel nilai, diantaranya adalah :
- Delete cascade, hapus record pada kedua tabel yang bersangkutan
- Delete set null, hapus record di tabel asal dan value record pada tabel yang mengacu di jadikan NULL
- Update cascade, perbarui isi record pada kedua table
nim char(7),
constraint fk_nim foreign key (nim) references mahasiswa (nim) on delete cascade / on delete set null / on update cascade
Komentar
Posting Komentar