数据库表与表之间是加外键关联好呢还是不加好??
smallmonkeandyjj
2010-04-22
在做项目的时候,经常要建很多的表,,有时候就要用到外键关联,用的时候就方便,但是有时候要改动表就很麻烦,,因为有了外键就不可以随便动表了。。
到底是建外键好呢,还是不建好?? |
|
lucky16
2010-04-22
当然是在不需要建的时候最好不要外键咯,如果必须要建外键,那就没有办法了!
话说回来,建外键后,改动数据确实挺麻烦的! |
|
taotao1900
2010-04-22
恩 是的 用的好的话省事,用的不好的话 呵呵 整自己
|
|
yunj
2010-06-09
数据库的3个还是5个范式,有时候也得破坏。为了提高效率,有时候必须让数据冗余些
|
|
s-s-h
2010-07-10
这真是个问题,不过如果把表表之间错综复杂的关系都弄得清清楚楚的话,问题可以迎刃而解的
|
|
chenxiang105
2010-08-12
当然不要建外键..
所有关联多张表的操作,都放在一个事务中(这是必须的),保证数据完整.这样效率较高. 任何这样的操作都要清楚表的管理。。没有外键却要在业务中铭记主外键的存在! |
|
blogzhoubo
2010-10-19
这个要看业务需要,如果业务上必须要保证数据的完整性和一致性,那么就必须使用外键。如果不需要的话,建了就是画蛇添足了。
至于改动表时很麻烦的问题,其实也可以解决。可以先把外键约束disable掉,然后进行表的改动操作,操作完了再enable回来就可以了。 alter table tt disable constraint pk_tt; alter table tt enable constraint pk_tt; |
|
香飘飘2011
2011-08-17
我觉得还是不要弄外键的好,做项目时用户的需求是不断的,因此表的改动也是挺频繁的,只要自己将整个业务的逻辑思维理清了,将关联到多张表的操作放在一个事务中去处理,效率还更高些。
|