Database design: Multiple of the same type of item -


i wasn't sure entirely how word question, i'll explain i'm thinking. have previous experience designing databases haven't decided how want implement or run across before. i'll explain i'm thinking way of showing have thought out...

i'm creating database store information of user things resume (this side project bunch of college kids). issue i'm coming across how deal storing large amount of things technical skills, perhaps of order of 20+ per user proficiency

idea one: 1 huge table columns of techskill1 -> 20. along proficiency. use user id fk relate of these. pros: easiest implement, easiest on front end. cons: limited 20 skills, lots of potential nulls, excessive size

idea two: table of large text input skills in 1 text object delimited character comma or |. column proficiencies delimited same way. again, userid fk. pros: easy implement, small table size, easy on front end information cons: possibility of wasting lot of empty space, need more coding on front end before store , upon retrieving.

idea three: small table column of skill , proficiency. create multiple rows relate each userid pros: smallest table , cleanest. saves space cons: front end implementation interesting in, how deal multiple fields unlimited amount of entries (not stuff, don't want create many issues front end guys)

those 3 ideas, i'm not entirely sure best so... i'm asking guys. advice appreciated.

thanks!

-jabsy

best way implement on database level create 4 tables:

  • users (you have one)
  • skills
  • proficiencies
  • skills_proficiencies (fk_userid, fk_proficiencyid,fk_skill_id)

this way won't waste space , architecture more scalable , maintanable.

you addressed problem of front end implementation. best way remedy create database view (which db engine u use?) more "front end friendly" view of data. it's not idea denormalize schema ease front end development, because data manipulations fragile operations in information systems. keep schema clean , save lot of trouble in future when scaling , adding new features.


Comments

Popular posts from this blog

linux - Mailx and Gmail nss config dir -

c# - Is it possible to remove an existing registration from Autofac container builder? -

php - Mysql PK and FK char(36) vs int(10) -