-1

我想创建一个表来存储员工绩效评估。

我这样创建表

id | employee| jobknowledge | Technical Skill  | Quality_work  |
1  | 1       |    4         |   3              |  4            |

或者我也是另一个设计

id   | employee   | skilltype     |mark  |
1         1       | jobknowledge  |  4   |
2    |    1       | Technical_Skill| 3   |

这只是一个示例技能类型。超过 20 的技能类型是最好的设计

4

2 回答 2

1

您可以做的是为技能和工作知识创建其他表格,如下所示,

技能和员工查找表。

id | employee| skill        |
---|---------|--------------|
1  | 1       |    4         |
2  | 1       |    5         |
3  | 1       |    2         |

工作知识也一样

id | employee| JobKnow.     |
---|---------|--------------|
1  | 1       |    4         |
2  | 1       |    2         |
3  | 1       |    10        |

因此,将来您可以轻松查询,并且这样做还可以保持规范化。

于 2013-06-29T05:35:08.907 回答
1

第二种选择它更好。因为当您尝试这样做时,您将获得以下好处:

  • 更多最少属性列
  • 您可以应用技能的继承类。

您可以创建文件 Skill_type.rb:

class SkillType < Employee
  def self.foo
    puts "foo"
  end
end

创建子job_knowledge.rb

class JobKnowledge < SkillType
  def self.bar
    puts "#{self.foo}"
  end
end
于 2013-06-29T06:11:45.803 回答