Anda di halaman 1dari 34

Praktikum Pengantar Basis Data

Constraint di Mysql

Sistem Informasi
Fakultas Ilmu Komputer
Universitas Pembangunan Nasional Veteran Jakarta
Tipe- tipe constraints
Constraint Keterangan
NOT NULL Menentukan suatu kolom tidak boleh berisi NULL.

UNIQUE Untuk mencegah suatu kolom memiliki 2 baris atau lebih


berisi data yang sama.
PRIMARY KEY Mengkombinasikan constraint NOT NULL dan UNIQUE dalam
satu deklarasi.Mengidentifikasikan secara unik setiap baris
pada tabel.

FOREIGN KEY Memaksakan nilai pada suatu tabel untuk bernilai sama
dengan tabel lain.
CHECK Menentukan suatu kondisi yang harus benar.
Pengertian dan Fungsi Constraint

• Constraint di MySQL adalah sebuah opsi atau atribut yang


berfungsi untuk membatasi nilai setiap data yang akan
dimasukkan dalam suatu kolom di dalam tabel database MySQL.

• Constraint menyediakan mekanisme standar untuk menjaga


akurasi dan integritas data di dalam tabel database.
Jenis-Jenis Constraint di Mysql
• NOT NULL
• UNIQUE
• KUNCI UTAMA(primary key)
• DEFAULT
• FOREIGN KEY
• CHECK
NOT NULL

• Constraint Not Null ini berfungsi untuk membatasi setiap data


yang dimasukkan di suatu kolom pada tabel database MySQL
harus memiliki nilai.

• Sintaks:
CREATE TABLE table_name (
column1 datatype [ NULL | NOT NULL ],
column2 datatype [ NULL | NOT NULL ],
);
CONTOH PENGGUNAAN NOT NULL

• Sintaks not null bisa ditambahkan saat pembuatan tabel,


contoh:
CONTOH PENGGUNAAN NOT NULL

NOT NULL Constraint: untuk memastikan kolom dalam tabel tidak


berisi nilai NULL.

CREATE TABLE Pelanggan(Kode Integer NOT NULL,Nama Varchar


(30) NOT NULL,Alamat Varchar(30));
UNIQUE
• Constraint Unique ini berfungsi untuk membatasi setiap data yang
dimasukkan di suatu kolom pada tabel database MySQL ini harus
berbeda dengan data yang telah tersimpan.

• Sintaks :
CREATE TABLE table_name (
column1 datatype [ NULL | NOT NULL ] [UNIQUE],
column2 datatype [ NULL | NOT NULL ],..
);
UNIQUE
• Syntax untuk membuat batasan unik menggunakan pernyataan
ALTER TABLE di MySQL adalah:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE (column1,
column2, ... column_n);
UNIQUE

• Unique key mengidentifikasi tupel individu secara unik dalam


suatu relasi atau tabel. Sebuah tabel dapat memiliki lebih dari
satu unique key tidak seperti primary key. Unique key dapat
menerima nilai NULL untuk kolom. Unique key juga
direferensikan oleh foreign key dari tabel lain.
CONTOH PENGGUNAAN UNIQUE

• Contoh 1

• Contoh 2
CONTOH PENGGUNAAN UNIQUE
CONTOH PENGGUNAAN UNIQUE
UNIQUE Constraint: untuk memastikan tidak ada
data ganda dalam kolom.

CREATE TABLE Pelanggan(Kode Integer


UNIQUE,Nama Varchar (30),Alamat Varchar(30));
PRIMARY KEY
• Constraint Primary Key ini mirip dengan constraint Unique dan
biasanya berfungsi sebagai acuan dalam suatu tabel data.

• Constraint primary key ini hanya bisa dipasangkan pada salah


satu kolom saja dalam satu tabel.

• Sedangkan Unique Constraint bisa dipasangkan dalam beberapa


kolom dalam satu tabel.
PRIMARY KEY
• Sintaks pada saat pembuatan tabel:
CREATE TABLE table_name (
column1 datatype PRIMARY KEY,
column2 datatype [ NULL | NOT NULL ],
);

• Sintaks dengan alter:


ALTER TABLE table_name
ADD PRIMARY KEY (column_name);
CONTOH PENGGUNAAN PRIMARY KEY

• Contoh 1

• Contoh 2
CONTOH PENGGUNAAN PRIMARY KEY
• Primary Key Constraint: digunakan untuk
mengidentifikasi secara unik pada baris. MySQL:

CREATE TABLE Pelanggan(Kode integer,Nama


varchar(30),Alamat varchar(30), PRIMARY KEY (Kode));
CREATE TABLE Pelanggan (Kode integer PRIMARY KEY,
Nama varchar(30), Alamat varchar(30));
Primary key

