在数据库中存储多个技能类别的最佳方法是什么?

What is the best method for storing multiple skills catagories in a database?

我有一个 table 用户,我想为其存储技能。

显然我打算使用 link table 允许用户拥有多种技能,但是举例来说,技能分为 'technical skills' 和 'managerial skills'.

是否最好有一个 SKILL table 来存储技能类型,然后再有一个 link table USER_SKILL,或者有单独的tables MANAGERIAL_SKILL 和 TECHNICAL_SKILL 然后还要分开 linking tables 例如 USER_MANAGERIAL_SKILL 和 USER_TECHNICAL_SKILL?

您的问题令人困惑,但我会尽力帮助您理解它,

第一种方法:

每个用户都有多种技能,这些技能是不同的,它们共享相同的架构(idSkill,skillName,......)并且它们有一个停滞变化 是技能类型:管理或技术,在这种情况下,您只需要两个 tables : Skills table 和 Skills_Type table.

第二种方法

如果我们考虑到每种技能类型都有自己的体系结构,例如

managerial_skills (idSkill, marketing, accounting, ...)
technical_skills (idSkill, web, databases, mobile, desktop ....)

那么您还需要那些 table。