Cara menggunakan contoh constraint mysql

Refrential Integrity Constraint 


Refrential Integrity Constraint merupakan aturan yang digunakan untuk menjaga kualitas dari informasi yang disimpan di database. Refrential  Integrity Constraint akan membantu kita untuk memastikan untuk tidak terjadinya kerusakan atau hilangnya integritas data saat proses Insert, Update dan Delete


Baca Juga:  Tipe-tipe Tabel yang Ada di MySQL


Misalnya Misalnya ketika suatu tabel berelasi dengan tabel data lain dan kita menghapus salah satu filed datanya namun itu tidak bisa dilakukan karena statusnya restrict (nanti akan dijelaskan dibawah). Tujuannya agar data yang ada di kedua tabel tersebut terjaga integritasnya jadi datanya tidak rusak di kemudian hari karen kesalahan relasi


Untuk menggunakan fitur Referential Integrity tipe dari store engine tabel yang digunakan adalah yang support transaksional, salah satu contoh di MySQL yang support transaksional adalah store engine InnoDB.



Refrential Integrity Constraint

1)    Restrict 

Restrict dalam bahasa indonesia adalah membatasi, maksudnya adalah data pada tabel induk tidak bisa di-delete atau di-update bila data tersebut memiliki relasi pada tabel lainnya.

CREATE TABLE prestasi(
kode char(6) NOT NULL,
kode_karyawan char(6) NOT NULL,
prestasi varchar(255) NOT NULL,
keterangan text,
PRIMARY KEY (kode),
FOREIGN KEY (kode_karyawan) REFERENCES karyawan (kode) 
ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE=InnoDB;


Kode Program Sintak Restrict adalah sintak yang digunkaan untuk menambahkan refrential integrity constraint dengan tipe restrict. Setelah dijalankan sintak pada Kode Program sintak restrict maka tampilannya akan seperti pada Gambar sintak restrict setelah dijalankan.


Cara menggunakan contoh constraint mysql
Gambar  Sintak Restrict Setelah Dijalankan


Gambar Sintak Restrict Setelah Dijalankan merupakan tampilan kode program 3.1 Sintak Restrict yang sudah berhasil dijalankan.

 

2)    Cascade

Cascade dalam bahasa Indonesia adalah bertingkat, maksudya adalah bila data pada tabel induk di-delete atau di-update maka secara otomatis data pada tabel lain yang memiliki relasi akan di-delete atau di-update juga.

CREATE TABLE prestasi(
kode char(6) NOT NULL,
kode_karyawan char(6) NOT NULL,
prestasi varchar(255) NOT NULL,
keterangan text,
PRIMARY KEY (kode),
FOREIGN KEY (kode_karyawan) REFERENCES karyawan (kode) 
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB;

 

Kode Program Sintak Cascade adalah sintak yang dapat digunakan untuk menambahkan refrential integrity constraint cascade. 

 

Cara menggunakan contoh constraint mysql
Tambahkan teksGambar Sintak Cascade


Gambar Sintak Cascade merupakan tampilan dari Kode Program Sintak Cascade yang sudah berhasil dijalankan pada CMD.


3)    No Action

No Action berarti mengabaikan referensi, artinya diperbolehkan untuk memperbarui, menghapus ataupun menambahkan data pada tabel, tetapi tidak akan berpengaruh pada data yang berelasi dengan tabel tersebut.
 

CREATE TABLE prestasi(
kode CHAR(6) NOT NULL,
id_p INT NOT NULL,
prestasi VARCHAR(255) NOT NULL,
keterangan TEXT,
PRIMARY KEY (kode),
FOREIGN KEY (id_p) REFERENCES pegawai(id_p) 
ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=INNODB;


Kode Program No Action merupakan sintak yang digunakan untuk menambahkan refrential integrity constraint cascade.

 

Cara menggunakan contoh constraint mysql
Gambar No Action


Gambar No Action merupakan tampilan dari Kode Program No Action yang telah berhasil dijalankan.
 

 

4)    Set Null

Set null adalah menghapus atau meng-update baris data dalam tabel induk dan men-set kolom atau beberapa kolom dalam tabel anak menjadi null. hal ini akan valid jika kolom foreign key tidak not null. jika akan menggunakan set null  bisa digunakan sintak On Delete Set Null dan On Update Set Null.

