SQL查询正常化
问题描述:
我创建了员工的技能集的项目中,该表是SkillRepo
的列:SQL查询正常化
EmpID, EmpName, SkillName, SkillProficiency, SkillCategory, Experience, Comments
我的问题是,一个用户可能有很多技巧。因此,如果我将EmpID
作为主键,那么如何在同一个表中为同一用户添加其他技能?我认为这里需要正常化,但我不知道如何?
答
一个表EMP
emp
EmpID, EmpName,
上emp_skill
emp_skill
EmpID, SkillName, SkillProficiency, SkillCategory, Experience, Comments
答
您需要表 - 一个用于Employee
:
EmpId (PK), EmpName
和第二台Skills
定义技能和链接到Employee
表:
SkillId (PK), EmpId (FK to Employee), SkillName, SkillProficiency, SkillCategory, Experience
这样,你可以有多行Skills
所有参考同一员工(由存储在Skills
表其EmpId
手段)