idealnya seh memang begitu, tapi di prakteknya lebih banyak yang lebih suka pakai natural key sebagai primary key. contohnya: mayoritas designer lebih suka nomor id barang dijadikan sebagai primary key ketimbang harus bikin auto increase number/ sequence sebagai primarynya, no. id barang ini walaupun jarang, sesekali perlu berubah, seperti penambahan digit, perubahan pola digit dll.
karena teori ini (primary key tidak boleh diupdate) hanya sebatas wacana teori design idealis saja, kebanyakan rdbms besar selain Oracle sudah membolehkan update primary key (ON UPDATE CASCADE). Mungkin bahayanya ada di database super besar, update primary key yang mengharuskan juga mengupdate foreign key ditable2 turunannya yang bukan main banyaknya, bisa berubah menjadi bencana. ----- Original Message ----- From: Yoel Susanto To: [email protected] Sent: Thursday, September 18, 2008 10:49 AM Subject: Re: [indo-oracle] ON UPDATE CASCADE Yah, yang mendasarinya adalah kesalahan design :) selalu hindarin menjadikan updatable column sebagai primary key. 2008/9/18 Awaluddin Hamid <[EMAIL PROTECTED]> > dayat wrote: > > > > Iya memang ini sangat berbahaya jika tidak dikontrol dengan hati-hati. > > > > dulu saya sering berhadapan dengan perubahan ID terhadap suatu table jika > > seseorang ketahuan memiliki 2 ID, jadi semua table anak ikut berubah jika > > table utamanya dirubah ID nya. setelah dirubah ID, yang dulunya seseorang > > itu mendapat 2 karung beras, sekarang ketahuan mendapat 5 karung beras. > > > > kadang-kadang disuatu proyek baru yang belum bagus manajemennya sering > > terjadi penyelewengan. nah ini dapat menjadi solusi lebih mudah untuk > > integritas data. > > > > dayat > > > Hmm.. interesting. > Jika ID bisa berubah (mutable) kenapa dijadikan primary key yah.. Apa > ada pertimbangan yg mendasarinya..? > > rgds, > AH > > -- Cheers, Yoel Susanto www.indo-oracletech.com [Non-text portions of this message have been removed] <br> <br> <table width="100%"> <tr> <td> ------------------------------------------------------------------------------<br> This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. MKD Group therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. <br><br> MKD Group, www.mkdgroup.com<br> ------------------------------------------------------------------------------<br> </td> </tr> </table> [Non-text portions of this message have been removed]

