关于数据库设计中的一些问题(譬如外键)

goldg 2001-08-08 02:40:52
在数据库设计过程中,一般使用外键约束来规范数据。但在实际的项目中,我却经常碰见因为用户不规范的业务导致后期修改数据库,也碰见过因为不规范的数据库结构导致数据混乱。在一些书上谈到使用外键约束来规范数据的好处,也有一些资料上却专门指出要慎用外键。请各位大哥大姐谈谈自己的理解,在实际的设计过程如何把握这个度?谢谢!
...全文
163 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzslx 2001-08-08
  • 打赏
  • 举报
回复
up
goldg 2001-08-08
  • 打赏
  • 举报
回复
刚才一口气看完了am2000(最后一滴水)以前的帖子,很精彩。这样的问题大家都讨论过,看来我的参与程度很不够。
不过对于这个问题,我还是偏向于使用外键,前提应该是不会影响客户特殊性业务的实现,至于麻烦和效率,我觉得相对于数据混乱来说,应该还好说一些。效率不高还可以通过升级硬件解决.
qiuwuhen 2001-08-08
  • 打赏
  • 举报
回复
我的习惯,很少用。
glongjun 2001-08-08
  • 打赏
  • 举报
回复
个人意见:外键不可不用,但考虑到扩展性和实际应用时用户层出不穷的要求,一定要少用
老吴子 2001-08-08
  • 打赏
  • 举报
回复
在数据库的逻辑设计阶段,严格按照规范设计;在物理设计阶段一般情况下不需要建立外键,原因如下:参照一致性约束(外键)的灵活性太差;在频繁更新的数据表上更不可建立外键;
实际上,很多参照一致性约束在前台应用中已经保证;在确实需要的地方通过触发器来保证。实际上绝大多数的应用系统并不按逻辑设计建立参照一致性约束,而是通过前台应用程序来保证。
am2000 2001-08-08
  • 打赏
  • 举报
回复
http://www.csdn.net/expert/topic/175/175062.shtm
goldg 2001-08-08
  • 打赏
  • 举报
回复
大家再谈谈自己的看法好吗?
goldg 2001-08-08
  • 打赏
  • 举报
回复
数据量的大小的确是个原因,一个数据量很大系统,太多的数据校验会导致性能低下。
我考虑过这样的方法,不知如何:基础数据之间使用外键,基础数据和业务数据之间不使用。
规范性和灵活性本身就是一对矛盾体,实际使用中却感觉很迷茫。
caolei1974 2001-08-08
  • 打赏
  • 举报
回复
我的意见是不用外键,因为外键很讨厌的,建议用trigger
pbsql 2001-08-08
  • 打赏
  • 举报
回复
主要受限于数据库量大小!

我的意见是要用外键作数据库约束,仅供参考。

另外,以前讨论过,你查一查看。

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