Gig*_*aPr 9 sql oracle
我对FOREIGN KEY和CHECK约束之间的区别感到很困惑 - 在我看来它们实现了相同的结果.
我的意思是我可以创建一个表并在另一个表上强制执行外键,但我可以创建一个CHECK来确保另一个表中的值.
有什么区别以及何时使用这一个或另一个?
Adr*_*der 7
FOREIGN KEY约束确保条目已存在
编辑 另一张桌子
根据正确的评论存在于另一个表...或同一个表中. - 马克拜尔斯
CHECK约束确保条目遵循某些规则.
检查约束
CHECK约束通过限制列接受的值来强制域完整性.它们类似于FOREIGN KEY约束,因为它们控制放入列中的值.区别在于它们如何确定哪些值有效:FOREIGN KEY约束从另一个表获取有效值的列表,而CHECK约束从不基于另一列中的数据的逻辑表达式确定有效值.
归档时间:
15 年,11 月 前
查看次数:
3633 次
最近记录:
7 年,9 月 前