Sql – Designing a database schema for a Job Listing website


For a school project I'm making a simple Job Listing website in ASP.NET MVC (we got to choose the framework).

I've thought about it awhile and this is my initial schema:




Note: the UserID will be linked to a Member table generated by a MembershipProvider.

Now, I am extremely new to relational databases and SQL so go lightly on me.

What about naming? Should it be just "Description" under the JobPostings table, or should it be "JobDescription" (same with other columns in that main table). Should it be "JobPostingID" or just "ID"?

General tips are appreciated as well.

Edit: The JobTypes are fixed for our project, there will be 15 job categories. I've made this a community wiki to encourage people to post.

Best Solution

Job Schema http://gfilter.net/junk/JobSchema.png

I split Company out of Job Posting, as this makes maintaining the companies easier.

I also added a XREF table that can store the relationship between companies and locations. You can setup a row for each company office, and have a very simple way to find "Alternative Job Locations for this Company".

This should be a fun project...good luck.

EDIT: I would add Created and LastModifiedBy (Referring to a UserID). These are great columns for general housekeeping.