社区
MS-SQL Server
帖子详情
外键约束到底有什么用啊?
bary
2006-10-20 10:30:42
在操作的时候,用join等不就可以把表的关系确定了吗?为什么要设置外键?
...全文
974
10
打赏
收藏
外键约束到底有什么用啊?
在操作的时候,用join等不就可以把表的关系确定了吗?为什么要设置外键?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
flyskylf
2006-10-22
打赏
举报
回复
保证数据完整性
中国风
2006-10-22
打赏
举报
回复
外键约束表的列的值
如:A表a列 外键为B表b列
A列a列新增值在B表b列中没有
就会报错
xiaoku
2006-10-21
打赏
举报
回复
就是说B依赖于A的某个键,那么必须是A中这列有某个字段,B才能添加这个字段,否则出错!
----
应该是这么说:
A中这列有某个记录,B才能添加记录
xyxfly
2006-10-21
打赏
举报
回复
那么必须是A中这列有某个字段,B才能添加这个字段,否则出错!对吧
是的
jwt1982
2006-10-21
打赏
举报
回复
字段名可以不同,但是内容,外键的数据必须属于主键的数据。
避免出现错误的关系连接。这个数据关系数据库的基础
bary
2006-10-20
打赏
举报
回复
就是说B依赖于A的某个键,那么必须是A中这列有某个字段,B才能添加这个字段,否则出错!对吧
xyxfly
2006-10-20
打赏
举报
回复
外鍵是保證數據的完整性和一致性,當A表和B表建立外鍵關係後,保存時一定要先保存B表或者是B表中的數據已經存在,然後才能保存A表中的數據,噹然在刪除的時候,一定僥先刪除A表中的數據,才能刪除B中數據
。。。。。。
自己再看看数据库相关书籍 :)
xyxfly
2006-10-20
打赏
举报
回复
外键是数据库一级的一个完整性约束,就是数据库基础理论书中所说的“参照完整性”的数据库实现方式。
lip009
2006-10-20
打赏
举报
回复
从表数据必须依赖主表的数据,也就是说从表中无法插入主表没有的主键值做为外键值的数据
marco08
2006-10-20
打赏
举报
回复
1
晕
数据库的外键
到底
能不能用?
我们在数据库库设计的时候,可能会使用到
外键约束
这个属性,它是从数据库的层面对表之间的关系进行了约束,但是如果使用不正确,就可能带来一些隐患,例如Oracle中,我们熟知的某些场景下,如果外键无索引,就可能导致锁表,进而影响性能,任何一个特性,都需要了解它相关的知识,不能以一概全,才可以充分发挥特性的作用。杨老师写的这篇文章《第05期:外键
到底
能不能用?》以MySQL的视角,介绍了外键设计的种种场景...
MySQL - 不使用
外键约束
的实操(二)
互联网开发中不用外键
到底
是个什么意思? 都说互联网开发尽量不用外键,那么这里的不用外键
到底
代表的啥意思呢? 1. 这里有一层意思很明确: 不用
外键约束
。比如删除一张表中的数据时,如果要级联删除另一张表中关联的数据,以往是由数据库来级联约束的,现在应该将其移到程序中由程序来保持数据的一致性。 2. 另外一层意思: 外键的定义就是在一个表中的字段是另外一张表中的主键。如果仅按照"不使用外...
java外码是什么_互联网开发中不用外键
到底
是个什么意思?
都说互联网开发尽量不用外键,那么这里的不用外键
到底
代表的啥意思呢?这里的外键指的数据库的
外键约束
。不用
外键约束
。比如删除一张表中的数据时,如果要级联删除另一张表中关联的数据,以往是由数据库来级联约束的,现在应该将其移到程序中由程序来保持数据的一致性。是的。外键这种约束关系不在由数据库帮你保持维护,由应用程序维护。外键的定义就是在一个表中的字段是另外一张表中的主键。如果仅按照"不使用外键"这几个字的...
第05期:外键
到底
能不能用?
这篇主要说明表属性 - 外键。 外键的设计初衷是为了在数据库端保证对逻辑上相关联的表数据在操作上的一致性与完整性。 外键在大部分企业写的开发规范里会**直接规避掉!**外键有优缺点,也并不是说每种场景都不适用,完全没有必要一刀切。外键
到底
能不能用?下面会针对不同的场景来告诉你答案。 一、外键的优缺点 优点: 精简关联数据,减少数据冗余 避免后期对大量冗余处理的额外运维操作。 降低应用代码复杂性,减少了额外的异常处理 相关数据管理全由数据库端处理。 增加文档的可读性 特别是在表设计开始,绘制..
MySQL数据库为什么不推荐使用
外键约束
?
阿里巴巴的Java开发手册中有这样一句话: 不得使用外键与级联,一切外键概念必须在应用层解决! 以student和grade的关系为例 ,student中的student_id是主键,成绩表中的student_id则为外键 ! 先了解一下什么叫级联更新和级联删除! 当在student表中要删除或者更新student_id=20的相关信息,马上在grade表中中查找是否有student_id=20这个记录,然后进行删除或更新,这就叫级联。 外...
MS-SQL Server
34,576
社区成员
254,587
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章