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 Berfungsi sebagai bahasa query interaktif sekaligus juga sebagai bahasa pemrograman basis data. SQL meliputi:
1. Definisi
data
2. Manipulasi 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
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)
• 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)
• 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
• Contoh : dari tabel mahasiswa, yang layak dijadikan PK adalah nomhs
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.
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.
- 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.