| Author |
Message |
kepiss |
| Location: |
|
Post subject: [ask] butuh pencerahan tentang aplikasi penggajian saya gan
Posted: 22/Apr/2011 03:21
|
|
onIntermediate

Joined: 19-Apr-2011
Posts: 36
Status: Offline
|
|
maaf temen2 semua aku mau ngrepotin kalian semua.
1.table pegawai
NIP
nama pegawai
kantor
alamat
agama
2.table jabatan
NIP
nama pegawai
kantor
jabatan
gaji pokok
3.table potongan
NIp
Nama pegawai
jabatan
kantor
total potongan
nha yang di
table pegawai saya mau ambil field NIP,kantor,jenis kelamin
table jabatan saya ambil field jabatan sama gaji pokok
table potongan saya ambil total potongan saja
dan ketika nip dipilih semua data akan muncul otomatis ...
ada yang bisa bantu gak ya...
makasih...[/img][/code] |
|
|
| |
|
|
|
 |
k0cr0tus |
| Location: |
|
Post subject:
Posted: 26/Apr/2011 09:24
|
|
onIntermediate

Joined: 16-Apr-2011
Posts: 33
Status: Offline
|
|
sekedar sharing,
Pertama yang mau saya herankan suma satu ==> Kenapa field nama pegawai ada di semua tabel ? Jadinya kan banyak duplikasi field lebih baik namanya di tabel pegawai, terus tabel yang lain pake foreign key NIP aja ke tabel pegawai. Tapi kembali lagi ke database nya ya, canggih ga database yang dipake ?
Tapi, btw itu terserah yang bikin ya . Kalo mau dicampur jadi pas 1 query menurutku bisa pake beberapa cara tergantung selera :
1. View (kalo database nya support buat bikin View),
Misalnya (ini aku pake firebird)
code : sql CREATE VIEW contoh( NIP, kantor, jenis_kelamin, jabatan , gaji_pokok, potongan ) AS SELECT nip, kantor, jenis_kelamin, (SELECT jabatan FROM jabatan WHERE nip=pegawai.nip) , (SELECT gaji_pokok FROM jabatan WHERE nip=pegawai.nip) , (SELECT total_potongan FROM potongan WHERE nip=pegawai.nip) FROM pegawai;
2. Procedure / Function (kalo database nya support buat bikin procedure / function)
Intinya kaya view di atas , tapi dibikin pake aturan function / procedure
3. Bikin query langsung di program pake query yang complex. Jadinya querynya kaya view di atas, tapi processing point-nya dipindah ke sisi client, jadinya menurutku lebih lambat dikit deh. jadinya kaya gini
code : sql SELECT nip, kantor, jenis_kelamin, (SELECT jabatan FROM jabatan WHERE nip=pegawai.nip) AS jabatan , (SELECT gaji_pokok FROM jabatan WHERE nip=pegawai.nip) AS gaji_pokok, (SELECT total_potongan FROM potongan WHERE nip=pegawai.nip) AS total_potongan FROM pegawai;
sekian sharing, semoga berguna. |
|
|
| |
|
|
|
 |
noo_r1r1n |
| Location: |
|
Post subject:
Posted: 30/Apr/2011 07:38
|
|
onConfident

Joined: 14-Feb-2011
Posts: 18
Status: Offline
|
|
kalau menurut saya itu field-field nip, nama pegawai, dan kantor memang tidak perlu ada disemua tabel, utk konsistensi data. jadi tetap pada satu tabel.. Misalnya tabel pegawai saja, jadi untuk tabel jabatan dan tabel potongan, pke nip saja sebagai relasinya.
misalnya gini.. (klo ga salah )
1. tabel pegawai
NIP
nama_pegawai
jenis_kelamin
kantor
alamat
agama
2. tabel jabatan
NIP
jabatan
gaji_pokok
3. tabel potongan
NIP
total_potongan
nah. itu feld NIP di tabel pegawai harus primary key.. jadi utk menampilkan apa yg diminta oleh mas kepiss gni SQLnya hehe.. (mohon dikoreksi klo ada salah)
SELECT pegawai.nip, pegawai.nama_pegawai, pegawai.kantor, pegawai.jenis_kelamin, jabatan.jabatan, jabatan.gaji_pokok, potongan.total_potongan
FROM (pegawai INNER JOIN jabatan ON pegawai.nip = jabatan.nip) INNER JOIN potongan ON (pegawai.nip = potongan.nip) AND (jabatan.nip = potongan.nip);
semoga membantu  |
|
|
| |
|
|
|
 |
|
|
|
|