Professional Documents
Culture Documents
BASIS DATA
2) Domain Constraint
Domain constraint merupakan bentuk integrity constraint yang paling sederhana.
Setiap ada pemasukan data baru, maka akan langsung diperiksa oleh sistem. Domain
constraint diterapkan pada atribut basis data sehingga sangat dimungkinkan beberapa
atribut memiliki domain yang sama.
Tipe-tipe Domain dalam SQLSQL-92 standar mendukung bermacam-macam tipe
domain yang built-in sebagai berikut :- char(n) : tipe karakter dengan panjang yang
tetap (n) (fixed-length character)- varchar(n) : tipe karakter dengan panjang
bervariasi. Maksimum panjang n.- int : integer- smallint : small integer- numeric
(p,d) : p menunjukkan jumlah digit bilangan dan d menunjukkan jumlah digit
dibelakang titik desimal.- real, double precision : floating-point dan double-
precision floating point- float (n) : floating-point number- date : tipe kalender- time
: tipe hari dalam jam,menit dan detik
SQL-92 menggunakan klausa create domain untuk mendefinisikan domain.Contoh :
create domain nama_perusahaan char(20)
Untuk menciptakan domain baru dapat digunakan perintah create domain. Sebagai
contoh adalah pada perintah:
create domain Dollar numeric (12,2)
create domain Pound numeric (12,2)
Perintah ini akan mendefinisikan domain Dollar dan Pound dengan yang merupakan
angka desimal sebanyak 12 digit dengan 2 digit berada di belakang koma. Pada
bahasa SQL juga terdapat klausa check yang bisa digunakan untuk memeriksa suatu
kondisi nilai tertentu yang diinginkan. Berikut adalah contoh penggunaan klausa
check pada perintah create domain.
Create domain HourlyWage numeric(5,2) constraint wage-value-test check
(value>=4.00)
Perintah tersebut akan mengecek nilai dari domain HourlyWage harus ≥ 4.00
Assertion
Penggunaan constraint berupa kunci primer dan kunci tamu pada deklarasi awal tabel
merupakan salah satu cara untuk memelihara integritas data. Domain constraint dan
Referential integrity constraint merupakan salah satu bentuk dari assertion. Pada
beberapa basis data penggunaan kunci primer dan kunci tamu sudah cukup untuk
menjaga integritas data. Tetapi pada beberapa kasus basis data diperlukan suatu
constraint ataupun aturan yang lebih baik.
Metode lain yang sering digunakan dalam pemeliharaan integritas adalah assertion
dan trigger. Assertion digunakan untuk mengekspresikan suatu kondisi basis data
sesuai dengan yang kita inginkan. Seperti halnya prosedur, assertion diberikan nama
tertentu sehingga bisa dibatalkan apabila ada kondisi tertentu yang menuntut
perubahan struktur basis data. Syntax dari definisi assertion adalah sebagai berikut.
create assertion AssertionName check (predicate)
Ketika assertion dibuat, maka sistem akan melakukan pengecekan validitas dari
assertion yang dibuat. Jika assertion yang dibuat valid maka perubahan terhadap
basis data hanya akan berlaku ketika tidak menyalahi assertion yang telah dibuat.
Pengecekan validitas tersebut akan memakan biaya yang besar terutama apabila
assertion yang dibuat cukup rumit, sehingga penggunaan dan pembuatan assertion
harus dilakukan dengan hati-hati. Karena itu tidak banyak developer sistem dan
DBMS yang menyediakan fasilitas ini.
Trigger
Trigger merupakan pernyataan yang dieksekusi secara otomatis oleh sistem basis
data sebagai akibat dari perubahan basis data. Ada beberapa persyaratan yang harus
dipenuhi untuk merancang mekanisme trigger, yaitu:
Menspesifikasikan kapan trigger harus dieksekusi.
Menspesifikasikan perintah yang akan dilaksanakan ketika trigger dijalankan.
Sistem basis data yang berbasis SQL pada umumnya menggunakan trigger,
walaupun sebelum versi SQL:1999 belum dimasukkan ke dalam standar SQL. Hanya
saja setiap sistem basis data menerapkan trigger melalui syntax yang berbeda-beda.
Syntax SQL:1999 mirip dengan syntax trigger pada IBM DB2 dan Oracle.
Trigger sebenarnya tidak lain adalah suatu pemrograman PL/SQL yang mirip dengan
procedure. Perbedaan mendasar dengan procedure adalah aktivasinya, dimana
procedure dapat dipanggil secara langsung sementara trigger dipanggil melalui
pemicu yang berupa bahasa DML (Data Manipulation Language). Bahasa DML
yang digunakan sebagai pemicu adalah insert, update dan delete
BAB II
Pembahasan
Listing Program
CREATE TABLE Mahasiswa(
Nama char(20),
Tgl_lahir datetime,
Jenis_kel char(1)
);
Output
Pembahasan :
1. create table Mahasiswa(), pernyataan ini berfungsi untuk membuat
sebuah table bernama Mahasiswa. Tanda ( digunakan untuk sebagai awal
pendifinisian table dan diakhiri dengan tanda ). Didalam tanda () ini nantinya
diisikan field-field yang akan dimasukkan ke dalam table.
2. Nim char (10)NOT NULL PRIMARY KEY, pernyataan ini berfungsi untuk
membuat field bernama Nim yang bertipe char dengan ukuran 10, dan field ini
berfungsi sebagai primary key.
3. Nama char(15) NOT NULL, pernyataan ini berfungsi untuk membuat field
bernama ‘Nama’ dengan variable bertipe char dengan ukuran 15.
4. Alamat char (20) NOT NULL, pernyataan ini berfungsi untuk membuat
field bernama ‘Alamat’ dengan variable bertipe char dengan ukuran 20.
5. Kota char(8) NOT NULL, pernyataan ini berfungsi untuk membuat field
bernama ‘Kota’ dengan variable bertipe char dengan ukuran 8.
6. Tgl_lahir datetime, pernyataan ini berfungsi untuk membuat field
bernama ‘Tgl_lahir’ dengan variable bertipe datetime (YYYY-MM-DD : HH-
MM-SS).
7. Jenis_kel char(1)pernyataan ini berfungsi untuk membuat field bernama
‘Jenis_kel’ dengan variable bertipe char dengan ukuran 1.
Output
Pembahasan :
1. insert into mahasiswa values ('123010001','Ifan','Jl
Tabel Buku
Judul char(20),
Pengarang char(15),
Jml_buku int,
Kode_penerbit char(2),
Output
Tabel Penerbit
Kode_penerbit char(2),
Nm_penerbit char(15)
Output
Tabel Pinjam
Tgl_pinjam datetime,
Mhs_no_induk char(9),
Buk_kode_buku char(4),
Tgl_hrs_kembali datetime,
Tgl_kembali datetime
Output
Output
Inputan Tabel Penerbit
Output
Output