Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Merancang Database untuk Portal Pekerjaan Online

Di seluruh dunia, situs portal pekerjaan adalah fitur terkenal dari lanskap Internet. Pemain besar seperti Memang dan Monster telah mengubah perburuan pekerjaan dan perekrutan menjadi industri online yang sesungguhnya. Mari selami fitur dasar yang dimanfaatkan oleh portal pekerjaan dan buat model data yang dapat mendukungnya.

Orang suka menghemat waktu dengan menggunakan inovasi teknologi; portal pekerjaan online adalah versi lain dari bekerja lebih cerdas, bukan lebih keras. Pencari kerja dan perusahaan sama-sama menyadari nilai pencarian mereka secara online:mereka mendapatkan jangkauan yang lebih baik dengan kecepatan lebih tinggi dan biaya lebih rendah.

Industri portal pekerjaan cukup stabil sekarang, setidaknya dalam hal volume lalu lintas. Pemburu pekerjaan menggunakan portal ini untuk menemukan posisi di banyak industri, bergerak di luar TI ke sektor-sektor seperti teknik, penjualan, manufaktur, dan layanan keuangan. Namun, mereka mendapatkan persaingan ketat dari media sosial dan situs jejaring profesional seperti LinkedIn. Namun masih ada peluang untuk dijelajahi, seperti memperluas penetrasi ke daerah pedesaan dan kota-kota kecil.

Jadi seperti yang kami katakan, kami akan menjelajahi topik ini dari perspektif desain basis data. Mari kita mulai dengan menghitung ekspektasi mendasar untuk portal pekerjaan.

Apa yang Diharapkan Orang dari Portal Pekerjaan Online?

Baik pemberi kerja maupun pencari kerja mengharapkan fungsi berikut dari situs kerja online:

  • Orang dapat mendaftar sebagai pencari kerja, membuat profil, dan mencari pekerjaan yang sesuai dengan keahlian mereka.
  • Pengguna dapat mengunggah resume mereka yang ada. Jika mereka tidak memilikinya, mereka harus dapat mengisi formulir dan membuat resume untuk mereka.
  • Orang dapat melamar langsung ke pekerjaan yang diposting.
  • Perusahaan dapat mendaftar, memposting pekerjaan, dan mencari profil pencari kerja.
  • Beberapa perwakilan dari perusahaan harus dapat mendaftar dan memposting pekerjaan.
  • Perwakilan perusahaan dapat melihat daftar pelamar kerja dan dapat menghubungi mereka, melakukan wawancara, atau melakukan tindakan lain yang terkait dengan jabatan mereka.
  • Pengguna terdaftar harus dapat mencari pekerjaan dan memfilter hasil berdasarkan lokasi, keterampilan yang dibutuhkan, gaji, tingkat pengalaman, dll.

Membangun Model Data

Setelah mempertimbangkan persyaratan di atas, saya menemukan tiga kategori fungsional yang luas:

  1. Mengelola Pengguna – Bagaimana portal mengelola pengguna, yaitu pencari kerja, personel SDM, dan perekrut independen atau konsultan. (Untuk tujuan model ini, perwakilan SDM individu dan perekrut independen atau konsultan diperlakukan sebagai perusahaan, setidaknya dalam hal cara mereka menggunakan portal.)
  2. Membangun Profil – Bagaimana portal memungkinkan pencari kerja dan organisasi membuat profil dan resume.
  3. Memposting dan Mencari Pekerjaan – Bagaimana portal memfasilitasi proses memposting, mencari, dan melamar pekerjaan.



Mari kita lihat masing-masing area ini secara terpisah.

1. Mengelola Pengguna

Ada dua jenis utama dari pengguna portal pekerjaan online:pencari kerja individu dan perekrut SDM (atau konsultan rekrutmen independen). Mari buat tabel bernama user_type untuk menyimpan catatan-catatan ini. Untuk memulai, itu akan memiliki dua catatan – satu untuk pencari kerja dan satu lagi untuk perekrut. (Kami selalu dapat membuat jenis catatan tambahan sesuai kebutuhan.)

Pengguna diharuskan untuk mendaftar sebelum mereka dapat menggunakan portal. user_account tabel menyimpan detail akun dasar mereka. Saya sebelumnya mempertimbangkan untuk menamai tabel ini "pengguna", tetapi karena pengguna adalah kata kunci yang ditentukan sistem di hampir semua basis data, saya lebih memilih untuk tetap menggunakan "akun pengguna".

