什么是外键表 是不是在该表中设置了外健.就是外健表啊?
解决方案 »
- 初学sql 问一个简单的存储过程
- 我写了一个很简单的存储过程,可是却产生了5个锁!我觉得这种情况下不应该产生锁的。谁能帮我解释一下产生这几个锁的原因?希望能够提出去掉产生这几个锁的解决方案,谢谢!
- SQL Server备份数据库时的压缩比能达多少?
- 各位大侠帮帮我搞定,为什么还原不了数据库啊?
- 如何创建这样的表格?
- 会写触发器的高手,帮我看看,谢谢
- sql server 2000 服务器管理,怎么老是为停止状态?
- 在SQLServer中怎样才能得到和Oracle自带的序列号功能一样的标号!
- 關于SQL2000的問題
- 各位大虾,怎么用SQL SERVER2000写一个这样的存储过程
- 存储过程的一个简单的问题
- 数据库脚本
尽管 FOREIGN KEY 约束的主要目的是控制存储在外键表中的数据,但它还可以控制对主键表中数据的修改。例如,如果在 publishers 表中删除一个出版商,而这个出版商的 ID 在 titles 表中记录书的信息时使用了,则这两个表之间关联的完整性将被破坏,titles 表中该出版商的书籍因为与 publishers 表中的数据没有链接而变得孤立了。FOREIGN KEY 约束防止这种情况的发生。如果主键表中数据的更改使之与外键表中数据的链接失效,则这种更改是不能实现的,从而确保了引用完整性。如果试图删除主键表中的行或更改主键值,而该主键值与另一个表的 FOREIGN KEY 约束值相关,则该操作不可实现。若要成功更改或删除 FOREIGN KEY 约束的行,可以先在外键表中删除外键数据或更改外键数据,然后将外键链接到不同的主键数据上去。FOREIGN KEY 约束是索引的候选约束,其原因有以下两点: 对 PRIMARY KEY 约束的更改可由相关表中的 FOREIGN KEY 约束校验。
当在查询中组合来自相关表中的数据时,经常在联接条件中使用外键列,方法是将一个表的 FOREIGN KEY 约束中的列与另一个表中的主键列或唯一键列匹配。索引使 Microsoft® SQL Server™ 2000 得以快速查找外键表中的相关数据。但是,创建索引不是必需的。即使没有在表间定义 PRIMARY KEY 或 FOREIGN KEY 约束,也可以对来自两个相关表中的数据进行组合,但两个表间的外键关系说明已用其键作为条件对其进行了优化,以便组合到查询中。