mongodb和关系型数据库的比较,从数据库设计阶段

1关系型数据库如oracle,数据库设计

第一步:通过powerdesigner等工具,创建pdm即物理数据模型(其实应该还有一个cdm,但是一般研发时,cdm设计过程完全可以省略)

第二步:将pdm导入oracle数据库,生成数据库表。表是有明确的字段的

数据库设计就完毕了。


2mongodb数据库,数据库设计

第一步:通过powerdesigner等工具,创建cdm或者pdm都可以,这个模型其实并没有什么用,作用有两点:

1)共有多少个collection即集合。2)各数据之间的业务关系。

只经过这一步,数据库设计就完毕了。(需要通过Robomongo等可视化管理工具在mongodb中创建上一步模型中的集合吗??不用!mongodb中的数据库及database、集合即collection都是通过j2ee的web工程的程序添加的。)


3总结:

1)即对程序员来说,采用mongodb就意味着没有数据库,所有的字段(即mongodb的document的key),都在程序中即j2ee的web工程中进行控制。

总结的总结:

也就是说,关系型数据库如oracle,相对mongodb的区别只有一点:

采用关系型数据库如oracle开发j2ee的web工程,要遵从数据库的表机构、表字段;

而采用mongodb数据库开发j2ee的web工程,完全可以不受数据库的影响,因为mongodb压根就没有数据库表字段。

既然mongodb没有数据库表字段,那么j2ee的web工程,还有必要使用像Hibernate框架那样的实体类吗?

有必要,因为使用实体类可以简化数据库操作(此类ORM框架有morphia等)。

所以:

mongodb的数据库表和表字段,在j2ee的web工程中,即在代码里

关系型数据库的表和表字段,在数据库端



你可能感兴趣的:(mongodb和关系型数据库的比较,从数据库设计阶段)