关于数据一致性问题的解决方法?

据说现在系统中数据库的设计很多都没有使用外键,有人说使用外键的数据库设计和操作中会有些麻烦。这样虽然省了一个步骤,但是会出现问题,比如主表中数据已经删了,从表中却还有其引用,这就造成了数据的不一致。假如不使用Hibernate等O/R框架,没有配置级联删除、修改等信息,使用简单的DAO实现,比如直接用JDBC去访问数据库,请问怎样能方便的实现类似于级联删除、级联修改的操作,保持数据的一致性。
很多人说不使用外键,而是在程序中控制,来防止这种问题的发生,本人没有经验,请问大师们能些你们的心得经验吗,你们是怎么解决的。不需要很详细,给小弟点一下也好,谢了!

还有,假如设置了外键,如果程序中某操作,违反了外键的约束,请问要怎么捕获这个异常呢?

2011年10月18日 00:38 "@edison87915"的内容
很多人说不使用外键,而是在程序中控制,来防止这种问题的发生,本人没有经验,请问大师们能些你们的心得经验吗 ...

降低外键,增加数据库的可伸缩性,也就是NoSQL方向;通过业务分析如DDD,其中原则是降低关联,只保留高内聚的关系,这些高内聚的在数据库保存时,可以父子对象都放在一张表中;就是分开放,都是使用父对象的ID。至于这些高内聚的父子对象的一致性,可以通过不变性设计或锁或事务来实现,这是另外一个很大的世界,你需要慢慢了解。

推荐文章:如何学习NoSQL?
[该贴被banq于2011-10-18 11:45修改过]

谢谢banq的指点,我还需要多加努力,现在公司给做分析的机会,但是明显感觉思维力不从心,向你们大师级的多学习,谢了!