实施数据库约束

时间:2019-09-01 13:50:37

标签: database-design

下面是有问题的数据库摘录。我需要强制执行ParamInstance不能从不同于该DomainParam所属的DomainInstance的DomainType链接到ParameterInstance。如何实现?

enter image description here

1 个答案:

答案 0 :(得分:0)

ParamInstance上添加一列,称为domainType

然后替换外键:

ALTER TABLE ParamInstance
  ADD FOREIGN KEY (member, domainType) REFERENCES DomainParam (id, domain),
  ADD FOREIGN KEY (dmoain, domainType) REFERENCES DomainInstance (id, type);

首先必须在那些引用的表中创建新的UNIQUE KEY:

ALTER TABLE DomainParam ADD UNIQUE KEY (id, domain);

ALTER TABLE DomainInstance ADD UNIQUE KEY (id, type);