Forum Nusansifor
TERJAWAB [solved][ask] logika numbering data (relasi) - Printable Version

+- Forum Nusansifor (https://www.nusansifor.com/diskusi)
+-- Forum: Coding dan Software Support (https://www.nusansifor.com/diskusi/forum-5.html)
+--- Forum: Script PHP MySQL Javascript (https://www.nusansifor.com/diskusi/forum-6.html)
+--- Thread: TERJAWAB [solved][ask] logika numbering data (relasi) (/thread-38.html)



[solved][ask] logika numbering data (relasi) - r45 - 18.02.2010

selamat malam...

saya mau tanya mengenai logika penomoran pada data di database.
begini, sekelompok data yang di input dalam satu form akan disimpan pada satu database tapi tidak pada satu table, misal :

data: nama, alamat, kota disimpan pada table 'personal'
data: riwayat pendidikan, riwayat pekerjaan disimpan pada table 'riwayat'

pada saat pembacaan untuk yang sudah ada kedua table tersebut dihubungkan berdasarkan kunci unik (misal: ID). yang menjadi kekhawatiran saya adalah pada saat pembuatan data tersebut.

misalkan user A menginput data 'fulan', ketika user A masih dalam proses input user B menginput data 'fulin' dan user B lebih dulu men-save datanya.

apakah data 'personal' yang diinput user B tidak akan tertukar dengan data 'riwayat' yang diinput oleh user A?

terlintas untuk bikin kunci tambahan berdasarkan login id masing-masing user ditambah angka yang unik, tapi masih bingung dengan cara yang paling efektif seperti apa  Rolleyes

bagaimana logika terbaiknya ya? ato ada sapmle scriptnya?

terima kasih.


Re: [ask] logika numbering data (relasi) - jawaad - 19.02.2010

malam,..

kalau saya, biasanya menggunakan id yang auto increment sebagai primary key nya.
Jadi nanti diwaktu penggunaan2 seperti kasus yg Anda sebutkan tadi bisa diatasi dengan mysql_insert_id.
Jadi sebagai contoh kasus Anda:

Tabel Master User:
- id (auto increment)
- username
- nama_lengkap

Tabel Riwayat Pendidikan:
- id (auto increment)
- user_id <-- disini diisi ID nya tabel Master User
- tahun
- keterangan

contoh penggunaan script php:
PHP Code:
// konek database
    // insert database
    
mysql_query("INSERT INTO `user` (`username`, `nama_lengkap`) values ('fulan', 'Fulan bin Fulin')");
    
$user_id mysql_insert_id(); // <-- dapetin user_id setelah insert

    // lakukan insert ke data riwayat
    
mysql_query("INSERT INTO `riwayat` (`user_id`, `tahun`, `keterangan`) values ('".$user_id."', '2006', 'SMA Swasta 1')"); 

selengkapnya ttg fungsi mysql_insert_id:
http://id2.php.net/manual/en/function.mysql-insert-id.php


Re: [ask] logika numbering data (relasi) - r45 - 22.02.2010

simple, mudah dicerna Wink
terima kasih mas, case solved...

tapi ada kelemahannya gak dengan cara seperti ini?


Re: [ask] logika numbering data (relasi) - jawaad - 22.02.2010

r45 Wrote:simple, mudah dicerna Wink
terima kasih mas, case solved...

tapi ada kelemahannya gak dengan cara seperti ini?
sementara ini yg saya pergunakan blm ada kelemahan nya mas Big Grin
lancar2 saja mas... tidak ada bentrok...
karena ID master tercipta benar2 setelah proses INSERT data master tsbt., jadi gak bakalan bentrok, karena autoincrement udah otomatis di handle oleh MySQL.


Re: [solved][ask] logika numbering data (relasi) - r45 - 23.02.2010

absolutely solved Wink
terima kasih informasi tambahannya Yihaa musik Mr Green


RE: [solved][ask] logika numbering data (relasi) - hadidar - 12.01.2017

setiap forum rumus berbeda beda yah pak


RE: [solved][ask] logika numbering data (relasi) - ontaonti - 15.01.2018

ternyata id itu juga penting banget yah gan