Primary key adalah kolom tabel yang secara unik mengidentifikasi setiap tuple (baris)
dalam tabel itu. Primary key memberlakukan batasan integritas ke tabel. Hanya satu
kunci utama yang diizinkan untuk digunakan dalam sebuah tabel. Kunci utama tidak
menerima nilai duplikat dan NULL apa pun. Nilai Primary key dalam tabel sangat jarang
berubah sehingga dipilih dengan hati-hati di mana perubahan dapat terjadi dengan
cara yang jarang. Primary key dari satu tabel dapat direferensikan oleh foreign key dari
tabel lain.
Key Differences Between Primary
key and Unique key

• Primary key will not accept NULL values whereas


Unique key can accept NULL values.
• A table can have only primary key whereas there can
be multiple unique key on a table.
• A Clustered index automatically created when a
primary key is defined whereas Unique key generates
the non-clustered index.
DEFAULT
• DEFAULT berfungsi untuk menyediakan nilai bawaan untuk
kolom, jika seandainya tidak ada data yang diinput kepada
kolom tersebut.

• Sintaks
CREATE TABLE namatabel (..., namakolom tipe_data
DEFAULT [nilai_default], … );
ALTER TABLE namatabel ALTER COLUMN namakolom SET
DEFAULT [nilai_default];
CONTOH PENGGUNAAN DEFAULT
• Contoh 1
CONTOH PENGGUNAAN DEFAULT
• Contoh 2
CONTOH PENGGUNAAN DEFAULT
• DEFAULT Constraint: menentukan nilai default pada kolom saat
data diinsert pada tabel.

• CREATE TABLE Tabungan_Detail (Kode char(4) NOT NULL,


Keterangan varchar (30), Debet Numeric DEFAULT 0, Kredit
Numeric DEFAULT 0);
FOREIGN KEY
• Constraint FOREIGN KEY digunakan untuk mencegah tindakan
yang akan merusak keterhubungan antar tabel.

• FOREIGN KEY adalah kolom dalam satu tabel, yang merujuk ke


PRIMARY KEY di tabel lain.

• Tabel dengan FOREIGN KEY disebut tabel anak, dan tabel dengan
PRIMARY KEY tersebut, disebut tabel referensi atau tabel induk.
FOREIGN KEY
FOREIGN KEY
• Perhatikan bahwa kolom "PersonID" di tabel “Orders" menunjuk ke kolom
"PersonID" di tabel “Person".

• Kolom "PersonID" di tabel “Person" adalah PRIMARY KEY di tabel “Person".

• Kolom "PersonID" di tabel “Orders" adalah FOREIGN KEY di tabel “Orders".

• FOREIGN KEY mencegah data yang tidak valid dimasukkan ke dalam kolom
foreign key, karena harus menjadi salah satu nilai yang terdapat dalam tabel
induk.
Sintaks Foreign Key
• Pada Saat Pembuatan Tabel
CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    FOREIGN KEY (PersonID) REFERENCES 
Persons(PersonID)
);
Sintaks Foreign Key
• Menggunakan Alter
ALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons
(PersonID);
Sintaks Foreign Key
• Foreign Key Constraint: digunakan untuk integritas
referensi dari data. MySQL:
• CREATE TABLE ORDERS (Kode_Order integer,
Tgl_Order date, Kode_Pelanggan integer, Jumlah
double, Primary Key (Order_ID), Foreign Key
(Kode_Pelanggan) references Pelanggan(Kode));
• CREATE TABLE ORDERS (Kode_Oder integer primary
key, Tgl_Order datetime, Kode_Pelanggan integer
references Pelanggan(Kode), Jumlah double);
CHECK

• Batasan CHECK digunakan untuk membatasi rentang nilai yang


dapat ditempatkan dalam kolom.

• Artinya hanya akan mengizinkan nilai tertentu untuk kolom ini.


SINTAKS CHECK
• Pada saat pembuatan tabel
• CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    CHECK (Age>=18)
);

• Sintaks tersebut membuat constraint CHECK pada kolom “Age" saat tabel
“Persons" dibuat. CHECK memastikan bahwa usia seseorang harus 18
tahun ke atas.
SINTAKS CHECK

• Pada saat alter tabel


• ALTER TABLE Persons ADD CHECK (Age>=18);
SINTAKS CHECK
CHECK Constraint: memastikan data dalam kolom memenuhi
kriteria yang ditentukan.

CREATE TABLE Pelanggan (Kode integer CHECK (Kode > 0), Nama
varchar (30), Alamat varchar(30));

Pada contoh di sini kriteria field Kode harus lebih besar dari 0,
jika data dientry lebih kecil dari 0 akan terjadi error dan data
tidak akan dapat disimpan ke table.
TERIMA KASIH

Anda mungkin juga menyukai