Kelompok Pengguna Linux Indonesia [KPLI], Area Klaten [PELIK] Homepages
Mengenal SQL
SELECT * FROM anak;
id_pegawai | nama -----+------ 1923 | Mahmud 1923 | Wati 1922 | Heni Sekarang tambahkan di tabel anak ID pegawai yang tidak terdapat di tabel pegawai: INSERT INTO anak (id_pegawai,nama) VALUES (2000,'Budi'); Seperti yang kita lihat di tabel pegawai bahwa ID 2000 tidak ada. Meski hal tersebut dapat dilakukan di tingkat database namun secara sistem ketenagakerjaan hal tersebut tidak diperbolehkan, karena data tersbeut seharusnya memang tidak ada. Untuk memastikan bahwa data yang tidak benar itu tidak akan terisi, maka kita bisa melakukan pencegahan berikut:
Memberikan aturan dalam struktur field id_pegawai
Aplikasi melakukan pemeriksaan terlebih dahulu (dengan query) apakah ID pegawai tersebut ada. Kalau tidak ada tampilkan pesan error.
Yang pertama merupakan solusi yang sangat mendasar, artinya integritas data sudah terjaga, baik data yang dimasukkan lewat aplikasi (dengan user interface yang
sudah dibuat sedemikian rupa) atau user menuliskan SQL secara langsung (seperti INSERT diatas). Di tingkat aplikasi, pencegahan pertama ini memiliki kelemahan dalam menampilkan pesan kesalahan dimana pesan tersebut berasal dari database server yang sifatnya sangat teknis sekali. Oleh karena itu solusi pertama perlu dilengkapi dengan kedua, dimana kita bisa menampilkan pesan kesalahan sesuai dengan bahasa yang dikehendaki. Pemberian referential integrity untuk field id_pegawai adalah, sbb: CREATE TABLE anak ( id_pegawai INTEGER NOT NULL references PEGAWAI, nama VARCHAR(30) NOT NULL, PRIMARY KEY(id_pegawai, nama)); Atau bisa juga dengan menggunakan FOREIGN KEY: