37.1. 数据库设计

数据库设计从业务 数据冗余 程序三个角度考虑,业务来确定相关的实体,实体和表之间是有映射关系的,可以是一个表一个实体,也可以是几个表一个实体。所有的表或者对应实体或者是纯粹的关系表。考虑关系表是不是应该升级成一个实体表,要从业务上来判断,几个实体要不要合成一个实体要考虑实体的生命周期和业务含义。数据冗余是发现数据库设计问题的一个突破口,但怎么消除冗余还是要从实体之间的关系来考虑。具体来就是该不该合成一个表,还是从两个中抽离一个表,两个表再指向抽离的表等变更方式,如果从业务实体的角度可以决定,那就用业务实体来决定。有的时候业务实体会表现出两种设计都说的过去的情况,这时就要从程序开发的角度怎么简单方便来决定了。有时也会为了程序的开发方便而保留一定的数据冗余。很重要的一点就是实体间是一对一,一对多,还是多对多的关系,要在可预见的需求范围考虑,不要过度放大需求到程序不可能做的地步。

一般来说先画CDM来设计实体关系,然后再设计PDM,但如果直接PDM也是可以的,实际过程省去了,但思想的过程还是省不去的。所有设计的支撑还是业务需求,设计要求不仅仅是要知道需求,还要知道需求的边界,分析实体关系就是对需求的范围以及边界进行量化的过程。

这里面没有设计程序的类,考虑程序是否复杂时是通过脑袋想的,未画出来。实体和具体的类之间的映射差距较小,也未专门设计。程序的领域类框架基本上就按实体关系里的实体来使用。但这样服务未得到设计,所以最好能画出UML图就更好了。UML图最小粒度要包含领域实体和领域服务。

posted on 2013-11-08 15:54  关攀攀  阅读(202)  评论(0)    收藏  举报

导航