Integritas data dapat dibedakan menjadi beberapa jenis
sebagai berikut:
a. Integritas Entiti
Integritas
entiti mendefinisikan sebuah baris sebagai sebuah entiti unik pada 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.
Definisi
kunci primer merupakan salah satu aturan yang mengatur integritas entiti, yaitu
:
· Kunci primer
harus ada dan mewakili setiap kejadian pada entiti
· Kunci primer
harus unik untuk setiap kejadian dalam entiti, atau juga melalui Definisi
index
Integritas
ini merupakan aturan yang menyatakan bahwa setiap table harus memiliki primary
key dan setiap kolom primary key tersebut haruslah unique dan not null.
Integritas
Entitas terutama meliputi bentuk :
Domain
Misalkan,
dalam penerapan model basis data relasional, tidak ada suatu atribut primary
key yang memiliki nilai NULL, artinya bahwa setiap atribut primary key harus
memiliki nilai tertentu.
Key
Fungsi
key pada suatu relasi dapat besifat UNIQUE (hanya satu tuple yang diperbolehkan
terkait dengan satu nilai kunci), dan NON UNIQUE (beberapa tuple diperbolehkan
untuk terkait dengan satu nilai kunci yang sama).
Dalam tabel setiap baris harus mempunyai identitas yang unik yang disebut
dengan primary key. Hubungan antara primary key dan foreign key
menyatakan apakah sebuah baris table dapat diubah atau di hapus.
Perintah yang di gunakan dalam sql :
· PRIMARY KEY
· UNIQUE KEY
· UNIQUE INDEX
· IDENTITY
a.
Integritas entititas mendefinisikan sebuah baris sebagai sebuah entititas yang
unik untuk suatu tabel
b.
Integritas entititas memaksa integritas dari coloumn atau primary key
dari suatu tabel melalui index,unique,constrain,primary key,dimana
primary key tidak boleh null
c.
Dalam Inegritas entititas tidak ada baris yang duplikat di dalam suatu tabel.
contoh
:
create tabel pembelian ( ID pembelian smallint,ID model smallint,Deskripsi
model varchar(40).Primary key (ID pembelian),unique
(ID pembelian,ID model).
Mendefinisikan
sebuah baris sebagai entitas yang untuk untuk sebuah tabel.
b. Integritas Domain
Integritas
domain mengacu pada rentang nilai data yang valid pada sebuah kolom. Integritas
domain bisa dilakukan dengan membuat paksaan pada nilai atribut, baik untuk
tipe data, format data ataupun rentang data yang diijinkan untuk tersimpan pada
sebuah kolom. Dan dalam implementasinya bisa dilakukan dengan membuat sebuah
rule atau memberikan paksaan untuk memvalidasi data yang akan disimpan.
Menyatakan bahwa nilai data sesuai dengan kenyataannya. System dalam hal
ini melakukan CHECK sesuai dengan aturan (rule) yang berlaku.
Batasan dan implementasi :
Batasan dan implementasi :
·
DEFAULT
·
CHECK
·
FOREIGN KEY
·
Tipe data, default, rules
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).
a.
Domain adalah nilai-nilai yang dimungkinkan diasosiasikan dengan setiap
atribut.
b.
Integritas domain merupakan validasi dari masukkan sebuah kolom.
c.
Kita dapat memaksa Integritas domain dengan memaksa tipe (melalui data types),format
(melalui check constrain dan rules),atau range nilai-nilai yang mungkin(melalui
foreign key constrain,check constrain,definitions and rules).
d.
Dengan Integritas domain tidak ada data yang melanggar jangkauan nilai di tiap
kolom data.
e.
Pada saat “create tabel” kita bisa mencegah kolom bernilai
null dengan mengunakan “constrain null” yang berlaku untuk kolom
f.
Bila tidak dinyatakan,SQL akan mengasumsikan kondisi nulol
diijinkan kecuali suatu kolom dispesifikasikan sebagai bagian dari kunci utama
yang dinyatakan dengan primary key.
g,Supaya
integritas entititas tetap terjaga maka lebih baik jika constrain “not
null” dinyatakan.
Melakukan
valisadi dalam masukan yang di tujukam dalam sebuah kolom.
Dimana
jenis domainnya adalah :
-
Membatasi tipe
-
Format
-
Serta range nilai – nilai
Integritas
ini menetapkan bahwa setiap elemen dari relasi harus sesuai dengan jenis dan
batasan atribut elemen tersebut.
c. Integritas Referensial
Integritas
referensial menjaga relasi yang telah didefinisikan antar tabel karena terjadi
operasi penyisipan, penghapusan dan pemodifikasian pada record dalam suatu
relasi. Fokusnya adalah pengaruh terhadap nilai kunci primer atau kunci tamu
yang harus selalu dijaga konsistensinya. Sehingga tidak akan pernah terjadi
bahwa terdapat kunci pada tabel induk yang berelasi dengan nilai yang kosong
dan jika nilai kunci berubah maka seluruh referensi terhadapnya berubah pula
secara konsisten. Untuk menjaga integritas referensial bisa digunakan operasi
pemicuan (triggering operations) yang akan mengatur akibat umum dari operasi
penyisipan, penghapusan, pembaharuan dan operasi pembacaan pada entiti lain
atau pada atribute lain dalam entiti yang sama.
Batasan dan implementasi :
·
CHECK
·
FOREIGN KEY
·
TRIGGERS DAN STORED PROCEDURE
Integritas
Referensial adalah memberikan jaminan terhadap suatu nilai atribut pada satu
relasi, dan juga nilai atribut tersebut terdapat pada relasi yang lain.
Integritas Referensial sering disebut juga sebagai foreign key yang terdapat
pada suatu relasi. Jika foreign key pada suatu relasi diberlakukan, maka harus
diperhatikan beberapa konsekuensi sebagai berikut : setiap foreign key harus
cocok dengan satu nilai candidate key dari tuple pada relasi dasarnya, dan
foreign key tidak boleh memiliki nilai NULL.
Sebagai
contoh dalam penanganan integritas, untuk menangani proses update dan delete
pada satu key : Jika primary key bukan sebagai foreign key, maka operasi proses
update dan delete dapat dilakukan. Tetapi jika primary key merupakan foreign
key, maka operasi proses update dan delete tidak dapat dilakuk an, atau
dapat dilakukan dengan cara melakukan pengaturan nilai foreign key ke nilai
NULL atau ke nilai tertentu yang telah disepakati.
a.
Integritas referensial memastikan bahwa seluruh nilai dari foreign key
cocok dengan primaruy key yang dihubungkanya.
b.
Integritas referensial adalah dasar relasi antar tabel yaitu antara foreign
key dan primary key.
c.
Data pada foreign key harus sesuai dengan primary key artinya tipe data dan
ukuran sama dan konsistensi tetap terjaga ketika ada penghapusan,penggantian
data,dan penambahan data pada tabel.
Aturan-aturan pada Integritas Referensial :
Aturan-aturan
pada integritas referensial yang digunakan pada sebagian besar RDBMS adalah
bervariasi, dan di bawah ini terdapat aturan-aturan umum dan mendasar yang bisa
digunakan untuk menjaga integritas referensial pada data :
1. Aturan Penyisipan
Aturan
penyisipan menentukan kondisi valid saat penyisipan pada entiti anak, apakah
terdapat larangan saat menyisipkan pada entiti anak terhadap persekutuan dengan
entiti induknya.
Klasifikasi paksaan penyisipan mempunyai 6 tipe :
- Ketergantungan(dependent) : penyisipan pada entiti anak akan diijinkan jika telah cocok (matching) dan nilai data terdapat pada nilai induk.·
- Otomatis : penyisipan pada entiti anak selalu diijinkan, seandainya tidak ada yang cocok dengan entiti induk maka secara otomatis akan diciptakan penyisipan pada entiti induk.·
- Kosong (nulify) : penyisipan pada entiti anak selalu diijinkan, seandainya tidak ada yang cocok dengan entiti induk, maka kunci tamu pada entiti induk akan dikosongkan atau diisi dengan null.·
- Default : penyisipan pada entiti anak selalu diijinkan, seandainya tidak ada yang cocok dengan entiti induk maka kunci tamu pada entiti induk diisi dengan suatu nilai default.·
- Customized : penyisipan pada entiti anak terjadi hanya jika ada paksaan validasi yang telah dibuat.·
- Tidak berefek (no effect): penyisipan pada entiti anak selalu diijinkan tanpa perlu ada yang cocok pada entiti induk, jadi tidak diperlukan validasi pengujian.
2. Aturan Penghapusan
Aturan
penghapusaan menentukan kondisi valid dimana dapat menghapus entiti induk,
apakah terdapat larangan saat menghapus pada entiti induk terhadap persekutuan
dengan entiti anaknya.
Klasifikasi
paksaan dari penghapusan mempunyai enam tipe :
- Larangan (restrict) : penghapusan pada entiti induk diijinkan jika tidak ada yang cocok (matching) dengan entiti anak, jika hal ini dilanggar maka akan mengakibatkan yang disebut dengan ‘orphaned’ record pada entiti anak, dimana terdapat record pada entiti anak yang kehilangan relasi terhadap entiti induknya.·
- Bertingkat (cascade) : penghapusan pada entiti induk selalu diijinkan dan secara bertingkat akan melakukan penghapusan pada entiti anak yang cocok dengan yang dihapus pada entiti induk.·
- Kosong (nulify) : penghapusan pada entiti induk selalu diijinkan dan kunci tamu pada entiti anak yang cocok dengan yang dihapus akan diisi dengan null.·
- Default : penghapusan pada entiti induk selalu diijinkan dan kunci tamu pada entiti anak yang cocok dengan yang dihapus akan diisi dengan suatu nilai default.·
- Customized : penghapusan pada entiti induk terjadi hanya jika paksaan validasi yang telah dibuat.·
- Tak berubah (no effect), penghapusan pada entiti induk selalu diijinkan dan tidak diperlukan pengujian validasi pada entiti anak.
3. Hal-hal lain yang berkaitan dengan integritas referensial
Pada
bagian sebelumnya telah dibahas tentang dua buah aturan yang berhubungan dengan
integritas referensial, tetapi ada beberapa hal yang perlu diperhatikan seperti
:
- Hindarilah menggunakan penyisipan dan penghapusan menggunakan aturan kosong(nulify), sebaiknya gunakanlah sebuah tanda dengan memakai aturan default. Nilai null adalah nilai khusus yang menunjukkan “nilai tidak diketahui” atau “tidak dapat dipakai”. Nilai NULL tidak sama dengan nilai nol atau blank. Kode instruktur yang yang berisi NULL tidak sama dengan kode instruktur yang berisi nol (kode instruktur = 0). Kode instruktur yang berisi null mungkin berarti kode tersebut tidak teridentifikasi.·
- Jangan pernah mendefinisikan satu aturan penyisipan dan penghapusan yang kosong (nulify) bila kunci tamu juga menjadi bagian dari kunci primer pada entiti anak. Pada keadaan khusus aturan ini terjadi pada subtipe, dimana kunci primer dan kunci tamu adalah satu dan sama.·
- Selalu definisikan aturan penyisipan untuk satu supertipe dan subtipe relationship sebagai satu versi aturan otomatis atau tergantung (dependent).·
- Definisikan aturan penghapusan untuk relationship sebagai bertingkat (cascade).·
- Integritas yang didefinisikan sendiri oleh user mengijinkan user untuk mendefinisikan business rules spesifik yang digunakan untuk mendukung ketiga aturan integritas data sebelumnya.
d. Integritas User Defined
User–defined integritas mengizinkan kita untuk
menentukan spesific business rules sendiri yang tidak sama pada kategori
integrity yang lain.
Untuk
jenis yang satu ini, menetapkan aturan sesuai keinginan user sendiri, misal
untuk umur harus diantara 0 sampai 17, selain itu tidak diperbolehkan.
Sesuai dengan aturan logika dan bisnis yang ada maka
pemakai dapat menetapkan batasan dan aturan dari data yang disimpan.
Batasan dan implementasi :
·
Batasan melalui tabel dan kolom pada saat pembuatan
tabel.
·
FOREIGN KEY
·
TRIGGERS DAN STORED PROCEDURE
Kemampuan
untuk menghindari operasi-operasi yang tidak valid, yang dibawa oleh data.
Sebagai contoh, perkalian antara gaji seorang staf dengan biaya sewa, meskipun
kedua atribut tersebut mempunyai tipe data numeric yang sama.
Secara
umum integritas konstrain dapat berfungsi sebagai unsur-unsur penting untuk
mempertahankan keutuhan basis data, namun disadari bahwa unsur ini tidak
semuanya memberikan kemudahan mekanisme untuk dilakukan test. Sehingga
integritas yang dilakukan sejauh ini hanyalah pada kondisi yang dapat dilakukan
test untuk meminimalkan overhead.
Tidak ada komentar:
Posting Komentar