Job Portal System Database Model

Job Portal System Database Model

The project entitled job portal system is an online platform where different companies can post their job vacancies and it is also an avenue for the job seekers to search and apply for a job online.

This is an example of a database model/schema for the development of job portal system. This is also open for anyone who wants to modify the database model that will fit on their requirements. Our team is also willing to collaborate with your project regarding on the development of a job portal system.

Job Portal System List of Database Tables
Job Portal System List of Database Tables

Database Design

tbladmin (admin_id, admin_name, admin_contact, admin_email, username, password)

Description: the tbladmin database table stores the information of the site administrators; it includes the primary key column which is the admin_id, the admin_name column for the complete name of the admin, the contact information such as the mobile phone number and email address, the username and password which is used by the admin to access the admin or control panel of the job portal system. The site administrators encode and update the job category and job location information.

Create Table SQL Statement:

CREATE TABLE IF NOT EXISTS `tbladmin` (
`admin_id` int(11) NOT NULL AUTO_INCREMENT,
`admin_name` int(11) NOT NULL,
`admin_contact` int(11) NOT NULL,
`admin_email` int(11) NOT NULL,
`username` int(11) NOT NULL,
`password` int(11) NOT NULL,
PRIMARY KEY (`admin_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

tblapplicant (applicant_id, applicant_name, gender, contact_details, email_address, professional_summary, highest_educational_attainment, profile_image, username, password, account_status)

Description: the job applicant or known as the job seeker can register their information in the registration page of the site and they can also management their account or profile information in the dashboard section of the system. The tblapplicant table stores the information of the applicants such as the applicant name, gender, and their contact information, email address, professional summary column wherein they can specify and enumerate their employment background. The administrator is the one who will approve their registration before they can access the said features.

Create Table SQL Statement:

CREATE TABLE IF NOT EXISTS `tblapplicant` (
`applicant_id` int(11) NOT NULL AUTO_INCREMENT,
`applicant_name` varchar(50) NOT NULL,
`gender` int(1) NOT NULL,
`contact_details` varchar(11) NOT NULL,
`email_address` varchar(30) NOT NULL,
`professional_summary` varchar(200) NOT NULL,
`highest_educational_attainment` int(11) NOT NULL,
`profile_image` blob NOT NULL,
`username` varchar(30) NOT NULL,
`password` varchar(30) NOT NULL,
`account_status` int(1) NOT NULL,
PRIMARY KEY (`applicant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

tblapplicantcredential (credential_id, credential_name, file_upload, applicant_id)

Description: once their registration was approved by the administrator, they can now access the system and upload their credentials such as the Transcript of Records, Certificate of Employment and other credentials needed. Their credentials will be stored in the tblapplicantcredential table.

Create Table SQL Statement:

CREATE TABLE IF NOT EXISTS `tblapplicantcredential` (
`credential_id` int(11) NOT NULL AUTO_INCREMENT,
`credential_name` varchar(50) NOT NULL,
`file_upload` blob NOT NULL,
`applicant_id` int(11) NOT NULL,
PRIMARY KEY (`credential_id`),
KEY `applicant_id` (`applicant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

tblapplicationdetails (application_id, applicant_id, job_id, application_status)

Description: the registered applicants can search a job on the platform and they can apply online. Application information will be stored in the tblapplicationdetails that includes the applicant_id which is the foreign key and links to the tblapplicant table, the job_id is also a foreign key that links to the tbljob table. The company who post and publish the job will automatically be notified of all the application stored in this table.

Create Table SQL Statement:

CREATE TABLE IF NOT EXISTS `tblapplicationdetails` (
`application_id` int(11) NOT NULL AUTO_INCREMENT,
`applicant_id` int(11) NOT NULL,
`job_id` int(11) NOT NULL,
`application_status` int(1) NOT NULL,
PRIMARY KEY (`application_id`),
KEY `applicant_id` (`applicant_id`,`job_id`),
KEY `job_id` (`job_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

tblcompany (company_id, company_name, company_address, company_contact, company_email, company_website, username, password, account_status)

Description: different companies who are looking for qualified applicants are allowed to post their job vacancies in the platform. The representative of the company needs to register to the platform in order to post their jobs.

Create Table SQL Statement:

CREATE TABLE IF NOT EXISTS `tblcompany` (
`company_id` int(11) NOT NULL AUTO_INCREMENT,
`company_name` varchar(50) NOT NULL,
`company_address` varchar(100) NOT NULL,
`company_contact` varchar(11) NOT NULL,
`company_email` varchar(30) NOT NULL,
`company_website` varchar(50) NOT NULL,
`username` varchar(30) NOT NULL,
`password` varchar(30) NOT NULL,
`account_status` int(1) NOT NULL,
PRIMARY KEY (`company_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

tbljob (job_id, job_title, job_description, job_category_id, company_id, job_type, job_salary, job_posting_date, last_application_date, no_of_vacancy, job_status)

Description: the company can post as many jobs as possible and they can also specify the number of employees they want to hire for a specific job. The tbljob includes the job title, job description, the salary offer and the last date of application. The system will automatically close the application once it reached the limit set in the last_application_date column.

Create Table SQL Statement:

CREATE TABLE IF NOT EXISTS `tbljob` (
`job_id` int(11) NOT NULL AUTO_INCREMENT,
`job_title` varchar(30) NOT NULL,
`job_description` varchar(300) NOT NULL,
`job_category_id` int(11) NOT NULL,
`job_location_id` int(11) NOT NULL,
`company_id` int(11) NOT NULL,
`job_type` int(1) NOT NULL,
`job_salary` float NOT NULL,
`job_posting_date` date NOT NULL,
`last_application_date` date NOT NULL,
`no_of_vacancy` int(3) NOT NULL,
`job_status` int(1) NOT NULL,
PRIMARY KEY (`job_id`),
KEY `job_category_id` (`job_category_id`,`company_id`),
KEY `job_location_id` (`job_location_id`),
KEY `company_id` (`company_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

tbljobcategory (category_id, category_name, admin_id)

Description: different types of job category will be encoded by the site administrators and it will be stored in the tbljobcategory

Create Table SQL Statement:

CREATE TABLE IF NOT EXISTS `tbljobcategory` (
`category_id` int(11) NOT NULL AUTO_INCREMENT,
`category_name` varchar(15) NOT NULL,
`admin_id` int(11) NOT NULL,
PRIMARY KEY (`category_id`),
KEY `admin_id` (`admin_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

tbljoblocation (location_id, location_name, admin_id)

Description: the job location refers to the cities covered by the system, the different location will be encoded also by the site administrators.

Create Table SQL Statement:

CREATE TABLE IF NOT EXISTS `tbljoblocation` (
`location_id` int(11) NOT NULL AUTO_INCREMENT,
`location_name` varchar(30) NOT NULL,
`admin_id` int(11) NOT NULL,
PRIMARY KEY (`location_id`),
KEY `admin_id` (`admin_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Constraints for dumped tables


— Constraints for table `tblapplicantcredential`

ALTER TABLE `tblapplicantcredential`
ADD CONSTRAINT `tblapplicantcredential_ibfk_1` FOREIGN KEY (`applicant_id`) REFERENCES `tblapplicant` (`applicant_id`) ON DELETE CASCADE ON UPDATE CASCADE;


— Constraints for table `tblapplicationdetails`

ALTER TABLE `tblapplicationdetails`
ADD CONSTRAINT `tblapplicationdetails_ibfk_1` FOREIGN KEY (`applicant_id`) REFERENCES `tblapplicant` (`applicant_id`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `tblapplicationdetails_ibfk_2` FOREIGN KEY (`job_id`) REFERENCES `tbljob` (`job_id`) ON DELETE CASCADE ON UPDATE CASCADE;


— Constraints for table `tbljob`

ALTER TABLE `tbljob`
ADD CONSTRAINT `tbljob_ibfk_1` FOREIGN KEY (`job_location_id`) REFERENCES `tbljoblocation` (`location_id`) ON DELETE NO ACTION ON UPDATE CASCADE,
ADD CONSTRAINT `tbljob_ibfk_2` FOREIGN KEY (`job_category_id`) REFERENCES `tbljobcategory` (`category_id`) ON DELETE NO ACTION ON UPDATE CASCADE,
ADD CONSTRAINT `tbljob_ibfk_3` FOREIGN KEY (`company_id`) REFERENCES `tblcompany` (`company_id`) ON DELETE NO ACTION ON UPDATE CASCADE;


— Constraints for table `tbljobcategory`

ALTER TABLE `tbljobcategory`
ADD CONSTRAINT `tbljobcategory_ibfk_1` FOREIGN KEY (`admin_id`) REFERENCES `tbladmin` (`admin_id`) ON DELETE CASCADE ON UPDATE CASCADE;


— Constraints for table `tbljoblocation`

ALTER TABLE `tbljoblocation`
ADD CONSTRAINT `tbljoblocation_ibfk_1` FOREIGN KEY (`admin_id`) REFERENCES `tbladmin` (`admin_id`) ON DELETE CASCADE ON UPDATE CASCADE;

You may visit our facebook page for more information, inquiries and comments.

Hire our team to do the project.

, , , , , , , , , , , , , , , , , , , , ,

Post navigation