views:

43

answers:

1

I want to allow users to create their resume online. Resume creation will have some steps. After first step resume will be saved. He can input data for other steps later on or he can move to next step after first step.

Step 1 Personal Info: title name address phone email

step 2 Employment History: career objective Recent position Previous Position (He can enter as many positions as he can)

step 3 Education: (title, completion year, etc) (many)

step 4 Skills: Non technical computer skills (many)

I have decided that there will be a table for fields that do not need more than one entries. for example user will have many computer skills, education, previous positions that's why they all will go in other table with unique resumeID and rest of fields will stay in resume table.

Is it elegant approach according to database? Or Should I make separate tables for each step as there will be separate form and it will be easy for me to handle.

+1  A: 

Normalization is non redundant information, in other words: there may not be a duplicate of an entry.

Your scheme could look like:

Person -> has 1 or many EmploymentHistory
       -> has 1 or many Education
       -> has 1 or many Skill

You can decide yourself how you want to set this up. You could create a set of Education and Skill Objects in therefore designed tables, or do it the way above. If you create Education and Skill tables your scheme could look like:

Person -> 1 or many -> LinkTable PersonToEducation -> 1 or many -> Education
       -> 1 or many -> LinkTable PersonToSkill     -> 1 or many -> Skill
Ben Fransen
agreed! database schema should be designed with respect to entities. Front end logic should have least effect on front end
Tassadaque