我正在尝试确定我的设计是否正确以及您如何查询/插入它。员工具有一组核心能力和特定于工作的能力。一个网站会要求对他们的核心能力进行评分,然后根据他们的工作类型要求一组特定的能力
到目前为止,我有一组代表员工、部门(即工作类型)、能力(核心能力、软件能力等)的表格。
部门:
Id
Department
员工:
EmployeeId
LoginName
FK_DepartmentId
所以每个能力表应该是这样的:
CompetencyId
Code
Description
该计划是每个人都有核心能力和相应的工作类型和分数。我的第一个想法是,获得分数的最佳方法是拥有这样的能力来评分表格:
CompetencyScoreId
EmployeeId_FK
CompetencyCode_FK
Score
然后我可以使用此人的 ID 从表中过滤。通过拥有多个表格分数,我猜如果有人更换部门,我只需要确保将他们从旧表格中删除并添加到新表格中
当我添加一个新用户时,我需要以某种方式将核心表作为一组行粘贴到较大的表中。这是可能的还是明智的?是否可以进行约束,使用户名和代码组合在表中是唯一的?
另一种方法是有一个表格,其中能力代码是列,每个用户在表格中都有一行,其中包含针对列的分数。我认为这样做会使添加列变得更加困难,而且我不确定如何将列名与描述相关联。