| ada yg tau pengertian relasi database khususnya mysql , itu ada one to many , many to one , n cascade on update , cascade on delete , klu gak pake cascade gimana effeknya , masih blum ngerti ? ada sumber referensi gak master buat belajar relasi tsbut n penerapan pada php myadmin (xampp) ? |
| One to Many, Many to One... sama itu dua.. saya jadikan one to many aja ya namanya.. 1 to n...
Jadi agan pernah bikin database donk. Misal tbl_Pembeli ada ID_Pembeli donk. Di tbl_Penjualan disitu juga ada ID_Pembeli untuk menandakan pembelinya siapa
tbl_kredit ID_Credit (10 digit random yang unik) | ID_Pembeli
tbl_Pembeli ID_Pembeli (auto increment) | Nama_Pembeli
tbl_Penjualan ID_Penjualan (autoincrement) | Total | ID_Pembeli | ID_Credit
disini kt bisa buat relasi antara tbl_Pembeli dan tbl_Penjualan dimana tbl_Penjualan.ID_Pembeli mereferensikan tbl_Pembeli.ID_Pembeli -- tbl_Penjualan.ID_Pembeli REFERENCES (tbl_Penjualan.ID_Pembeli ) tbl_kredit.ID_Pembeli REFERENCES (tbl_Penjualan.ID_Pembeli ) -- Disini relasinya adalah 1 to n dimana 1 ID_Pembeli (sifatnya unik) dapat digunakan berkali2 (n) pada tabel lain yg memiliki relasi
Disini kita dapat bilang bahwa tbl_Pembeli.ID_Pembeli adalah PK (PRIMARY KEY). tbl_Penjualan.ID_Pembeli dan tbl_kredit.ID_Pembeli adalah FK (Foregin Key)
Disini juga tbl_kredit.ID_Credit jadi PK untuk FK tbl_Penjualan.ID_Credit
Seringkali kita liat di relationship ada ON UPDATE, atau ON DELETE, trus ada CASCADE
Simplenya itu CASCADE adalah suatu perintah dimana jika terjadi perubahan pada PK, maka FK akan mengikuti.. hehe
contoh nih ON DELETE CASCADE -> Ketika PK di delete, lakukan hal yang sama untuk semua FK... Jika user dengan ID 107 didelete dari tbl_Pembeli, Semua record ttg ID_Pembeli di 2 tabel lainnya didelete juga...
Jika ID_Credit dihapus, maka semua record yg nempel dengan ID_Credit di tabel penjualan juga terhapus
ON UPDATE CASCADE -> Jarang ke trigger di database saya hehe.. Cuman begini Ketika ternyata ID_Credit punya ID_Pembeli 1 itu salah.. yang seharusnya 0883885284 malah diinput 0883885223, kita mau ganti donk di tabel tbl_Credit tapi jika kita ga pakai ON UPDATE CASCADE, alhasil record 0883885223 akan tetap eksis di tbl_Pembelian... Nah, kalau kita trigger ON UDPATE CASCADE, nanti semua record 0883885223 akan diubah jadi 0883885284. Which means, redundansi dan kesalahan data dapat dihindarkan...
Sori panjang.. kalo ketemu ane, ane jelasinnya ala monorel, jadi cepet :v kalo ndak ngerti, silakan tag saya :D v |
Tidak ada komentar:
Posting Komentar