编程论坛
注册
登录
编程论坛
→
SQL Server论坛
请教一下有关外键设置的问题
lyjf110
发布于 2009-10-29 12:30, 1797 次点击
在外键的设置中,在数据表的属性对话框中的关系选项卡中点击“新建”后,在下面的“主键表”和“外键表”中的下拉列表中的选项分别是什么意思啊,上课的时候没认真听啊,现在搞不懂了,唉!请高手帮帮忙啊!
3 回复
#2
gdy0349
2009-10-29 13:38
要想认识主外键
首先区别主表和从表
(1) 主表是引用的表
(2)从表是被引用的表
这两个表是有关系的,要想确定他们的关系就会有主从表的关系,那么外键主要的作用是强调节器引用完整性规则
外键:是相对主表而言的,主表的外键是从表的主键名者是候选键
#3
gdy0349
2009-10-29 13:43
1.主键(PRIMARY KEY)约束
一个表通常可以通过一列和多列组合的数据来唯一标识表中的每一列,这些列和列组合
就被称为表上的主键,它可以用来强制实体完整性。
当一个表指定了PRIMARY KEY约束时,SQL SERVER通过为主键列上建立唯一索引来强制
数据的唯一性。唯一性索引在主键被用于查询时可以对数据进行快速访问。
2.外键(FOREIGN KEY)约束
外键也是由一列或多列构成的,它用来建立和强制两个表间的关联。这种关联是通过将
一个表中的组成主键的列或组合列加入到另一个表中形成的,这个列或组合列就成了第二
个表中的外键。
一个FOREIGN KEY约束并不一定要求必须与另一个表上的PRIMARY KEY约束相关联,它还
可以被定义为对另一个列中的UNIQUE约束的一个引用。FOREIGN KEY约束可以允许空值,但
是形成外键的列或组合列中出现空值时将跳过对FOREIGN KEY约束的验证。当向表中添加新
数据行或修改已有的数据行时,在外键中的定义的列或组合列必须在其他表的主键中存在或
是为空,否则将会出错。
注意:FOREIGN KEY约束可以对同一个数据库中的其他表上的列或组合列进行引用,也可以
是对自身表中其他列或组合列的引用(自引用表)
尽管外键的主要作用是用来限制可以输入到外键表中的数据,但是还可以限制对主键表中
数据的修改。
FOREIGN KEY约束也可以被用作索引,这是因为:
1.对FOREIGN KEY约束的修改或被在其他表中的FOREIGN KEY约束所检查
2.外键列或组合列也常常被用于查询中,对于在具有FOREIGN KEY约束的表和其他有主键或
唯一键的表间进行查询时,可以在连接准则中使用外键列或组合列。索引允许SQL SERVER在
外键中进行快速查找。但是对这样的索引的创建并不是必需的。
#4
lyjf110
2009-10-29 16:41
如果要把一个表中的主键列加入到另一个表中作为外键,比如:把“表1”中的“S_number”列作加入到“表2”中作为外键,应该怎么设置呢?在“关系”选项卡中该怎么选择呢?
如果有个例子的话,更方便理解。
1