我必须设计模型来存储包含许多部分的报告。每个部分都包含一组问题和答案以及一些数据表。
我做了一些设计决定,想验证我是否走在正确的轨道上:
- 我没有存储对数据模型中各节的任何引用。这是好还是我应该存储数据库中文档部分的引用?我想在应用程序级别处理这个问题。
- 我创建了每个问题作为一个列,而不是设计一个通用的问答模型。事实上,我创建了一个通用的问答模型 - 但决定不使用它,因为要求大多是已知的,并且会有一些微小的变化。问题文本可以由应用程序层处理,只有答案存储在数据库中 - 我需要一些意见,我在这里做了什么是一个好习惯。
- 为每个属性/问题的逻辑分组创建一个实体是个好主意吗?我遵循的原则是创建一个重复属性组的实体。对于非重复属性,我直接在整个报表实体下创建所有这些属性,并且它导致该实体中的许多属性。从数据库设计的角度来看,我不确定它是好还是坏。如果我必须创建实体来存储一组相关的属性,那么我可以只有一个FK到该实体,它会在模型上看起来更优雅,但是有一个联接 - 这里的方法更好,我怎么做决定一个与另一个?
醇>