Sabtu, 18 Oktober 2014

INTEGRITAS DALAM BASIS DATA

Pengertian integritas data secara luas mengacu pada kepercayaan dari sumber daya suatu sistem. 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.

Contoh :
Dari mekanisme integritas data adalah hunbungan orang tua dan anak dengan record terkait. Jika dalam catatan orangtua memiliki satu atau lebih dari catatan anak terkait semua proses integritas referensial akan ditangani oleh database itu sendiri, yang secara otomatis menjamin keakuratan dan integritas data sehingga tidak ada catatan anak bisa ada tanpa orang tua (atau disebut juga yatim piatu) dan bahwa tidak ada orangtua kehilangan catatan anak mereka. Ini juga menjamin bahwa tidak ada catatan induk dapat dihapus sementara orangtua memiliki record setiap anak. Semua ini ditangani pada tingkat database dan tidak memerlukan coding cek integritas ke dalam setiap aplikasi.

Integritas Data dapat Di kelompokan menjadi 2 bagian :
1. Integritas data yang berada dalam relasi, yaitu integritas entitas dan integritas domain.
2. 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 :
1. Integritas Entitas
2. Integritas Domain
3. Integritas Referensial
4. Integritas Enterprise

INTEGRITAS ENTITAS
Integritas entitas mendifinisikan sebuah baris sebagai sebuah entitas yang unik untuk suatu tabel. Dalam integritas entitas, tidak ada baris yang di duplikat didalam suatu tabel.
Contoh :
create table Pembelian
(ID Pembelian smallint,
ID model smallint,
DeskripsiModel varchar (40),
Primary Key (IDPembelian));

INEGRITAS DOMAIN
Domain adalah nilai-nilai yang dimungkinkan diasosiasikan dengan setiap atribut, Integritas domain merupakan validasi masukan dari sebuah kolom. Dengan integritas domain, tidak ada data yang melanggar jangkauan nilai di tiap kolom data.
Jenis domain yang harus dimiliki oleh setiap atribut :
1. Karakter bebas
2. Alphanumerik
3. Alphabet
4. Numerik
Pemeliharaan integritas domain :
1. Pendifinisian skema
2. Pemanfaatan properti field
3. Penerapan proses validasi pada pemasukan data
Contoh :
Create table biografi
(idpenulis smallint unsigned not null,
tahunLahir year not null,
kotalahir varchar (40) not null default
‘Kosong’);
create domain nilai numerik(3,2)
constraint value-test check (value >=0.00)

INTEGRITAS REFERENSIAL
Integritas referensial adalah dasar relasi antar tabel yaitu antara foregin key dengan promary key. Integritas referensial memastikan bahwa seluruh nilai dari foregin key cocok dengan nilai primary key yang dihubungkanya.
Contoh :
create table account
(account-number char (10),
branch-name char (15),
balance integer,
primary key (account-number),
foreign key (branch-name) reference branch)
create table depositor
(costumer-name char (20),
account-number char (10),
primary key (costumer-name, account-number)
foreign key (account-number) reference account
foreign key (costumer-name) reference costumer)
on delete cascade on update cascade

INTEGRITAS ENTERPRISE
Integritas enterprise mengizinkan kita untuk menentukan spesifik business rules sendiri yang tidak sama pada kategori integritas yang lainnya.

SQL SUPPORT


SQL Berfungsi sebagai bahasa query   interaktif sekaligus juga sebagai bahasa pemrograman basis data. SQL meliputi:
1. Definisi data
2. Manipulasi data
 
SQL relatif mudah untuk dipelajari. SQL standar bentuk penulisannya mengikuti aturan ANSI.

Batasan Integritas SQL : 

Integritas Entitas terdiri dari Primary Key, Not Null dan Unique 
Integritas Referensial terdiri dari Foreign Key, On Delete, dan On Update  

 

KEYS

Pada basis data relasional, key disebut juga key field, sort key, index, atau keyword adalah field yang digunakan untuk mengurutkan data. Key biasanya berupa pengidentifikasi unik, seperti NIP (nomor induk pegawai) atau NIM (nomor induk mahasiswa). Sebagian besar sistem manajemen basis data membolehkan kita memakai lebih dari 1 key sehingga kita bisa mengurutkan record dalam banyak cara. Key pertama bernama primary key, yang harus memiliki nilai unik untuk setiap record. Sedangkan field lain yang mengidentifikasikan record di tabel lain dinamakan foreign key. Key yang disebut terakhir inilah yang digunakan untuk menghubungkan data (cross-reference) di antara tabel-tabel relasional.

