在线评估系统的数据库设计

时间:2012-08-19 15:10:29

标签: database-design database-schema

我正在开发一个在线员工评估系统,我发现自己在为这个项目寻找最佳表设计时遇到了麻烦。到目前为止,我有以下表格:用户,活动,表格,章节,问题。每个评估活动必须有一个或多个表单,每个表单必须有一个或多个章节,每个章节必须有一个或多个问题。我目前的表格布局如下:http://cl.ly/image/3z441W2J3t1r

有两种类型的用户:员工和经理。在评估时,员工必须填写单一表格(自动评估),而经理必须完成自我评估和每位员工的评估。

考虑到这一点,我应该如何设计表格以便为每个用户分配表单?

感谢任何帮助。

谢谢。

1 个答案:

答案 0 :(得分:0)

不要混淆经理和员工。在完成自动评估时,所有经理都是员工,但只有经理人会对其他员工进行评估。

因此,对于自动评估,您只需要在USER_ID上使用FORMS和USERS之间的外键。对于管理评估,您需要在FORMS和USERS之间使用外键(MANAGER_GUID,USER_ID)。

顺便提一下,为什么你有两个不同的MANAGER_GUID和USER_ID数据类型? Manager只是管理其他用户的USER,因此MANAGER_ID应该是USER_ID上的外键。