CREATE TABLE prestasi(
kode char(6) NOT NULL,
kode_karyawan char(6),
prestasi varchar(255) NOT NULL,
keterangan text,
PRIMARY KEY (kode),
FOREIGN KEY (kode_karyawan) REFERENCES karyawan (kode) 
ON DELETE SET NULL
) ENGINE=InnoDB;

 

Kode Program Sintak Set Null merupakan sintak yang digunakan untuk menambahkan refrential integrity constraint cascade dengan tipe set null.


Cara menggunakan contoh constraint mysql
Gambar Sintak Set Null



Gambar Sintak Set Null Setelah Dijalankan merupakan tampilan Kode Program Sintak Set Null yang berhasil dijalankan dalam CMD.


 

5)    Set Default

Perintah Set Default ini dibutuhkan oleh parser, tapi InnoDB tidak menerima definisi tabel berupa On Delete Set Default atau On Delete Set Default.
 

CREATE TABLE prestasi( kode char(6) NOT NULL,
kode_karyawan char(6),
prestasi varchar(255) NOT NULL,
keterangan text,
PRIMARY KEY (kode), FOREIGN KEY (kode_karyawan) REFERENCES karyawan (kode) ON DELETE SET DEFAULT
) ENGINE=MyISAM;


Kode Program Sintak Set Default merupakan sintak yang digunakan untuk menambahkan refrential integrity constraint cascade dengan tipe Set Default.

 

Cara menggunakan contoh constraint mysql
Gambar Sintak Set Default


Gambar Sintak Set Default merupakan tampilan Kode Program Sintak Set Default Setelah Dijalanakan.


Baca Juga: Data Definition Language (DDL) | Contoh dan Gambar



Cara Mengubah Tipe Tabel dan Refrential Integrity Constraint Didalam MySQL

Untuk mengubah Mengubah Tipe Tabel dan Refrential Integrity Constraint dalam MYSQL dapa digunakn sintak alter.

1)    Mengganti Tipe Tabel

Untuk merubah tipe tabel yang sudah digunakan dalam database MYSQL dapat menggunakan sintak Alter.

ALTER TABLE karyawan ENGINE=MyISAM;


Kode Program Sintak Alter Tipe Tabel merupakan sintak Alter yang dpaat digunakan untuk merubah tipe tabel yang sedang aktif atau digunakan dalam tabel. 


Cara menggunakan contoh constraint mysql
Gambar Sintak Alter Tipe Tabel 
Sintak tersebut jikan dijalankan maka tipe tabel yang digunakan dalam tabel karyawan akan berganti menjadi MyISAM dari tipe tabel default InnoDB seperti Gambar Sintak Alter Tipe Tabel.



2)    Refrential Integrity Constraint

Refrential Integrity Constraint dapat diganti dengan sintak Alter yaitu dengan menghapus foreign key yang sudah ada lalu menambahkan denganyang baru.

ALTER TABLE transaksi
DROP FOREIGN KEY transaksi_ibfk_1;


Kode program Sintak Alter Foreign Key digunkan untuk menghapus foreign key yang sudah terbentuk sebelumnya.


ALTER TABLE transaksi ADD FOREIGN KEY(id_penumpang) 
REFERENCES penumpang(id_penumpang)
ON UPDATE RESTRICT ON DELETE RESTRICT;


Kode program Alter Table Transaksi Add Foreign Key merupakan sintak yang digunkan untuk menambahkan foreign key baru pad tabel transaksi dengan tipe Refrential Integrity Constraint Restrict.

Apa itu constraint pada mysql?

Constraint digunakan untuk membatasi jenis data yang dapat masuk ke tabel. Constraint dapat ditentukan ketika tabel dibuat (dengan pernyataan CREATE TABLE) atau setelah tabel dibuat (dengan pernyataan ALTER TABLE).

Constraint Untuk apa?

Anda dapat menggunakan constraint untuk membatasi tipe data yang disimpan ke dalam tabel. Constraint dapat digunakan pada saat pertama kali membuat table dengan statement CREATE TABLE atau setelah tabel dibuat dengan perintah statement ALTER TABLE.

Constraint database itu apa?

Konstraint/ batasan dalam database pada dasarnya adalah pembatasan nilai-nilai yang diperbolehkan untuk diisikan dalam sebuah kolom atau kolom-kolom yang terdapat dalam sebuah tabel.

Apa itu constraint foreign key?

ā¯‘FOREIGN KEY Constraint Kolom foreign key adalah kolom atau kombinasi beberapa kolom dalam suatu tabel yang selalu merujuk pada kolom primary key pada suatu tabel.