0

我有一张product桌子:

ProdId(PK)
Prod1
Prod2
Prod3 
Prod4    

Certification表:

Certification(PK):
Cert1
Cert2
Cert3

我需要对ProdwithCert关系(伪表)建模如下:

ProdwithCertId(PK)              ProdwithCert
ProdwithCert1                   "Prod1 with Cert1"
ProdwithCert2                   "Prod1 with Cert1, Cert2"
ProdwithCert3                   "Prod1 with Cert1, Cert2, Cert3"
ProdwithCert4                   "Prod2 with Cert1, Cert2"
ProdwithCert5                   "Prod2 with Cert1, Cert2, Cert3"

以下是约束:

  1. 不能有重复项,例如上表,ProdwithCert6 - "Prod2 with Cert1, Cert2, Cert3"是不允许的
  2. Product至少有一个Certification

如何ProdwithCert在 SQL Server 2005 中正确建模关系?

谢谢

4

1 回答 1

0

第一个要求可以通过在ProdwithCert上具有主键(或唯一索引)的表来满足(ProductId, CertId)

第二个要求不能使用键或检查约束来强制执行。我唯一能想到的就是通过存储过程引导所有修改。该程序可以在一次交易中添加带有证书的产品。

于 2012-08-05T06:10:34.827 回答