The main thing I'd remind you to do is to use a unique worker id number that is set to auto increment for the primary key for the workers table.
I'd start with something like:
worker_id AUTO_INCREMENT PRIMARY KEY INT(5)
Then do fields for each bit of info. I like to have a record of when I entered the row, so I'd do a date_entered, plus a date_started for whenever the worker started working there. I like to be able to order by date entered sometimes. Otherwise, then just do a field for each bit of personal info you want.
For jobs—will workers have multiple jobs? If so, I'd do a jobs table where each job has a job_id number (auto_increment) as a primary key with a job title and a description. Then I'd do a job_assignments table with a field for worker_id, job_id, and assignment_id (as the auto_increment primary key) where jobs will be assigned to employees. You'll need to do a join when you query for information, but that shouldn't be a problem. This way, you don't have to have extra unused fields in your workers table since you never know how many jobs a worker will have, and you can assign as many jobs to an employee as you want via the job_assignments table.
Off the top of my head, that's how I'd start at it anyway.
I'd start with something like:
worker_id AUTO_INCREMENT PRIMARY KEY INT(5)
Then do fields for each bit of info. I like to have a record of when I entered the row, so I'd do a date_entered, plus a date_started for whenever the worker started working there. I like to be able to order by date entered sometimes. Otherwise, then just do a field for each bit of personal info you want.
For jobs—will workers have multiple jobs? If so, I'd do a jobs table where each job has a job_id number (auto_increment) as a primary key with a job title and a description. Then I'd do a job_assignments table with a field for worker_id, job_id, and assignment_id (as the auto_increment primary key) where jobs will be assigned to employees. You'll need to do a join when you query for information, but that shouldn't be a problem. This way, you don't have to have extra unused fields in your workers table since you never know how many jobs a worker will have, and you can assign as many jobs to an employee as you want via the job_assignments table.
Off the top of my head, that's how I'd start at it anyway.