Tingkat:Pemula
Begitu banyak organisasi menghadapi masalah umum dalam menyimpan jadwal karyawan. Tidak peduli institusi apa:perusahaan, universitas atau hanya individu, banyak entitas memerlukan aplikasi untuk melihat jadwal. Oleh karena itu, saya akan mencoba membuat model database dan kemudian, di artikel mendatang, kita akan membahas aplikasi sederhana untuk menyimpan jadwal karyawan dalam database.
Saat ini desainnya terlihat sebagai berikut:
Modelnya cukup sederhana.
Kiat – Strategi Kunci Alami dan Pengganti
- Gunakan kunci primer pengganti setiap kali nilai dalam kunci alami mungkin berubah atau ketika kunci alami terlalu kompleks.
- Jika kunci kandidat alami terdiri dari sejumlah kecil kolom (idealnya hanya satu) dan nilainya tidak berubah – gunakan sebagai kunci utama alami
Pelajari lebih lanjut tentang kunci primer alami dan pengganti.
employee
tabel berisi atribut dasar yang menggambarkan setiap karyawan, misalnya:nama, nama keluarga, alamat dan nomor telepon. Nama dan nama keluarga tidak secara unik mengidentifikasi setiap catatan (mungkin ada lebih dari satu orang dengan nama dan nama keluarga yang sama), itulah sebabnya kolom baru diperkenalkan (id
), disebut kunci pengganti .
schedule
tabel berisi hari dan jam saat setiap karyawan bekerja. work_date
kolom menentukan hari ketika setiap karyawan bekerja. start_work_hour
dan end_work_hour
kolom mengidentifikasi jam kerja untuk hari itu.
Mari kita asumsikan bahwa kita memiliki seorang karyawan bernama Peter. Dia sedang bekerja pada tanggal 4 Februari dan dia menandai waktu mulai dan waktunya di jadwal.
Baris yang sesuai dalam schedule
tabel terlihat seperti ini:
Saat membangun sistem seperti itu, kita mungkin ingin tahu siapa yang paling banyak bekerja malam atau siapa yang paling banyak bekerja di akhir pekan/liburan. Untuk menghasilkan laporan yang berisi informasi tersebut, kolom is_holiday
dan is_weekend
diperkenalkan.
Dengan menggunakan pendekatan ini, Anda perlu memiliki tabel terpisah untuk hari libur yang berisi tanggal liburan untuk perusahaan. Ketika seorang karyawan memasuki waktu kerja mereka, kolom is_holiday
dan is_weekend
dapat diperbarui menggunakan pemicu. Setelah memasukkan tanggal dan waktu, pemicu akan memeriksa apakah tanggal tersebut adalah hari libur atau akhir pekan dan memasukkan nilai yang benar ke dalam bidang.