Integritas
data adalah jaminan konsistensi data terhadap semua status konstrain yang
diberlakukan terhadap data tersebut, sehingga memberikan jaminan keabsahan data
itu sendiri. Integritas data sangat erat kaitannya dengan keamanan keberadaan
data, dimana dapat terjadi secara institusional atau asidental.
Jenis-Jenis
Integritas Data dapat dikelompokkan sebagai berikut :
- Entity Integritas
- Domain Integritas
- Refrential Integritas
- User Defined Integritas
1.
Entity Integritas
Entity Integritas mendefinisikan sebuah baris sebagai sebuah entitas yang
unik untuk suatu tabel. Entity integritas memaksa integritas dari column atau
primary key dari suatu tabel (melalui index, unique, constraints, primary key).
Primary key 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.
Refrential Integritas
Refrential Integritas memastikan bahwa seluruh nilai dari foreign key cocok
dengan nilai primary key yang dihubungkan.
4.
User Defined Integritas
User–defined integritas mengizinkan Anda untuk menentukan spesific business
rules sendiri yang tidak sama pada kategori integrity yang lain.
Types of Data Integrity
Bagian ini menggambarkan atauran yang dapaat diterapkan pada kolom tabel
ayang menekankan perbedaan tipe data pada integritas data.
1)
Null Rule
Aturan null adalah definisi aturan pada single column yang
membolehkan atau tidak membolehkan inserts atau updates untuk pengisian rows
kosong (the absence of a value) pada kolom ini.
2)
Unique Column Values
Aturan nilai unique didefinisan pada sebuah column (or set of columns) yang
membolehkan insert or update hanya pada row jika itu berisi sebuah nilai
unique dalam sebuah kolom (or set of columns).
3)
Primary Key Values
Aturan nilai primary key didefinisikan pada sebuah key (a column or set of
columns) tertentu bahwasetiap each row dalam table dapat mengidentifikasi
keunikan dengan nilai kunci tersebut
4)
Referential Integrity Rules
Aturan referential integrity adalah definsi aturan pada sebuah kunci key (a
column or set of columns) dalam sebuah table yang menjamin bahwa data dalam
kunci cocok dengan nilai dalam sebuah relasi table (the referenced value).
Aturan-Aturan Referential Integrity
Referential integrity mengacu pada kaitan antar row/record dari 2 tabel
yang berhubungan melalui Foreign Key yang bersangkutan. Pada insert, record
harus dimasukkan di tabel utama dahulu, kemudian baru di tabel kedua.
Pada delete, record harus dihapus di tabel kedua dahulu, kemudian baru di tabel utama.
Field yang dihubungkan dari tabel utama haruslah berupa Primary Key.
Kedua field yang saling behubungkan harus memiliki Tipe data dan lebar data yang sama.
Tidak dibenarkan penghapusan record pada tabel utama yang telah dihubungkan dengan tabel yang direlasikan.
Pada delete, record harus dihapus di tabel kedua dahulu, kemudian baru di tabel utama.
Field yang dihubungkan dari tabel utama haruslah berupa Primary Key.
Kedua field yang saling behubungkan harus memiliki Tipe data dan lebar data yang sama.
Tidak dibenarkan penghapusan record pada tabel utama yang telah dihubungkan dengan tabel yang direlasikan.
Macam action dalam Referential Integrity:
NO ACTION atau RESTRICT : update atau delete tidak dilakukan. Ini merupakan
pilihan default.
CASCADE : nilai kolom di tabel kedua disesuaikan dengan nilai kolom di
tabel utama
SET NULL : nilai kolom di tabel kedua dijadikan NULL
SET DEFAULT : nilai kolom di tabel kedua dijadikan nilai DEFAULT (nilai
DEFAULT
harus ditentukan pada waktu pembuatan tabel).
Membuat Constraint
Constraint merupakan suatu aturan yang membatasi jenis data yang diijinkan
untuk dimasukkan ke dalam tabel. Constraint dapat dibuat baik pada saat
pembuatan tabel atau setelah tabel dibuat. Ketika constraint dibuat setelah
pembuatan tabel, maka constraint tersebut hanya mengecek data yang ada
(yang telah dimasukkan dalam tabel). Jika ada beberapa pelanggaran maka
constraint akan ditolak.
Tipe-Tipe Constraint
Microsoft SQL Sever menyediakan beberapa tipe Constraint, yaitu :
·
PRIMARY KEY Constraint, untuk menspesifikasikan kolom
dalam tabel. Tidak boleh kosong, dan harus unik, untuk menghubungkan satu tabel
dengan tabel lain.
·
FOREIGN KEY Constraint, digunakan untuk
menspesifikasikan kolom foreing key pada suatu tabel. Foreing key digunakan
untuk menghubungkan dua tabel. Kolom foreign key adalah kolom atau kombinasi
beberapa kolom dalam suatu tabel yang selalu merujuk pada kolom primary
keypada suatu tabel. SQL Server 2000 / MySQL – Navicat 2005 @ 2010 :
www.didiksetiyadi.com 2 , dds@didiksetiyadi.com
·
UNIQUE Constraint, digunakan untuk menjamin bahwa data
pada suatu kolom atauy beberapa kolom tidak diijinkan sama. CHECK Constraint,
digunakan untuk membatasi suatu nilai pada kolom dengan nilai tertentuyang
diijinkan masuk.
·
DEFAULT Constraint, merupakan atribut opsionalyang
digunakan untuk memberikan suatu nilai tertentupada suatu kolom jika kolom
tersebut tidak dimasukkan suatu data.
·
Not Null, digunakan untuk menjamin tidak ada nilai
null ( kosong) yang muncul pada suatu kolom tertentu sehingga bila tidak
mengisikan nilai pada kolom tersebut maka akan muncul error.
TRIGGER, PROCEDURE, FUNCTION
Trigger
Trigger adalah blok PL/SQL yang disimpan dalam database dan akan diaktivasi ketika kita melakukan statement-statement SQL (DELETE, UPDATE, dan INSERT) pada sebuah tabel. Aktivasi trigger didasarkan pada event yang terjadi di dalam tabel tersebut sehingga trigger dapat membantu dalam menjaga integritas dan konsistensi data. Implementasi trigger yang sering ditemui dalam dunia nyata adalah untuk mengeset dan mengubah nilai kolom dalam suatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga. Adanya trigger dalam database akan meringankan kita dalam pembuatan aplikasi karena di dalam aplikasi yang kita buat, kita tidak perlu lagi untuk melakukan validasi data.
Syntax:
CREATE [or replace] TRIGGER nama_trigger
( BEFORE|AFTER ) ( INSERT|UPDATE [OF nama_kolom,..]|DELETE )ON nama_tabel
[FOR EACH ROW] [WHEN (kondisi)]
DECLARE
Deklarasi tipe data
BEGIN
Trigger body
END;
/
( BEFORE|AFTER ) ( INSERT|UPDATE [OF nama_kolom,..]|DELETE )ON nama_tabel
[FOR EACH ROW] [WHEN (kondisi)]
DECLARE
Deklarasi tipe data
BEGIN
Trigger body
END;
/
Anonymous Block
Block PL/SQL tak bernama (anonymous) menyimpannya dalam Oracle Precompiler.
Anonymous block tidak dibuat (CREATE) dan tak disimpan pada database, biasanya dijalankan dari dalam aplikasi, pada run-time aplikasi akan mengirimkan anonymous PL/SQL block ini kepada database oracle, dimana anonymous block tsb di compile dan dieksekusi.
Syntax:
DECLARE
Deklarasi variabel
BEGIN
Program prosedural
EXCEPTION
Penangananan eksepsi (ERROR)
END;
/
Deklarasi variabel
BEGIN
Program prosedural
EXCEPTION
Penangananan eksepsi (ERROR)
END;
/
SUBPROGRAM
PL/SQL Block yang dipanggil dengan sekumpulan parameter. PL/SQL memiliki dua jenis subprogram yaitu: procedure dan function. Dimana secara umum procedure
Syntax:
Prosedur
CREATE OR REPLACE PROCEDURE AS
Deklarasi variabel
BEGIN
Prosedural & sql
EXCEPTION
Penanganan eksepsi (ERROR)
END ;
/
Deklarasi variabel
BEGIN
Prosedural & sql
EXCEPTION
Penanganan eksepsi (ERROR)
END ;
/
Fungsi
CREATE OR REPLACE FUNCTION RETURN
AS
Deklarasi variabel
BEGIN
procedural and SQL
EXCEPTION
penanganan eksepsi (ERROR)
RETURN();
kalusa return ini wajib di deklarasikan
END;
/
AS
Deklarasi variabel
BEGIN
procedural and SQL
EXCEPTION
penanganan eksepsi (ERROR)
RETURN();
kalusa return ini wajib di deklarasikan
END;
/
Tidak ada komentar:
Posting Komentar