Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Thiết kế Cơ sở dữ liệu cho Cổng Thông tin Việc làm Trực tuyến

Trên toàn cầu, trang web cổng thông tin việc làm là một tính năng nổi tiếng của bối cảnh Internet. Những công ty lớn như Indeed và Monster đã biến việc tìm kiếm và tuyển dụng thành một ngành công nghiệp trực tuyến thực sự. Hãy đi sâu vào các tính năng cơ bản được cổng việc làm tận dụng và xây dựng mô hình dữ liệu có thể hỗ trợ chúng.

Mọi người thích tiết kiệm thời gian bằng cách sử dụng các đổi mới công nghệ; cổng thông tin việc làm trực tuyến là một phiên bản khác của việc làm việc thông minh hơn, không khó hơn. Người tìm việc cũng như các công ty đều nhận ra giá trị của việc tìm kiếm trực tuyến:họ có được phạm vi tiếp cận tốt hơn với tốc độ cao hơn và chi phí thấp hơn.

Ngành cổng thông tin việc làm hiện nay khá ổn định, ít nhất là về lưu lượng truy cập. Những người săn việc đang sử dụng các cổng thông tin này để tìm các vị trí trong nhiều ngành, vượt ra ngoài lĩnh vực CNTT sang các lĩnh vực như kỹ thuật, bán hàng, sản xuất và dịch vụ tài chính. Tuy nhiên, họ đang gặp phải sự cạnh tranh gay gắt từ các phương tiện truyền thông xã hội và các trang mạng chuyên nghiệp như LinkedIn. Nhưng vẫn có những cơ hội để khám phá, chẳng hạn như mở rộng sự thâm nhập của họ đến các khu vực nông thôn và các thành phố nhỏ hơn.

Vì vậy, như chúng tôi đã nói, chúng tôi sẽ khám phá chủ đề này từ góc độ thiết kế cơ sở dữ liệu. Hãy bắt đầu với việc liệt kê những kỳ vọng cơ bản đối với một cổng thông tin việc làm.

Mọi người mong đợi điều gì từ Cổng thông tin việc làm trực tuyến?

Cả nhà tuyển dụng và người tìm việc đều mong đợi các chức năng sau từ trang web việc làm trực tuyến:

  • Mọi người có thể đăng ký làm người tìm việc, xây dựng hồ sơ của họ và tìm kiếm công việc phù hợp với bộ kỹ năng của họ.
  • Người dùng có thể tải lên các bản lý lịch hiện có của họ. Nếu chưa có, họ có thể điền vào biểu mẫu và soạn sơ yếu lý lịch cho họ.
  • Mọi người có thể nộp đơn trực tiếp cho các công việc đã đăng.
  • Các công ty có thể đăng ký, đăng công việc và tìm kiếm hồ sơ của người tìm việc.
  • Nhiều đại diện từ một công ty sẽ có thể đăng ký và đăng công việc.
  • Đại diện của công ty có thể xem danh sách những người nộp đơn xin việc và có thể liên hệ với họ, chủ động phỏng vấn hoặc thực hiện một số hành động khác liên quan đến bài đăng của họ.
  • Người dùng đã đăng ký sẽ có thể tìm kiếm công việc và lọc kết quả dựa trên vị trí, kỹ năng cần thiết, mức lương, mức kinh nghiệm, v.v.

Xây dựng mô hình dữ liệu

Sau khi xem xét các yêu cầu trên, tôi đã đưa ra ba loại chức năng rộng:

  1. Quản lý Người dùng - Cách cổng quản lý người dùng, tức là người tìm việc, nhân sự nhân sự và nhà tuyển dụng độc lập hoặc tư vấn. (Đối với mục đích của mô hình này, các đại diện nhân sự cá nhân và các nhà tuyển dụng độc lập hoặc tư vấn được coi là công ty, ít nhất là về cách họ sử dụng cổng thông tin.)
  2. Cấu hình Xây dựng - Cách cổng thông tin cho phép người tìm việc và các tổ chức tạo hồ sơ và sơ yếu lý lịch.
  3. Đăng và Tìm kiếm Công việc - Cách cổng thông tin tạo điều kiện thuận lợi cho quá trình đăng, tìm kiếm và nộp đơn xin việc.



