Problem with MySQL table

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Jay

    Problem with MySQL table

    Hi everybody !

    I am a newbie here. I hope somebody will help with my problem.
    I am currently write a web-application that allow user to submit their
    job application online.

    In the job application, there is a section that ask the user to select
    the skills that apply to them. Each skill have an experience level
    associated with it. Below is example of the skills section:

    =============== =============== ======
    SKILLS
    -----
    ( 0 = no experience, 1 = beginner, 2 = intermediate, 3 = advanced )

    + HTML ----> select ( 0 OR 1 OR 2 OR 3)
    + jAVASCRIPT ----> select ( 0 OR 1 OR 2 OR 3)
    + jAVA ----> select ( 0 OR 1 OR 2 OR 3)
    + C++ ----> select ( 0 OR 1 OR 2 OR 3)

    ........ETC.... ......the list goes on and on.......... ( more than 20
    skills)

    =============== =============== =======

    My problem is this:

    1. The list of skills keeps growing over time. I don't know how I would
    design a MySQL database table that have number of fields changing over
    time.

    2. My current solution is to create a table that have the following
    columns:

    + column 1 (first column) store userID (primary).
    + column 2 store all the skills (at beginning level - number 1 in
    the list above) and separated by commna.
    + column 3 store all the skills (at intermediate level - number 2 in
    the list above) and separated by commna.
    + column 4 store all the skills (at advanced level - number 3 in the
    list above) and separated by commna.

    All these skills should be searchable by the admin users of this
    website.

    Is there a better solution to this problem?

    Thank you in advance,

    Jay Hana

  • Tim Van Wassenhove

    #2
    Re: Problem with MySQL table

    On 2005-06-25, Jay <goofyfish@gmai l.com> wrote:[color=blue]
    > + column 1 (first column) store userID (primary).
    > + column 2 store all the skills (at beginning level - number 1 in
    > the list above) and separated by commna.
    > + column 3 store all the skills (at intermediate level - number 2 in
    > the list above) and separated by commna.
    > + column 4 store all the skills (at advanced level - number 3 in the
    > list above) and separated by commna.[/color]

    You need a book/tutorial/whatever on database normalization.

    I probably would end up with the following

    table users (user_id, surname, ...)
    table skills (skill_id, description)
    table userskills (user_id, skill_id, level)


    --
    Met vriendelijke groeten,
    Tim Van Wassenhove <http://timvw.madoka.be >

    Comment

    Working...