Kamis, 14 Juli 2011

Pengertian Foreign Key

Foreign Key adalah kolom atau field pada suatu tabel yang berfungsi sebagai kunci tamu dari tabel lain. Foreign Key sangat berguna bila kita bekerja dengan banyak tabel yang saling berelasi satu sama lain.

Sintax DiMysql

1. Buat databases terlebih dahulu
Code:

create database perusahaan;

2. Gunakan databasenya
Code:

use perusahaan;

3. Create Table pertama
Code:

create table pegawai ( id_pegawai char(7) NOT NULL PRIMARY KEY, nama_pegawai varchar(20) NOT NULL, alamat_pegawai varchar(30) NOT NULL, jk_pegawai char(1) NOT NULL ) ENGINE = INNODB;

4. Create Table Kedua
Code:

create table Jabatan ( kode_jabatan char(3) NOT NULL PRIMARY KEY, nama_jabatan varchar(20) NOT NULL, id_pegawai char(7) NOT NULL, FOREIGN KEY(id_pegawai) REFERENCES pegawai(id_pegawai) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE = INNODB;

5. Create Table ketiga
Code:

create table gaji ( id_pegawai char(7) NOT NULL, kode_jabatan char(3) NOT NULL, gaji INT(12), PRIMARY KEY (id_pegawai,kode_jabatan), FOREIGN KEY(id_pegawai) REFERENCES pegawai(id_pegawai) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY(kode_jabatan) REFERENCES jabatan(kode_jabatan) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE = INNODB;

6. Setelah itu masukan data data kedalam masing - masing table
- Masukan data pada table pertama
Code:

insert into pegawai values ("6309177","Aries","Bandung","L"),("6309222","Ferry","Bandung","L"),("6309161","Asep Rizal","Bandung","L");

- Masukan data pada table kedua
Code:

insert into jabatan values ("001","Tukang Photo Copy","6309177"), ("002","Tukang Parkir","6309222"), ("003","Tukang Sapu","6309161");

- Masukan data pada table ketiga
Code:

insert into gaji values ("6309177","001","100000"), ("6309222","002","200000"), ("6309161","003","10000");

7. selesai

Penting untuk diketahui, setiap tabel pada MySQL yang memiliki foreign key, engine tabel nya harus berupa INNODB. Hal ini tentu berbeda dengan engine tabel yang diberikan secara default oleh MySQL yaitu MyISAM.


Untuk merubah engine tabel dapat menggunakan statement ENGINE = INNODB setelah pendefinisian kolom pada penciptaan tabel.

Statement ON DELETE CASCADE dan ON UPDATE CASCADE berfungsi jika record dengan primary key tertentu pada suatu tabel di hapus atau di ubah maka record pada tabel lain yang memiliki foreign key sama dengan primary key pada tabel tersebut akan ikut terhapus atau nilai foreign key nya juga ikut berubah jika di update.

Mungkin hanya itu yang bisa saya jelaskan agar lebih jelas lagi silahkan anda praktekan sendiri.
Selamat Mencoba.
bye

0 komentar:

Posting Komentar

Get Free Music at www.divine-music.info
Get Free Music at www.divine-music.info

Free Music at divine-music.info

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | cheap international calls