Selasa, 11 Mei 2010

Cara membuat foreign key dalam table dengan perintah sql

Untuk membuat table yang mengandung foreign key pertama-tama yang harus dilakukan yaitu membuat table references terlebih dahulu contohnya saja kita buat table "supermarket dan agen "sebagai referencesnya jika kita buat table yang mengandung foreign key terlebih dahulu maka tidak bisa kerena tidak ada table yang mereferences kan terebih dahulu...

mysql> create table supermarket(

-> nama_supermarket varchar(15),

-> id_supermarket int(7) primary key not null,

-> alamat varchar(15));

Query OK, 0 rows affected (0.25 sec)

mysql> create table agen(

-> id_agen varchar(7) primary key not null,

-> alamat varchar(15),

-> nama_agen varchar(15),

-> tgl_lahir date);

Query OK, 0 rows affected (0.22 sec)

Oke apabila sudah membuat 2 table parent diatas maka langkah selanjuntnya yaitu membuat table yang mengandung foreign key



mysql> create table transaksi(

-> id_agen varchar(9),

-> id_supermarket int(9),

-> tanggal date,

-> foreign key (id_agen) references agen(id_agen),

-> foreign key(id_supermarket)references supermarket(id_supermarket)

-> on update cascade on delete cascade);

Query OK, 0 rows affected (0.19 sec)



maksud dari on update cascade on delete cascade yakini untuk

"on update cascade" yaitu apabila kolom pada table yang direferensi di update maka table pada kolom mereferensi turut terupdate pula sedangkan

"on delete cascade" maksudnya jika kolom pada table yang mereferensi dihapus maka data pada kolom yang mereferensi turut terhapus pula.



untuk melihat hasilnya dapat dilihat menggunakan perintah"desc nama_table"



mysql> desc transaksi;

+----------------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+----------------+-------------+------+-----+---------+-------+

| id_agen | varchar(18) | YES | MUL | NULL | |

| id_supermarket | int(9) | YES | MUL | NULL | |

| tanggal | date | YES | | NULL | |

| faktur | varchar(9) | YES | | NULL | |

+----------------+-------------+------+-----+---------+-------+

4 rows in set (0.06 sec)



di sini dapat dilihat kolom yang mana kuncinya bertipe mul(multipel) yang menandakan bahwa ini merupakan foreign key.oke itu sekilas dari saya moge-moge aja dapat di ngertiin trimakasih dah nongkrong diBlog yang sederhana ini....

Tidak ada komentar: