【问题标题】:SQL normalization querySQL 规范化查询
【发布时间】:2017-05-09 20:58:07
【问题描述】:

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

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

我的问题是一个用户可能有很多技能。因此,如果我将EmpID 作为主键,那么如何在同一个表中为同一用户添加其他技能?我认为这里需要标准化,但我不知道怎么做?

【问题讨论】:

    标签: sql asp.net normalization database-normalization


    【解决方案1】:

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

    EmpId (PK), EmpName
    

    第二个表Skills 定义技能并链接到Employee 表:

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

    这样,您可以在Skills 中拥有多行,它们都引用了同一个员工(通过其EmpId 存储在@987654328 @表)

    【讨论】:

      【解决方案2】:

      emp 一张桌子

       emp 
      
        EmpID, EmpName,
      

      为 emp_skill 开启

      emp_skill
      
          EmpID, SkillName, SkillProficiency, SkillCategory, Experience, Comments
      

      【讨论】:

        猜你喜欢
        • 2013-02-15
        • 2014-10-21
        • 1970-01-01
        • 2013-11-17
        • 2013-02-05
        • 2010-11-02
        • 1970-01-01
        • 2011-06-06
        • 2011-03-22
        相关资源
        最近更新 更多