Hãy xem xét từng lĩnh vực này một cách riêng biệt.

1. Quản lý người dùng

Chủ yếu có hai loại người dùng cổng thông tin việc làm trực tuyến:người tìm việc cá nhân và nhà tuyển dụng nhân sự (hoặc nhà tư vấn tuyển dụng độc lập). Hãy tạo một bảng có tên user_type để lưu trữ các bản ghi này. Để bắt đầu, nó sẽ có hai hồ sơ - một hồ sơ dành cho người tìm việc và hồ sơ khác dành cho người tuyển dụng. (Chúng tôi luôn có thể tạo các loại bản ghi bổ sung nếu cần.)

Người dùng phải đăng ký trước khi có thể sử dụng cổng thông tin. user_account bảng lưu trữ chi tiết tài khoản cơ bản của họ. Trước đó, tôi đã cân nhắc đặt tên bảng này là “người dùng”, nhưng vì người dùng là một từ khóa do hệ thống xác định trong hầu hết các cơ sở dữ liệu, nên tôi thích gắn bó với “user_account” hơn.

user_account bảng có các cột sau:

  • id - Đây vừa là khóa chính của bảng vừa là số nhận dạng duy nhất cho mỗi người dùng. ID này sẽ được tham chiếu bởi các bảng khác trong mô hình dữ liệu.
  • user_type_id - Điều này cho biết người dùng là người tìm việc hay người tuyển dụng.
  • email - Cột này chứa địa chỉ email của người dùng. Nó hoạt động như một ID người dùng khác cho cổng.
  • mật khẩu - Điều này lưu trữ mật khẩu tài khoản được mã hóa (do người dùng tạo trong quá trình đăng ký).
  • date_of_birth giới tính - Như tên của chúng gợi ý, các cột này chứa ngày sinh và giới tính của người dùng.
  • is_active - Ban đầu cột này sẽ là “Y”, nhưng người dùng có thể đặt hồ sơ của họ thành không hoạt động hoặc “N”. Cột này lưu trữ sự lựa chọn của họ.
  • contact_number - Đây là số điện thoại (thường là di động) được cung cấp trong quá trình đăng ký. Người dùng có thể nhận thông báo SMS (văn bản) trên số này. Nó có thể trùng số (hoặc không) với danh sách một người tìm việc trong hồ sơ hoặc sơ yếu lý lịch của họ.
  • sms_notification_active email_notification_active - Các cột này lưu trữ các tùy chọn của người dùng về việc nhận thông báo qua văn bản và / hoặc email.
  • user_image - Đây là thuộc tính kiểu BLOB lưu trữ hình ảnh hồ sơ của mỗi người dùng. Vì cổng thông tin này chỉ cho phép một ảnh hồ sơ cho mỗi người dùng, nên lưu trữ nó ở đây là rất hợp lý.
  • register_date - Cột này lưu giữ hồ sơ về thời điểm người dùng đăng ký với cổng thông tin.

Chúng tôi sẽ tạo thêm một bảng, user_log , lưu trữ hồ sơ về ngày đăng nhập cuối cùng của người dùng và ngày nộp đơn xin việc cuối cùng của họ. Có rất nhiều tính năng có thể được xây dựng từ kiến ​​thức này. Ví dụ:chúng tôi có thể sử dụng thông tin này để trả lời câu hỏi Người dùng X có đang tích cực tìm việc không ? Nếu vậy, họ có thể được cung cấp một sản phẩm để tạo một bản sơ yếu lý lịch hiệu quả. Những người dùng không tích cực tìm việc sẽ không nhận được đề nghị như vậy.

