我在表1中得到了这个复合主键:
Table 1: Applicant
CreationDate PK
FamilyId PK
MemberId PK
我需要在表2中创建一个外键来引用这个复合键。但我不想在表2中创建三个字段,而是将它们连接在一个字段中。
Table 2: Sales
SalesId int,
ApplicantId -- This should be "CreationDate-FamilyId-MemberId"
实现这一目标的可能方法有哪些?
注意:我知道我可以在表1中使用三列连接创建另一个字段但是我将有冗余信息
答案 0 :(得分:1)
你要求的是等于说#34;我想将三条信息视为一条信息,而不是明确地将其作为一条信息"。这就是说它不可能。
也就是说,有办法实现你想要发生的事情
在其他条件相同的情况下(易于实施,政治等),我更喜欢第一个。你所拥有的是一个自然的钥匙,如果要在外部引用,它就不会成为一个好的PK。并不是说你不能用唯一的密钥强制执行唯一性;你可以而且应该。