外键(由一个特定列或列组合构成)将一个表(外表)中的信息与另一个表(参照表或主表)中的信息进行关联。要使外键关系有效,外键中的条目必须与参照表中一行的主键值相对应。有时,可能会参照其它某个唯一的列组合,而不参照主键。
SQL Anywhere 示例数据库包含一个 Employees 表和一个 Departments 表。Employees 表的主键是雇员 ID,而 Departments 表的主键是部门 ID。在 Employees 表中,部门 ID 称作 Departments 表的外键,因为 Employees 表中的每个部门 ID 都严格对应于 Departments 表中的部门 ID。
外键关系是多对一关系。Employees 表中的几个条目都具有相同的部门 ID 条目,但部门 ID 是 Departments 表的主键,因此在 Departments 表中是唯一的。如果外键引用 Departments 表中包含重复条目或 NULL 值条目的列,则无法获知 Departments 表中的哪一行是适当的参照。这是一个强制外键。
假设数据库中还包含一个列出了办事处地点的办事处表。Employees 表中可能有一个办事处表的外键,显示雇员工作的办事处位于哪座城市。该数据库的设计人员可以选择在聘用雇员时不指派办事处地点,例如,因为尚未将新雇员分配到办事处,或者因为他们不在外面的办事处工作。在这种情况下,该外键可以允许空值,因此是可选外键。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |