欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

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

更新时间: 2014-01-05 02:31:11 责任编辑: Author_N1

 

问个关于数据库设计的问题
在数据库设计的时候 有主键外键的关联
可是我们实际做一些系统的时候 需要在数据库上设置外键吗?
比如 
表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中留了点 没用的数据罢了 
这些数据要删掉吗?为什么?

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

--参考方法--
我一般不设置外键,维护比较麻烦
可以通过程序控制
要根据场合来,不能硬套
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:31:11
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/10859/
本文WWW.DOC100.NET DOC100.NET版权所有。