论坛首页 综合技术论坛

今天看了个开源的web应用,近100个表,用power designer逆向后看表间关系,结果出来了,吓了一跳。。。

浏览 40654 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (6)
作者 正文
   发表时间:2011-04-09  
100个表之间竟然一个关系都没有,就是没有外键?

相应的,别的应用的表间联系却比蜘蛛网还蜘蛛网,


我想问下,这样2种表的设计都各有啥利弊?
   发表时间:2011-04-09  
表间有联系可以防止出错和乱引用(开发人员),表间无联系可以随意修改和执行具体没有定义哪种的好坏,一般是系统设计员制作的会带上表间联系,相反是临时应用就会出现无表间联系的情况,具体看需求
0 请登录后投票
   发表时间:2011-04-10  
xsnxj 写道
表间有联系可以防止出错和乱引用(开发人员),表间无联系可以随意修改和执行具体没有定义哪种的好坏,一般是系统设计员制作的会带上表间联系,相反是临时应用就会出现无表间联系的情况,具体看需求

表有fk的关联,也就有了约束,
优点,数据的一致性,
缺点,插入删除、备份迁移的问题,性能,等等

数据的一致性一般都是要保证的,不用库的关系的话,需要程序里自己去保证。
这个跟 identity字段有点类似,数据库支持identity/increment或者sequence,
再或者不用数据库的,自己写个identity的机制。

1 请登录后投票
   发表时间:2011-04-11   最后修改:2011-04-11
关系应该是有的,在开发时有.应该是说产品发布时为了性能我稳定运行,去掉也关联.你反向时自然看不到.
0 请登录后投票
   发表时间:2011-04-11  
数据一致性,简便
性能,简便
0 请登录后投票
   发表时间:2011-04-11  
外键需要数据库耗费资源来维护的,影响sql的性能

如果我能在程序中保证数据库不会出现数据不一致,我也不会使用外键
0 请登录后投票
   发表时间:2011-04-11  
不用外键好多年了
0 请登录后投票
   发表时间:2011-04-11  
别说网站,金X的企业应用也没有外键。
0 请登录后投票
   发表时间:2011-04-12  
学习时候还用用,现在做的系统,从来不用外键。
0 请登录后投票
   发表时间:2011-04-12  
我们都不用我键。不用更健康~
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics