背景:用于个人学习目的的简单 webapp 游戏,使用 postgres。我可以随心所欲地设计它。
2 个表 1 个视图(还有其他不重要的表视图参考)
Table: Research
col: research_id (foreign key to an outside table)
col: category (integer foreign key to category table)
col: percent (integer)
constraint (unique combination of the three columns)
Table: Category
col: category_id (primary key auto inc)
col: name(varchar(255))
注意:此表的存在是为了捕获我想要在业务逻辑中进行的 4 类研究,我认为这不是硬编码为数据库中的列的最佳实践
View: Research_view
col: research_id (from research table)
col: foo1 (one of the categories from category table)
col: foo2 (etc...)
col: other cols from other joins
注释:具有适当使用上述表格的插入/更新/删除语句
我担心的研究表本身可以称为“瘦表”(直到我在 Ibatis 人员手册中看到它才听说过这个词)。例如,其中的测试数据如下所示:
| research_id | percent | category |
| 1 | 25 | 1 |
| 1 | 25 | 2 |
| 1 | 25 | 3 |
| 1 | 25 | 4 |
| 2 | 20 | 1 |
| 2 | 30 | 2 |
| 2 | 25 | 3 |
| 2 | 25 | 4 |
1)让表中的所有列共同定义唯一条目是否有意义?
2)这对你来说有“味道”吗?