2. Cấu hình xây dựng

Chúng ta có thể chia phần này thành hai khu vực:hồ sơ công ty hoặc tổ chức và hồ sơ người tìm việc.

Hồ sơ công ty

Thông thường các nhóm nhân sự xây dựng hồ sơ công ty bằng cách nhập thông tin chi tiết về tổ chức và hình ảnh của văn phòng, tòa nhà, ... Mục tiêu chính của họ là thu hút nhân tài giỏi. Khi nhà tuyển dụng đăng ký với cổng thông tin, họ cũng có thể xây dựng hồ sơ về công ty của họ (hoặc thương hiệu cá nhân của họ, nếu họ độc lập) bằng cách cung cấp một số chi tiết cơ bản như họ đã kinh doanh trong bao lâu, vị trí của họ và luồng kinh doanh chính của họ ( ví dụ:sản xuất, dịch vụ CNTT, tài chính, v.v.).

Cổng thông tin cho phép các nhà tuyển dụng nhân sự và tư vấn tải lên bao nhiêu hình ảnh họ thích (trái ngược với những người tìm việc, những người chỉ có thể tải lên một hình ảnh). Do đó, chúng tôi đã tạo company_image bảng lưu nhiều hình ảnh cho mỗi tài khoản nhà tuyển dụng. company_id cột trong bảng này là một khóa ngoại đề cập đến số nhận dạng duy nhất được sử dụng trong company bảng.

Trong company bảng, chúng tôi có các cột sau:

  • id - Khóa chính của bảng này cũng được sử dụng để xác định duy nhất các công ty.
  • company_name - Như tên cột cho thấy, cột này là tên pháp lý của một công ty.
  • profile_description - Phần này chứa mô tả ngắn gọn về từng công ty.
  • business_stream_id - Cột này mô tả công ty thuộc dòng kinh doanh nào. Ví dụ:một công ty thăm dò dầu khí có thể thuê các kỹ sư CNTT, nhưng hoạt động kinh doanh chính của họ vẫn là “Dầu khí”.
  • ngày_thành lập - Cột này cho bạn biết tuổi của một công ty.
  • company_website_url - Đây là cột bắt buộc (không thể null). Nó giữ một con trỏ đến trang web chính thức của công ty để người tìm việc có thể tìm hiểu thêm thông tin.

Cuối cùng, business_stream bảng chỉ có hai thuộc tính, một id là khóa chính cho bảng này và mô tả về luồng kinh doanh chính của công ty ( business_stream_name ).

Hồ sơ người tìm việc

Đây là phần quan trọng nhất của cổng thông tin việc làm. Trừ khi một cổng thông tin thu thập được càng nhiều thông tin chi tiết từ người tìm việc càng tốt, nếu không, nhà tuyển dụng sẽ khó có thể đưa ra danh sách lựa chọn hồ sơ hoặc ứng viên.

seeker_profile bảng chứa các chi tiết bổ sung chưa được nắm bắt trong quá trình đăng ký. Nó chứa các trường sau:

  • user_account_id - Cột này được tham chiếu từ user_account và nó đóng vai trò là khóa chính cho bảng này. Nó đảm bảo sẽ có tối đa một hồ sơ cho mỗi người tìm việc.
  • first_name last_name - Như tên gợi ý, các cột này chứa họ và tên của người tìm việc.
  • current_salary - Thuộc tính này chứa mức lương hiện tại của người tìm việc. Nó là vô hiệu vì mọi người có thể không muốn tiết lộ nó.
  • is_annently_monthly - Điều này xác định xem số tiền lương của họ là mỗi năm hay mỗi tháng.
  • tiền tệ - Điều này lưu trữ đơn vị tiền tệ của tiền lương.

