专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 高性能数据库开发

问个关于数据库设计的有关问题

发布时间:2010-05-24 21:19:04 文章来源:www.iduyao.cn 采编人员:星星草
问个关于数据库设计的问题
在数据库设计的时候 有主键外键的关联
可是我们实际做一些系统的时候 需要在数据库上设置外键吗?
比如 
表A 表B
ID NAME ID ID2 Level
1 A 1 1 20
2 B 2 1 23
  3 2 25
  4 2 20
表B的 ID2是 表A的ID的外键

有外键设置的话 表B现的 ID2 现在是不能输入 3的
表A 的 任何列现在都不能删了

可是这样 如果我要删除表A的 ID为2的列 就必须把表B中的ID2为2的列都删掉 要不就报错了

问题A:我们为什么要设置外键,我们在写系统的时候 删除表A的 ID为2的列时 多写一个 把表B中的ID2为2的列都删掉
的代码段不就可以了?那 弄个外键还有什么意义?
问题B:因为两张表的 ID字段都是自动增加的 所以应该也是不会重复
那么 如果我没设置外键 删除了表A的 ID为2的列 那么顶多就是表B中留了点 没用的数据罢了 
这些数据要删掉吗?为什么?

请用些实际点的例子说明一下
书本上的相当的难理解的说。。。。。。。

------解决方案--------------------
我一般不设置外键,维护比较麻烦
可以通过程序控制
要根据场合来,不能硬套
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: