Kamis, 03 Oktober 2013

Penggolongan Integritas Data



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 :
·      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