user_account tabel memiliki kolom berikut:

  • id – Ini adalah kunci utama tabel dan pengidentifikasi unik untuk setiap pengguna. ID ini akan dirujuk oleh tabel lain dalam model data.
  • user_type_id – Ini menandakan apakah pengguna adalah pencari kerja atau perekrut.
  • email – Kolom ini menyimpan alamat email pengguna. Ini bertindak sebagai ID pengguna lain untuk portal.
  • sandi – Ini menyimpan kata sandi akun terenkripsi (dibuat oleh pengguna saat pendaftaran).
  • tanggal_kelahiran dan gender – Seperti namanya, kolom ini memuat tanggal lahir dan jenis kelamin pengguna.
  • is_aktif – Awalnya kolom ini adalah “Y”, tetapi pengguna dapat mengatur profil mereka menjadi tidak aktif, atau “N”. Kolom ini menyimpan pilihan mereka.
  • nomor_kontak – Ini adalah nomor telepon (biasanya ponsel) yang diberikan saat pendaftaran. Pengguna dapat menerima notifikasi SMS (teks) di nomor ini. Nomornya bisa sama (atau tidak) dengan salah satu daftar pencari kerja di profil atau resume mereka.
  • sms_notification_active dan email_notification_active – Kolom ini menyimpan preferensi pengguna terkait penerimaan notifikasi melalui teks dan/atau email.
  • gambar_pengguna – Ini adalah atribut tipe BLOB yang menyimpan gambar profil setiap pengguna. Karena portal ini hanya mengizinkan satu gambar profil per pengguna, masuk akal untuk menyimpannya di sini.
  • tanggal_pendaftaran – Kolom ini menyimpan catatan kapan pengguna mendaftar ke portal.

Kami akan membuat satu tabel lagi, user_log , yang menyimpan catatan tanggal masuk terakhir pengguna dan tanggal lamaran pekerjaan terakhir mereka. Ada banyak fitur yang dapat dibangun dari pengetahuan ini. Misalnya, kita dapat menggunakan informasi ini untuk menjawab pertanyaan Apakah pengguna X aktif mencari pekerjaan ? Jika demikian, mereka dapat ditawari produk untuk membuat resume yang efektif. Pengguna yang tidak aktif mencari pekerjaan tidak akan menerima tawaran seperti itu.

2. Membangun Profil

Kami selanjutnya dapat membagi bagian ini menjadi dua area:profil perusahaan atau organisasi, dan profil pencari kerja.

Profil Perusahaan

Biasanya tim HR membangun profil perusahaan dengan memasukkan detail tentang organisasi mereka dan gambar kantor, gedung, dll. Tujuan utama mereka adalah untuk menarik bakat yang baik. Ketika perekrut mendaftar ke portal, mereka juga dapat membangun profil perusahaan mereka (atau merek pribadi mereka, jika mereka independen) dengan memberikan beberapa detail dasar seperti berapa lama mereka telah menjalankan bisnis, lokasi mereka, dan aliran bisnis utama mereka ( misalnya manufaktur, layanan TI, keuangan, dll).

Portal ini memungkinkan perekrut HR dan konsultan untuk mengunggah gambar sebanyak yang mereka suka (berlawanan dengan pencari kerja, yang hanya dapat mengunggah satu). Oleh karena itu, kami telah membuat company_image tabel untuk menyimpan beberapa gambar untuk setiap akun perekrut. id_perusahaan kolom dalam tabel ini adalah kunci asing yang mengacu pada pengenal unik yang digunakan di company tabel.

Di company tabel, kami memiliki kolom berikut:

  • id – Kunci utama tabel ini juga digunakan untuk mengidentifikasi perusahaan secara unik.
  • nama_perusahaan – Seperti yang ditunjukkan oleh nama kolom, kolom ini memuat nama resmi perusahaan.
  • profil_deskripsi – Ini berisi deskripsi singkat dari masing-masing perusahaan.
  • bisnis_stream_id – Kolom ini menggambarkan aliran bisnis mana yang dimiliki perusahaan. Misalnya, perusahaan eksplorasi minyak dan gas dapat mempekerjakan insinyur TI , tetapi aliran bisnis utama mereka tetap “Minyak dan Gas”.
  • tanggal_pendirian – Kolom ini memberi tahu Anda berapa umur perusahaan.
  • perusahaan_website_url – Ini adalah kolom wajib (tidak dapat dibatalkan). Ini memegang penunjuk ke situs web resmi perusahaan sehingga pencari kerja dapat mengetahui informasi lebih lanjut.

