Diarsipkan di bawah: Sistem Basis Data
Integrity constraint merupakan hal yang sangat penting dalam sistem basis data karena SBD dipakai oleh banyak orang dan berdampak pada tingkat akurasi dan kebenaran suatu database dapat menurun jika integrity constraintnya tidak diperhatikan.
SQL menyediakan beberapa fasilitas untuk memastikan Integrity constraint tersebut. Salah dua nya adalah Assertion dan Triggers.
Assertion adalah predikat yang menunjukkan kondisi yang selalu harus dipenuhi di dalam suatu basis data. Sintaks SQL untuk assertion adalah
create assertion <assertion-name> check <predicate>
Sistem akan melakukan validasi ketika assertion dibuat dan ketika terjadi peng-update-an data. Salah satu contoh dari assertion misal : jumlah dari seluruh loan di suatu cabang harus lebih kecil dibandingkan jumlah semua account di cabang tersebut. Assertion yang dapat dibuat adalah
create assertion batasan-jumlah check (not exist (select * from branch where (select sum(amount) from loan where loan.branch-name = branch.branch-name) >= (select sum(amount) from account) where account.branch-name = branch.branch-name)))
Triggers adalah statement atau perintah yang akan dieksekusi otomatis oleh sistem ketika terjadi perubahan pada basis data. Untuk membuat trigger, ada dua hal yang harus diperhatikan yaitu kondisi spesifik saat trigger dijalankan dan aksi spesifik yang akan trigger lakukan.
Contoh : ketika balance pada account seseorang berjumlah minus, maka ada beberapa hal yang dapat dilakukan sistem, diantaranya adalah men-set balance menjadi 0, membuat loan sejumlah minus balance dari account tersebut. Contoh SQL nya.. ntar aja dahh.. msih ga ngerti bentuknya..hehehehe…
& Komentar sejauh ini
Tinggalkan komentar
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
gw komentarin ahhh…tulisan gw..
Komentar oleh joel November 30, 2007 @ 12:33 pmAh biar seru komentar ah…
1) Kalo misalnya pada saat assertion dibuat dan ternyata constraint yang ada pada assertion dilanggar, apa yang terjadi? Assertion tidak jadi diciptakan? Data yang melanggar diapus? Kalo data yang melanggar diapus, teknik penghapusannya gimana?
2) Gini joel… Kalo assertion bisa menciptakan batasan, trigger juga sebenernya bisa kan? Cuma bedanya kan trigger baru dieksekusi setelah sebuah query dijalankan… Kenapa gak gini aja, assertion cuma dijalanin sekali seumur (waktu dia diciptakan), sedangkan jika terjadi eksekusi query maka yang dijalankan selalu trigger.. Bisa gak?
Komentar oleh Zakka Fauzan Muhammad Desember 14, 2007 @ 9:27 amhmmm…..ini jawabannya apa ? ntar zak dibaca ulang lagi..
Komentar oleh joel Desember 14, 2007 @ 4:18 pm