目录

OOAD是数据库设计,还是类图设计

目录

[OOAD]是数据库设计,还是类图设计?

OOAD总遇到一些尴尬的时候:在完成需求分析之后,系统需要为类建模,也需要为数据库设计。先做哪一个?

非常建议先设计类。虽然现在面向对象数据库还没有完全实现,但是目前,根据类图的字段转化成关系数据库,比通过E-R图中实体集转化为类容易。纯属个人意见。

把继承问题在类设计中解决,注意力集中在识别类的在系统中角色。主键,外键等联系留到数据库设计。

带有继承关系的类图转化为关系数据库常有两种方法。

A 如果子类特别属性少,种类多,建议与父类写在同一个表格中。在表格中添加各个子类特别属性,没有其属性用NULL填补即可。

B 如果子类特别属性非常多,种类少。父类公共属性写一个表,利用主键和外键进行对子类特别属性存储表进行联系。

如果子类特别属性多,种类也多。那是类设计存在问题。或者说,系统太庞大,过分使用继承,使继承深度太大。