Terakhir, business_stream tabel hanya memiliki dua atribut, id yang merupakan kunci utama untuk tabel ini, dan deskripsi aliran bisnis utama perusahaan (nama_arus_bisnis ).

Profil Pencari Kerja

Ini adalah bagian paling kritis dari portal pekerjaan. Kecuali jika portal menangkap sebanyak mungkin detail dari pencari kerja, sulit bagi perekrut untuk memilih profil atau kandidat.

seeker_profile tabel menyimpan detail tambahan yang tidak ditangkap selama proses pendaftaran. Ini berisi bidang-bidang ini:

  • user_account_id – Kolom ini dirujuk dari user_account tabel, dan bertindak sebagai kunci utama untuk tabel ini. Ini memastikan akan ada maksimal satu profil per pencari kerja.
  • nama_depan dan nama_belakang – Seperti namanya, kolom ini memuat nama depan dan belakang pencari kerja.
  • gaji_saat ini – Atribut ini berisi gaji pencari kerja saat ini. Itu tidak dapat dibatalkan karena orang mungkin tidak ingin mengungkapkannya.
  • berdasarkan_tahunan_bulanan – Ini menentukan apakah jumlah gaji mereka per tahun atau per bulan.
  • mata uang – Ini menyimpan mata uang gaji.

education_detail tabel menyimpan riwayat pendidikan setiap pencari kerja, sebagaimana disediakan oleh mereka. Ini memiliki kunci utama komposit yang terdiri dari user_account_id , nama_sertifikat_gelar dan jurusan kolom. Ini memastikan bahwa pengguna hanya memasukkan satu catatan untuk setiap gelar atau sertifikat. Tabel berisi atribut berikut:

  • user_account_id – Kolom ini dirujuk dari user_account tabel dan berfungsi sebagai kunci utama untuk tabel ini.
  • nama_gelar_sertifikat – Ini adalah jenis sertifikat atau gelar; misalnya sekolah menengah atas, sekolah menengah atas, pascasarjana, pasca sarjana, atau sertifikat profesional.
  • jurusan – Kolom ini berisi program studi utama untuk sertifikat atau gelar – mis. gelar sarjana dengan jurusan ilmu komputer.
  • institute_university_name – Ini adalah institut, sekolah, atau universitas yang memberikan gelar atau sertifikat.
  • tanggal_mulai – Atribut ini menyimpan tanggal saat pengguna diterima dalam program pendidikan.
  • tanggal_penyelesaian – Ini adalah tanggal gelar atau sertifikat diberikan. Namun, atribut ini nullable; orang mungkin masih menyelesaikan program mereka saat mereka mencari pekerjaan, atau mereka mungkin telah keluar dari program sama sekali.
  • persentase dan cgpa – Kolom ini menyimpan persentase nilai atau CGPA (rata-rata nilai kumulatif) yang dicapai pengguna dalam gelar atau kursus sertifikat mereka.

experience_detail table menyimpan catatan pengalaman profesional pengguna di masa lalu dan saat ini. Ini berisi kolom penting berikut:

  • user_account_id – Kolom ini dirujuk dari user_account tabel dan merupakan kunci utama untuk tabel ini.
  • adalah_pekerjaan_saat ini – Ini adalah kolom indikator yang menandakan pekerjaan pengguna saat ini. Kolom ini juga memainkan peran utama dalam mendapatkan lokasi pengguna saat ini dan berapa lama mereka memegang posisi saat ini.
  • tanggal_mulai – Ini menyimpan saat pengguna memulai pekerjaan.
  • tanggal_akhir – Ini menyimpan saat pengguna mengakhiri pekerjaan.
  • job_title – Ini menyimpan informasi tentang peran pekerjaan pengguna.
  • nama_perusahaan – Atribut ini memegang nama perusahaan yang relevan yang terkait dengan pekerjaan.
  • pekerjaan_lokasi_kota – Ini menandakan kota tempat pekerjaan itu berada.
  • pekerjaan_lokasi_status – Ini menandakan keadaan tempat pekerjaan itu berada.
  • pekerjaan_lokasi_negara – Ini menandakan negara tempat pekerjaan itu berada.
  • deskripsi – Kolom ini menyimpan detail tentang peran dan tanggung jawab pekerjaan, tantangan, dan pencapaian.

