2013-03-13 82 views
0

我在我的数据库中创建了一张表,用于存储大量与工作相关的技能,类似于LinkedIn的技能和专长功能。在数据库中存储大型列表的正确方法

我应该如何存储数据?

我想将工作与一组技能联系起来,但很多技能重叠,即“监督技能”,“管理”等。然后,该技能组将与适当的用户相关联(我已经有一张桌子user

我应该创建一个名为“jobs”的表,然后为每个工作类型(维护,银行业务,客户服务)创建一个列,然后再添加一个名为“skills”的表,然后添加所有技能?

显然,我卡住了。任何指导表示赞赏。谢谢!

+3

与@pst同意:3个表:'jobs','skills'和' jobs_has_skills'这将有助于避免冗余数据 – Horen 2013-03-13 22:43:45

+2

您应该研究在mysql中代表多对多关系。快速网络搜索将会发现很多教程。 – 2013-03-13 22:43:50

+0

您可以在工作和技能之间建立多对多的关系,并为用户和工作使用一种表格技巧。 – 2013-03-13 22:44:11

回答

1

为了避免冗余和依赖性,您应该使用normalize表格。

在你的情况,这将意味着3个表:

  1. 乔布斯
  2. 技能
  3. Jobs_has_Skills
相关问题