外键

阅读(63) 标签: 外键, 关联,

在元数据中可以自定义外键。与数据库中的概念相似,DQL中,表的外键字段指向另一张表主键,从而产生关联。

Foreign key name外键的名称可以直接编辑,设定时不允许与本表的其它外键名称相同,否则引用外键时会产生错误;如果当前外键是由单外键字段组成的,那么外键名称通常可以不使用,而是用外键字段来代替;如果当前外键是由多个外键字段组合成的,那么在引用外键指向表的字段时,只能使用Foreign key name,如上图中fk1fk2fk3均为外键名称,选中外键的外键名称是fk2

Referenced table name外键所指向的表名,当指向表的主键唯一且非外键时,那么这个表称为维表,简称如上图所示的维是:Product

Referenced field外键指向表的主键,如上图所示的引用字段是:ProductID,即ProductIDProduct表的主键。

Foreign key filed当前表的字段,和引用字段一一对应,如上图中所示Inventory表的外键字段是:ProductID

 

DQL中,外键字段和维字段的地位是完全一样的,可以把外键字段看成维字段

任何表的主键都可以视为维字段。如果某个表的主键是外键,那么这个主键的维即为外键指向的维;如果主键并非外键,那么这个主键的维就是它本身。对于非主键的字段,只有当它是外键时才是维字段,字段的维即为外键指向的维。

举例:

 

根据上图所示,ReturnedPmt表中的CustomerID字段指向Customer表的CustID字段,ReturnedPmt表与Customer表之间的数据关系为多对一的关系,其中的相关概念描述如下:

外键字段:ReturnedPmt表的CustomerID字段

维表:Customer

引用字段:Customer表的主键CustID字段

 

DQL的时候,可以像引用属性一样引用外键表的字段,比如:SELECT CustomerID.CustName,Date,Amount FROM ReturnedPmt,这里CustomerID.CustName引用的是CustomerID指向的Customer表的CustName字段。

 

知识点:

1) 对于单一字段形成的外键,在使用DQL时,可以用外键字段.外键表的字段名的方式来直接使用。

2) 对于多字段组成的外键,在使用DQL时,可以用外键名称.外键表的字段名的方式来直接使用。

3) 使用外键名称.外键表的字段名方式引用,既可用于多字段组成的外键,也可用于单一字段形成的外键情况。