Pencari kerja dapat memiliki banyak keterampilan. Untuk menyimpan catatan semua keahlian ini, kami akan membuat tabel seeker_skill_set . Kolomnya adalah:

  • user_account_id – Kolom ini dirujuk dari user_account tabel dan merupakan kunci utama untuk tabel ini.
  • skill_set_id – ID ini menandakan keahlian yang dimiliki pengguna.
  • tingkat_keahlian – Atribut numerik ini mengukur keahlian pencari kerja dalam keterampilan tertentu. Angka dari 1 (pemula) hingga 10 (ahli) menunjukkan tingkat pengalaman mereka.

Terakhir, skill_set tabel berisi deskripsi semua keterampilan yang dirujuk dalam skill_set_id tabel di atas atribut. Ini hanya berisi dua kolom, skill_set_name dan id yang terkait dengannya .

3. Memposting dan Mencari Pekerjaan

Ini adalah USP (Unique Selling Point) utama dari portal pekerjaan. Hanya perekrut terdaftar yang diizinkan memposting pekerjaan di portal dan hanya pencari kerja terdaftar yang diizinkan melamar mereka.

job_post tabel adalah tabel utama di area subjek ini. Seperti yang Anda duga, itu menyimpan detail tentang posting pekerjaan. Semua tabel lain di bagian ini dibuat di sekitarnya dan ditautkan dengannya.

  • id – Ini adalah kunci utama dari tabel ini. Setiap posting pekerjaan diberi nomor unik, dan nomor ini dirujuk di tabel lain.
  • diposting_by_id – Kolom ini berisi register_user_id perekrut yang telah memposting pekerjaan.
  • job_type_id – Kolom ini menandakan apakah durasi pekerjaan bersifat permanen atau sementara (kontrak).
  • id_perusahaan – Kolom ini menyimpan ID perusahaan yang terkait dengan lowongan pekerjaan. Ini adalah referensi ke company meja.
  • adalah_nama_perusahaan_tersembunyi – Ini adalah kolom bendera yang menunjukkan apakah nama perusahaan harus ditunjukkan kepada pencari kerja. Perekrut mungkin memilih untuk tidak menampilkan nama perusahaan di pos mereka. Sebaliknya, mereka menggunakan istilah seperti 'Perusahaan Otomotif Global', 'Perusahaan TI Berbasis California', dan seterusnya.
  • tanggal_dibuat – Ini menyimpan tanggal saat pekerjaan diposting.
  • deskripsi_pekerjaan – Ini berisi deskripsi singkat tentang pekerjaan tersebut.
  • id_lokasi_pekerjaan – Ini mengacu pada atribut di job_location tabel yang menyimpan lokasi sebenarnya dari pekerjaan:alamat jalan, kota, negara bagian, negara, dan kode pos.
  • is_aktif – Ini menandakan jika pekerjaan masih terbuka. Perekrut dapat menandai postingan mereka sebagai tidak aktif segera setelah posisi terisi.

job_post_skill_set tabel menyimpan detail tentang keahlian yang diperlukan untuk suatu pekerjaan. Struktur tabel identik dengan seeker_skill_set meja.

Dan tabel terakhir di bagian ini, job_post_activity tabel, berisi rincian tentang pencari kerja mana yang melamar pekerjaan dan kapan.

Apa yang Akan Anda Tambahkan ke Model Data Portal Pekerjaan Online ini?

Portal pekerjaan online saat ini melakukan lebih dari sekadar menyediakan platform untuk memposting dan melamar pekerjaan. Mereka sering menyertakan layanan profesional lainnya seperti:

  • Dasbor pribadi untuk melacak lamaran kerja
  • Pembaruan waktu nyata pada aplikasi
  • Pembuat resume video
  • Layanan penulisan resume ahli
  • LinkedIn atau pembuat profil media sosial lainnya
  • Laporan gaji di seluruh peran pekerjaan, perusahaan, industri, atau lokasi geografis

Jika kami ingin membangun fitur ini ke dalam sistem kami, perubahan tambahan apa yang perlu kami lakukan? Bisakah Anda memikirkan hal lain yang harus dimiliki di portal pekerjaan?

Beri tahu kami pandangan Anda di bagian komentar.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. T-SQL Selasa #106 :BUKAN pemicu

  2. T-SQL vs SQL

  3. Kunci Asing, Pemblokiran, dan Perbarui Konflik

  4. Tidak suka pemicu basis data? Anda hanya tidak tahu bagaimana bekerja dengan mereka!

  5. Kesalahan menggunakan koneksi OLAP:Penyedia MSOLAP tidak terdaftar di mesin lokal...