|
最初由 weilin_china 发布
[B]
不知道该怎么答复,这是一个很大的话题,也是一种系统性的方法论。不过简单的按照我的个人经验来说不应该过多的考虑UI,理由非常简单就像我们在做分析时如果过多考虑了技术细节,那么将使我们的分析束手束脚,至于不一定符合3CNF才能达到方便编程的问题我觉得主要可以分成两方面考虑,一方面是简单的数据模型的关系,这种关系的复杂性的降低很多时候可以依赖好的设计来解决,采用3CNF也不会有问题。另一方面如果为了满足复杂报表的制作,那么通常我们会建立不一定符合3CNF的数据库设计,这里我的观点是具体问题具体分析,首先一个很重要的原则是我们应尽可能保持数据表之间明确的关系,其次可以建立一些专门为了出报表的表,这样既不影响我们的数据库设计,也能达到方便产生报表的要求。 [/B] 不错,建立一些专门为了出报表的表是经常使用的手段。
在我实际设计开发中,在数据库设计中如果仅从业务上考虑,设计的模型符合3CNF,有的UI控件要求的数据结构和数据库结构不一致,如我经常定义联合主键,但控件可能要求单键,这时就得改表结构才能较好地使用该控件(当然这个情况应该是控件设计的问题)。
我觉得数据库的设计总的来说不太关注UI,但涉及比较复杂的UI时,必要的表结构修改还是需要的(并不一定破坏3CNF)。 |
|