第二章 外键定义
描述外键定义的结构。
介绍
外键定义了引用完整性约束。修改包含外键约束的表时,将检查外键约束。
可以将外键定义添加到持久类中。它们在其他种类中没有意义。
请注意,还可以通过定义连接类的关系属性来强制引用完整性。
详细
外键定义具有以下结构:
/// description
ForeignKey name(key_props) References referenced_class(ref_index) [ keyword_list ];
description
描述(可选)旨在显示在“类参考”中。默认情况下,描述为空白。name
(必需)是外键的名称。这必须是有效的类成员名称,并且不能与任何其他类成员名称冲突。key_props
(必需)指定受该外键约束的一个或多个属性。具体来说,该属性必须与外部表中的引用值匹配。
这是一个逗号分隔的属性名称列表。
这些属性必须在定义外键的同一类中。
referenced_class
(必需)指定外键表(即外键指向的类)。ref_index
(可选)指定referenced_class
中的唯一索引名称。
如果省略ref_props
,则系统使用referenced_class
中的IDKEY
索引。
keyword_list
(可选)是以逗号分隔的关键字列表,用于进一步定义外键。
如果省略此列表,也要省略方括号。
ForeignKey EmpKey(EmpId) References MyApp.Employee(EmpID) [ OnDelete = cascade ];