Macam-Macam Constraint
Macam-Macam Constraint |
Oracle PL/SQL Mempunyai beberapa macam tipe constraint, yaitu:
1. NOT NULL
2. DEFAULT
3. UNIQUE
4. Primary Key
5. Foreign Key
6. Check
NOT NULL
Constraint NOT NULL dipakai pada kolom yang datanya harus ada (diisi). Di bawah ini yaitu teladan penggunaan NOT NULL constraint pada proses pembuatan tabel (Create Table).CREATE TABLE MAHASISWA( NPM VARCHAR2(10) NOT NULL, NAMA VARCHAR2 (50) NOT NULL, TEMPAT_LAHIR VARCHAR2 (50) NOT NULL, TGL_LAHIR DATE NOT NULL, ALAMAT VARCHAR2 (50), JURUSAN VARCHAR2 (50), IPK NUMBER (3, 2), PRIMARY KEY (NPM) );
Warning!!
Kalau Anda tidak mengisi data pada kolom npm, nama, dan tempat_lahir ketika melaksanakan proses Insert Data akan keluar error ORA-01400: cannot insert NULL into ("NANO"."MAHASISWA"."NPM").
ALTER TABLE MAHASISWA MODIFY JURUSAN VARCHAR2 (50) NOT NULL;
DEFAULT
Constraint Default dipakai untuk menunjukkan nilai default pada kolom ketika ada proses Insert Data dimana datanya null.Constraint Default pada proses Create Table
CREATE TABLE MAHASISWA( NPM VARCHAR2(10) NOT NULL, NAMA VARCHAR2 (50) NOT NULL, TEMPAT_LAHIR VARCHAR2 (50) NOT NULL, TGL_LAHIR DATE NOT NULL, ALAMAT VARCHAR2 (50), JURUSAN VARCHAR2 (50), IPK NUMBER (3, 2) DEFAULT 0, PRIMARY KEY (NPM) );
Constraint Default pada proses Alter Table.
ALTER TABLE MAHASISWA MODIFY JURUSAN VARCHAR2 (50) DEFAULT 'Teknik Informatika';
Menghilangkan Constraint Default.
ALTER TABLE CUSTOMERS ALTER COLUMN JURUSAN DROP DEFAULT;
UNIQUE
Di bawah ini yaitu pembuatan UNIQUE Constraint pada proses Create Table.CREATE TABLE MAHASISWA( NPM VARCHAR2(10) NOT NULL, NAMA VARCHAR2 (50) NOT NULL UNIQUE, TEMPAT_LAHIR VARCHAR2 (50) NOT NULL, TGL_LAHIR DATE NOT NULL, ALAMAT VARCHAR2 (50), JURUSAN VARCHAR2 (50), IPK NUMBER (3, 2), PRIMARY KEY (NPM) );
Di bawah ini yaitu pembuatan UNIQUE Constraint pada proses Alter Table.
ALTER TABLE MAHASISWA MODIFY NAMA INT NOT NULL UNIQUE;
Di bawah ini yaitu pembuatan UNIQUE Constraint pada proses Alter Table.
ALTER TABLE MAHASISWA ADD CONSTRAINT mhs_unique_const UNIQUE(NAMA, TEMPAT_LAHIR);
Di bawah ini yaitu perintah untuk menghapus UNIQUE Constraint.
ALTER TABLE MAHASISWA DROP CONSTRAINT mhs_unique_const;
PRIMARY KEY
Di bawah ini yaitu teladan penggunaan Primary Key pada dikala Create Table.CREATE TABLE MAHASISWA( NPM VARCHAR2(10) NOT NULL, NAMA VARCHAR2 (50) NOT NULL, TEMPAT_LAHIR VARCHAR2 (50) NOT NULL, TGL_LAHIR DATE NOT NULL, ALAMAT VARCHAR2 (50), JURUSAN VARCHAR2 (50), IPK NUMBER (3, 2), PRIMARY KEY (NPM) );
Di bawah ini yaitu penggunaan Primary Key pada perintah Alter Table.
ALTER TABLE MAHASISWA ADD PRIMARY KEY (NPM);
Di bawah ini yaitu teladan penggunaan Primary Key menggunakan 2 kolom/field pada saat Create Table.
CREATE TABLE MAHASISWA( NPM VARCHAR2(10) NOT NULL, NAMA VARCHAR2 (50) NOT NULL, TEMPAT_LAHIR VARCHAR2 (50) NOT NULL, TGL_LAHIR DATE NOT NULL, ALAMAT VARCHAR2 (50), JURUSAN VARCHAR2 (50), IPK NUMBER (3, 2), PRIMARY KEY (NPM, NAMA) );
Di bawah ini yaitu teladan penggunaan Primary Key menggunakan 2 kolom/field pada saat Alter Table.
ALTER TABLE MAHASISWA ADD PRIMARY KEY (NPM, NAMA);
Di bawah ini yaitu perintah untuk menghapus constraint Primary Key.
ALTER TABLE MAHASISWA DROP PRIMARY KEY ;
FOREIGN KEY
Di bawah ini yaitu teladan penggunaan constraint Foreign Key pada perintah Crate Table.CREATE TABLE JURUSAN( KODE_JURUSAN VARCHAR2(10) NOT NULL, NAMA_JURUSAN VARCHAR2 (50) NOT NULL, TEMPAT_LAHIR VARCHAR2 (50) NOT NULL );
CREATE TABLE MAHASISWA( NPM VARCHAR2(10) NOT NULL, NAMA VARCHAR2 (50) NOT NULL, TEMPAT_LAHIR VARCHAR2 (50) NOT NULL, TGL_LAHIR DATE NOT NULL, ALAMAT VARCHAR2 (50), JURUSAN VARCHAR2 (10) REFERENCES JURUSAN (KODE_JURUSAN), IPK NUMBER (3, 2), PRIMARY KEY (NPM, NAMA) );
ALTER TABLE MAHASISWA ADD FOREIGN KEY (JURUSAN) REFERENCES JURUSAN (KODE_JURUSAN);
Di bawah ini yaitu perintah untuk menghapus constraint Foreign Key.
ALTER TABLE MAHASISWA DROP FOREIGN KEY;
CHECK
CREATE TABLE MAHASISWA( NPM VARCHAR2(10) NOT NULL, NAMA VARCHAR2 (50) NOT NULL, TEMPAT_LAHIR VARCHAR2 (50) NOT NULL, TGL_LAHIR DATE NOT NULL, ALAMAT VARCHAR2 (50) NOT NULL CHECK (ALAMAT = 'JAKARTA'), JURUSAN VARCHAR2 (50), IPK NUMBER (3, 2) DEFAULT 0, PRIMARY KEY (NPM) );
ALTER TABLE MAHASISWA MODIFY ALAMAT VARCHAR2 (50) NOT NULL CHECK (ALAMAT = 'JAKARTA');
ALTER TABLE MAHASISWA ADD CONSTRAINT alamat_check_cons CHECK(ALAMAT = 'JAKARTA'));
ALTER TABLE MAHASISWA DROP CONSTRAINT alamat_check_cons;
INDEX
CREATE INDEX index_name ON table_name ( column1, column2.....);
CREATE INDEX idx_nama ON MAHASISWA ( nama );
ALTER TABLE MAHASISWA DROP INDEX idx_nama;