2013-03-13 3 views
0

Je crée une table dans ma base de données pour stocker un tas de compétences liées au travail, similaire à la fonctionnalité de compétences et d'expertise de LinkedIn.Un bon moyen de stocker une grande liste dans une base de données

Comment conserver les données? Je veux associer un emploi à un ensemble de compétences, mais beaucoup de compétences se chevauchent, c'est-à-dire «compétences de supervision», «gestion», etc. Cette compétence serait alors associée à l'utilisateur approprié (j'ai déjà une table Dois-je créer une table appelée "jobs", puis créer une colonne pour chaque type de travail (maintenance, banque, service client) suivie d'une deuxième table appelée "skills" puis ajouter toutes les compétences?

De toute évidence, je suis coincé. Toute orientation est appréciée. Merci!

+3

D'accord avec @pst: 3 tables: 'jobs',' 'et skills' jobs_has_skills' qui aidera à éviter les données redondantes – Horen

+2

Vous devriez étudier la représentation des relations plusieurs-à-plusieurs dans mysql. Une recherche rapide sur le Web vous donnera beaucoup de tutoriels à ce sujet. –

+0

Vous pouvez établir une relation plusieurs-à-plusieurs entre le travail et les compétences, et utiliser une compétence de table pour les utilisateurs et les travaux. –

Répondre

1

Afin d'éviter la redondance et la dépendance, vous devriez normalize vos tables.

Dans votre cas, cela signifierait 3 tables:

  1. Emploi
  2. Compétences
  3. Jobs_has_Skills
Questions connexes