1

我有一个名为 Employee 的表,其中包含 id、名字、中间名、姓氏作为字段。他们的偏好存储在另一个表中。使用 java 服务获取每个员工的详细信息。每个员工都可以看到其他员工信息。假设有员工 A、B、C 和 D。员工可以将显示名称偏好设置为 first、middle、last 或 last、middle、first。如果员工 A 将其显示格式设置为 first,middle,last 作为首选项,则其他员工的所有搜索结果都应采用首选格式。所以我们认为我们会获取结果,并在服务中应用偏好。

另一种选择是在另一个表中应用首选项,因此首选项表将有两列,每个列都有一个。所以直接从首选项中获取结果。

哪个是最好的方法?

4

2 回答 2

1

如果您只需要考虑以不同顺序显示名称的偏好,即 ie one preference,那first approach会做得很好。

(规范化)在名称偏好、要显示的列的偏好等second approach情况下会很有用。user setting multiple preferences (one-to-many relationship)

于 2013-01-15T07:48:40.417 回答
0

如果只影响搜索结果的字段显示顺序,我认为前者是一个更好的解决方案。preferences但是,我建议您重新考虑preferences. perferences恕我直言,如果只是将其作为元数据进行查看,则 java 服务应直接将其传递给 Web 层。然后web层中的一些组件接管perferences并做相应的显示逻辑。可能是我让整个事情变得复杂......

关于第二种方法,它不太适合您的场景,因为它不利于可扩展性。如果需要在 中显示更多内容perferences,则必须更改表以添加必要的列。我认为 TechSpellBound 是对的,在和之间建立一对多的关系会很好。Employeepreferences

于 2013-01-15T08:33:34.837 回答