CONSTRAINT Jenis Constraint : Primary Key Satu atribut yang tidak hanya mengidentifikasikan secara unik suatu kejadian spesifik. Tetapi juga mewakili setiap kejadian dari entity. Not Null SQL Server tidak memperkenankan column dari data dengan diisi data kosong. Setiap data yang tidak diketahui datanya akan diisi dengan nilai Null. Jika tidak ingin column diisi oleh Null maka gunakan Not Null. Unique Unique digunakan untuk menjaga integritas entity data. Baris data yang diberikan constraint unique tidak akan mempunyai duplikat. Check Check membantu kita dalam melakukan entry data. Dengan fungsi Check kita dapat menentukan ruang nilai tertentu. Foreign Key Foreign key adalah teman dari Primary Key dalam bentuk relasi. Keberadaan foreign key pada suatu table menyatakan bahwa field itu adalah Primary Key dari table lain.
Contoh penggunaan Constraint : 1. Membuat table dengan constraint PRIMARY KEY CREATE TABLE PESERTA ( NOPESERTA INT, NAMA
CHAR(16),
JENKEL
CHAR,
ALAMAT
VARCHAR(26),
KOTA
VARCHAR(12),
INSTANSI
VARCHAR(12),
PRESTASI
INT
CONSTRAINT PK_PESERTA PRIMARY KEY (NOPESERTA) )
2. Membuat table dengan constraint NOT NULL CREATE TABLE PESERTA ( NOPESERTA INT, NAMA
CHAR(16) NOT NULL,
JENKEL
CHAR,
ALAMAT
VARCHAR(26),
KOTA INSTANSI
VARCHAR(12), VARCHAR(12),
PRESTASI
INT
CONSTRAINT PK_PESERTA PRIMARY KEY (NOPESERTA) )
3. Membuat table dg constraint UNIQUE CREATE TABLE PESERTA ( NOPESERTA INT, NAMA
CHAR(16) NOT NULL,
JENKEL
CHAR,
ALAMAT
VARCHAR(26),
KOTA
VARCHAR(12),
INSTANSI
VARCHAR(12),
PRESTASI
INT,
NO_KTP
CHAR(20)
CONSTRAINT PK_PESERTA PRIMARY KEY (NOPESERTA), CONSTRAINT UQ_NO_KTP UNIQUE (NO_KTP) )
4. Membuat table dg constraint CHECK CREATE TABLE PESERTA ( NOPESERTA INT,
NAMA
CHAR(16) NOT NULL,
JENKEL
CHAR,
ALAMAT
VARCHAR(26),
KOTA
VARCHAR(12),
INSTANSI
VARCHAR(12),
PRESTASI
INT,
NO_KTP
CHAR(20)
CONSTRAINT PK_PESERTA PRIMARY KEY (NOPESERTA), CONSTRAINT UQ_NO_KTP UNIQUE (NO_KTP), CONSTRAINT CK_PRESTASI CHECK (PRESTASI >=0 AND PRESTASI <=100) )
5. Membuat table dg constraint FOREIGN KEY CREATE TABLE INSTANSI ( KODE
CHAR(5)
PRIMARY KEY,
NAMA_INST
VARCHAR(30)
) CREATE TABLE PESERTA ( NOPESERTA INT, NAMA
CHAR(16) NOT NULL,
JENKEL
CHAR,
ALAMAT
VARCHAR(26),
KOTA
VARCHAR(12),
KODE_INST
CHAR(5),
PRESTASI
INT,
NO_KTP
CHAR(20)
CONSTRAINT PK_PESERTA PRIMARY KEY (NOPESERTA), CONSTRAINT UQ_NO_KTP UNIQUE (NO_KTP), CONSTRAINT CK_PRESTASI CHECK (PRESTASI >=0 AND PRESTASI <=100), CONSTRAINT FK_KODE_INST FOREIGN KEY (KODE_INST) REFERENCES INSTANSI(KODE) )
Alter Constraint 1. Add : fungsi ini sama dengan fungsi alter table yaitu menambah satu buah constraint di table Contoh baris perintah : alter table mahasiswa add constraint uq_noktp unique(no_ktp)
2. Drop : fungsi ini sama dengan fungsi alter table yaitu menghapus satu buah constraint di table Baris perintah : alter table mahasiswa drop constraint uq_noktp