数据库结构

问题描述

| 我有一个带有复合主键的表A,还有一个表B,在这里我需要将表A的列作为外键。我是否需要将表B中表A的两列都添加为外键? 请提出建议。     

解决方法

在表A中创建一个代理用作主键,并使用组合键列作为超键(在列上创建唯一的非空索引)。使表B中的外键引用代理列。     ,是的,您必须将表A中定义主键的所有列添加到表B中。     ,是的,您可以在表B中添加表A的两列,并且只能将表A的一列作为表B的外键,也可以将表A的两列都作为表B的外键。