SQL规范化查询

时间:2016-12-24 13:07:47

标签: sql asp.net normalization database-normalization

我正在为员工技能集创建一个项目,其中表格为SkillRepo,其中包含列:

EmpID, EmpName, SkillName, SkillProficiency, SkillCategory, Experience, Comments

我的问题是,一个用户可能拥有许多技能。因此,如果我将EmpID作为主键,那么如何在同一个表中为同一用户添加其他技能?我认为这里需要规范化,但我无法弄清楚如何?

2 个答案:

答案 0 :(得分:2)

您需要两个表 - 一个用于Employee

EmpId (PK), EmpName

和第二个表Skills,用于定义技能并链接到Employee表:

SkillId (PK), EmpId (FK to Employee), SkillName, SkillProficiency, SkillCategory, Experience

这样,Skills中的多行可以引用同一名员工(通过其存储的EmpIdSkills表中)

答案 1 :(得分:0)

emp的一个表

 emp 

  EmpID, EmpName,

on for emp_skill

emp_skill

    EmpID, SkillName, SkillProficiency, SkillCategory, Experience, Comments