education_detail bảng lưu trữ lịch sử giáo dục của từng người tìm việc, do họ cung cấp. Nó có một khóa chính tổng hợp được tạo thành từ user_account_id , certificate_degree_name chuyên ngành cột. Điều này đảm bảo rằng người dùng chỉ nhập một ghi lại cho mỗi bằng cấp hoặc chứng chỉ. Bảng chứa các thuộc tính sau:

  • user_account_id - Cột này được tham chiếu từ user_account bảng và đóng vai trò là khóa chính cho bảng này.
  • certificate_degree_name - Đây là chứng chỉ hoặc loại bằng cấp; ví dụ. trung học phổ thông, trung học phổ thông, cao học, sau đại học hoặc chứng chỉ chuyên môn.
  • chuyên ngành - Cột này chứa quá trình học chính để lấy chứng chỉ hoặc bằng cấp - ví dụ:bằng cử nhân chuyên ngành khoa học máy tính.
  • Institute_university_name - Đây là viện, trường học hoặc trường đại học đã cấp bằng hoặc chứng chỉ.
  • start_date - Thuộc tính này lưu trữ ngày người dùng được chấp nhận tham gia một chương trình giáo dục.
  • complete_date - Đây là ngày bằng cấp hoặc chứng chỉ được trao. Tuy nhiên, thuộc tính này là nullable; mọi người có thể vẫn đang hoàn thành chương trình của họ trong khi họ đang tìm việc hoặc họ có thể đã bỏ chương trình hoàn toàn.
  • phần trăm cgpa - Các cột này lưu trữ phần trăm điểm hoặc CGPA (điểm trung bình tích lũy) mà người dùng đạt được trong khóa học cấp bằng hoặc chứng chỉ của họ.

experience_detail bảng lưu giữ hồ sơ về kinh nghiệm nghề nghiệp trong quá khứ và hiện tại của người dùng. Nó chứa các cột quan trọng sau:

  • user_account_id - Cột này được tham chiếu từ user_account và là khóa chính của bảng này.
  • is_current_job - Đây là cột chỉ báo cho biết công việc hiện tại của người dùng. Cột này cũng đóng một vai trò quan trọng trong việc xác định vị trí hiện tại của người dùng và họ đã giữ vị trí hiện tại trong bao lâu.
  • start_date - Điều này lưu trữ khi người dùng bắt đầu một công việc.
  • end_date - Dữ liệu này lưu trữ khi người dùng kết thúc công việc.
  • job_title - Phần này chứa thông tin về vai trò công việc của người dùng.
  • company_name - Thuộc tính này chứa tên công ty liên quan có liên quan đến công việc.
  • job_location_city - Điều này cho biết thành phố nơi đặt công việc.
  • job_location_state - Điều này biểu thị trạng thái nơi đặt công việc.
  • job_location_country - Điều này cho biết quốc gia nơi đặt công việc.
  • mô tả - Cột này lưu trữ thông tin chi tiết về vai trò và trách nhiệm công việc, thách thức và thành tích.

Người tìm việc có thể sở hữu nhiều kỹ năng. Để lưu giữ hồ sơ của tất cả các bộ kỹ năng này, chúng tôi sẽ tạo bảng seeker_skill_set . Các cột là:

  • user_account_id - Cột này được tham chiếu từ user_account và là khóa chính của bảng này.
  • skill_set_id - ID này cho biết người dùng sở hữu bộ kỹ năng nào.
  • skill_level - Thuộc tính số này định lượng chuyên môn của người tìm việc trong một kỹ năng cụ thể. Một số từ 1 (người mới bắt đầu) đến 10 (chuyên gia) cho biết mức độ kinh nghiệm của họ.

Cuối cùng, skill_set bảng chứa mô tả về tất cả các kỹ năng được đề cập đến trong skill_set_id của bảng ở trên thuộc tính. Nó chỉ chứa hai cột, một skill_set_name id liên quan của nó .

3. Đăng và Tìm kiếm Việc làm

