关于数据库概念的建议

Suggestions about a Database conception

我正在进行一个创建新 Java EE 应用程序(JSF、Hibernate、Spring Security、Informix 数据库)的项目。此应用程序将自动输入银行员工年度面谈的笔记。

一开始,所有内容都输入到 Excel 文件中,然后生成包含各种性能图表的报告(根据从 0 到 4 输入的注释)。

现在我想做一个相当优化的数据库设计。我想创建下表:

但是,我对如何保持紧凑和逻辑有一些疑问。这是正确的做事方式吗?是否有任何改进需要考虑更多优化?

在您的叙述和草稿数据库架构中,我发现了以下已识别的实体:EmployeeCompetencyInterviewInterview_note

在这方面,只有 Employee table 缺失,但我相信您在某处有它。此外,您的设计非常灵活,因为它允许对同一面试、能力和员工进行多次 Interview_notes。因此,可能缺少的是 id 谁做了笔记。或者,如果面试只有一套笔记,您可以考虑在 Interview.

中识别面试官

其中的一部分,也许还有一些缺失的注释数据(分数、满意度百分比或一些文本注释?)您的设计似乎达到了它的目的。

数据库引擎将很好地优化您必须执行的所有连接。也许通过将 _id 定义为主键来促进它的工作,如果你没有这样做的话。

我看不到其他优化:每个 table 清楚地代表一个不同的关系(在该术语的关系代数含义中)并且合并它们中的任何一个都将不可避免地导致次优的冗余模式。