Normalized Database Diagram So I am working on my DB design skills, and have tried to create a normalized MySQL database. Here is the diagram:




The reason I added the Address table is to break the address fields into separate columns, making the geography more searchable (i.e. search for zipcode).
Employer to Post will be a 1 (employer) to many (post(s))
My idea for position, since there will be a set number of positions would be to seed a table (Position) and store the position id in the Post table
Location works under the same premise of Address on the Employer table, however it may vary from the address on the employer table, earning it it's own table.
Finally, Industry will be seeded just like the Position table. 


I would appreciate constructive criticism, as I am still working on becoming better at my schema design.
When two tables have the some column structure (as Location and Address do here) that is almost always an indication that they should be the same table (conceptually and logically, even if separated physically for performance reasons).

So ask yourself, "What is the design assumption that leads me to think that Address and Location are separate entities rather than the same one?" 

Answer:
The relationship between Employer and Address is 1-N; but the relationship between Post and Location is 1-1. Therefore, each Address must have a FK to the Employer, and each Post must have a FK to the Address, with a transitive relationship to the Employer via the Address table.