Đây là USP chính (Điểm bán hàng duy nhất) của một cổng thông tin việc làm. Chỉ những nhà tuyển dụng đã đăng ký mới được phép đăng tuyển dụng trên cổng thông tin và chỉ những người tìm việc đã đăng ký mới được phép đăng ký.

job_post bảng là bảng chính trong môn học này. Như bạn có thể đoán, nó chứa thông tin chi tiết về các bài đăng tuyển dụng. Tất cả các bảng khác trong phần này được tạo xung quanh nó và được liên kết với nó.

  • id - Đây là khóa chính của bảng này. Mỗi công việc được gán một số duy nhất và số này được tham chiếu trong các bảng khác.
  • Posted_by_id - Cột này chứa register_user_id của nhà tuyển dụng đã đăng tuyển.
  • job_type_id - Cột này cho biết thời hạn công việc là vĩnh viễn hay tạm thời (hợp đồng).
  • company_id - Cột này lưu ID của công ty liên quan đến vị trí đăng tuyển. Nó là một tham chiếu đến company bảng.
  • is_company_name_hiised - Đây là cột cờ cho biết liệu tên công ty có nên được hiển thị cho người tìm việc hay không. Các nhà tuyển dụng có thể không muốn hiển thị tên công ty trên bài đăng của họ. Thay vào đó, họ sử dụng các thuật ngữ như "Công ty ô tô toàn cầu", "Công ty CNTT có trụ sở tại California", v.v.
  • ngày_đã__đã_hóa - Nó lưu trữ ngày công việc được đăng.
  • job_description - Đây là phần mô tả ngắn gọn về công việc.
  • job_location_id - Điều này đề cập đến một thuộc tính trong job_location bảng lưu trữ vị trí thực tế của công việc:địa chỉ đường phố, thành phố, tiểu bang, quốc gia và mã bưu điện.
  • is_active - Điều này cho biết nếu một công việc vẫn đang mở. Các nhà tuyển dụng có thể đánh dấu bài đăng của họ là không hoạt động ngay sau khi các vị trí được lấp đầy.

job_post_skill_set bảng lưu trữ thông tin chi tiết về các bộ kỹ năng cần thiết cho một công việc. Cấu trúc bảng giống với seeker_skill_set bàn.

Và bảng cuối cùng trong phần này, job_post_activity bảng, chứa thông tin chi tiết về những người tìm việc nộp đơn xin việc và khi nào.

Bạn sẽ thêm gì vào Mô hình dữ liệu cổng việc làm trực tuyến này?

Các cổng thông tin việc làm trực tuyến ngày nay không chỉ cung cấp một nền tảng để đăng và nộp đơn xin việc. Chúng thường bao gồm các dịch vụ chuyên nghiệp khác như:

  • Trang tổng quan cá nhân để theo dõi các đơn xin việc
  • Cập nhật thời gian thực về các ứng dụng
  • Người tạo sơ yếu lý lịch video
  • Dịch vụ viết sơ yếu lý lịch chuyên nghiệp
  • LinkedIn hoặc những người tạo hồ sơ mạng xã hội khác
  • Báo cáo tiền lương theo các vị trí công việc, công ty, ngành hoặc vị trí địa lý

Nếu chúng tôi muốn xây dựng các tính năng này vào hệ thống của mình, chúng tôi cần thực hiện những thay đổi bổ sung nào? Bạn có thể nghĩ về bất kỳ điều bắt buộc nào khác trong một cổng thông tin việc làm không?

Vui lòng cho chúng tôi biết quan điểm của bạn trong phần bình luận.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CTE có thể hỗ trợ như thế nào trong việc viết các truy vấn phức tạp, mạnh mẽ:Quan điểm về hiệu suất

  2. Sử dụng Microsoft DiskSpd để kiểm tra hệ thống con lưu trữ của bạn

  3. DTU là cái quái gì?

  4. Cách các kế hoạch song song bắt đầu - Phần 4

  5. Thời gian cắt tỉa tính từ ngày giờ - theo dõi