Ada 3 key :
  • Superkey
• Merupakan satu atau kumpulan atribut yang dapat membedakan setiap baris data dalam sebuah tabel secara unik
• Contoh : superkey di tabel mahasiswa
o (nomhs, nama, alamat, tgllahir)
o (nomhs, nama, tgllahir)
o (nomhs, nama)
o (nomhs)

  • Candidate key
• Merupakan kumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah tabel secara unik
• Sebuah CK pasti superkey, tapi belum tentu sebaliknya
• Contoh : pada tabel mahasiswa
o (nomhs)
o (nama)

  • Primary key
• Dari beberapa CK dapat dipilih satu untuk dijadikan PK, yang memiliki keunikan paling baik
• Contoh : dari tabel mahasiswa, yang layak dijadikan PK adalah nomhs
 

TRANSITION CONSTRAINT

Database Management System (DBMS) memiliki peran yang sangat penting dalam pengelolaan datadan menjaga konsistensi data. Akan tetapi, tidak semua DBMS mendukung penanganan seluruh jenisintegrity constraint. Permasalahan timbul ketika DBMS tidak dapat menangani integrity constrainttertentu sehingga harus dilakukan di tingkat aplikasi. Pemeriksaan di tingkat aplikasi dapat menyebabkan kebocoran, yaitu data yang masuk tidak sesuai dengan constraint yang ada. Oleh karenaitu, perlu adanya suatu cara pemeriksaan integrity constraint di tingkat aplikasi, yang dapatmemberikan output yang berguna untuk memperbaiki konsistensi data.


Dari proses pengklasifikasian integrity constraint didapat dua jenis integrity constraint, yaitu state dan transition integrity constraint, tetapi model pemeriksaan ini hanya dapat diterapkan pada state integrity constraint. Untuk menyatakan integrity constraint pada suatu basis data digunakan metadata definisi integrity constraint, metadata instansiasi integrity constraint, dan metadata parameter integrity constraint. Metadata definisi integrity constraint menyimpan cara memeriksa suatu integrity constraint, metadata instansiasi integrity constraint menyimpan instansiasi suatu integrity constraint pada basis data, sedangkan metadata parameter integrity constraint menyimpan parameter-parameter sebuah instans integrity constraint. Khusus untuk integrity constraint yang telah terdefinisi dengan jelas dan secara umum digunakan di banyak basis data, dibentuk metadata khusus yang hanya menyimpan informasi parameter integrity constraint tersebut. Empty result-set query digunakan dalam pemeriksaan karena dapat mengetahui apakah suatu integrity constraint terpenuhi atau tidak, dan sekaligus menghasilkan tuple-tuple yang melanggar integrity constraint, jika ada, untuk digunakan dalam pembuatan laporan.


Perangkat lunak yang mengimplementasi model pemeriksaan yang dihasilkan telah dibuat di atas platform Java. Perangkat lunak tersebut digunakan untuk mengelola integrity constraint yang terdefinisi terhadap suatu basis data, dan memeriksa integrity constraint tersebut. Berdasarkan hasil pengujian, perangkat lunak telah dapat digunakan untuk memeriksa integrity constraint dengan baik dan menghasilkan laporan yang sesuai.

CONSTRAINT CLASSIFICATION

  • PRIMARY  KEY Constraint 
Berguna 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 foreign key pada suatu tabel. Foreign Key digunakan untuk menghubungkan dua tabel. Kolom foreign key adalah kolom atau kombinasi beberapa kolom dalam suatu tabel yang selalu merujuk pada kolom primary key pada suatu tabel.

  • UNIQUE Constraint
Digunakan untuk menjamin bahwa data pada suatu kolom atau beberapa kolom tidak diijinkan sama.

  • CHECK Constraint
Digunakan untuk membatasi suatu nilai pada kolom dengan nilai tertentu yang diijinkan masuk.   
  • DEFAULT Constraint
Merupakan atribut opsional yang digunakan untuk memberikan suatu nilai tertentu pada 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.