Constraint Pada Oracle

Macam-Macam Constraint

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 digunakan pada kolom yang datanya harus ada (diisi). Di bawah ini adalah contoh 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 melakukan proses Insert Data akan keluar error ORA-01400: cannot insert NULL into ("NANO"."MAHASISWA"."NPM").

Di bawah ini adalah contoh penggunaan NOT NULL constraint pada proses Alter Table.

ALTER TABLE MAHASISWA
MODIFY JURUSAN VARCHAR2 (50) NOT NULL;

DEFAULT

Constraint Default digunakan untuk memberikan 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 adalah 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 adalah pembuatan UNIQUE Constraint pada proses Alter Table.

ALTER TABLE MAHASISWA
MODIFY NAMA INT NOT NULL UNIQUE;

Di bawah ini adalah pembuatan UNIQUE Constraint pada proses Alter Table.

ALTER TABLE MAHASISWA
ADD CONSTRAINT mhs_unique_const UNIQUE(NAMA, TEMPAT_LAHIR);

Di bawah ini adalah perintah untuk menghapus UNIQUE Constraint.

ALTER TABLE MAHASISWA
DROP CONSTRAINT mhs_unique_const;

PRIMARY KEY

Di bawah ini adalah contoh penggunaan Primary Key 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)
);

Di bawah ini adalah penggunaan Primary Key pada perintah Alter Table.

ALTER TABLE MAHASISWA ADD PRIMARY KEY (NPM);

Di bawah ini adalah contoh 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 adalah contoh penggunaan Primary Key menggunakan 2 kolom/field pada saat Alter Table.

ALTER TABLE MAHASISWA ADD PRIMARY KEY (NPM, NAMA);

Di bawah ini adalah perintah untuk menghapus constraint Primary Key.

ALTER TABLE MAHASISWA DROP PRIMARY KEY ;

FOREIGN KEY

Di bawah ini adalah contoh 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 adalah 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;
Share on Google Plus

About Unknown

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

2 comments:

  1. Buat cek type data uniqe sama relasi Primary key to foreign key itu syntax nya apa gan?

    ReplyDelete