-1

私はproductテーブルを持っています:

ProdId(PK)
Prod1
Prod2
Prod3 
Prod4    

およびCertificationテーブル:

Certification(PK):
Cert1
Cert2
Cert3

次の関係(疑似テーブル)をモデル化するにはどうすればよいですか?

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"

上記の表のように、重複することはできませんProdwithCert6 - "Prod2 with Cert1, Cert2, Cert3"

4

2 に答える 2

1

これがスキーマです。

table product (id, name)
table certification (id, name)
table product_group (id, product_id)
table product_group_certification (id, product_group_id, certification_id)

さて、Prod2上記の例で を採用したとしましょう。このスキーマでは、次のようになります。

**product**
1, Prod2

**certification**
1, Cert1
2, Cert2
3, Cert3

**product_group**
1, 1  // Prod2 with Cert1, Cert2
2, 1  // Prod2 with Cert1, Cert2, Cert3

**product_group_certification**
1, 1, 1
2, 1, 2
3, 2, 1
4, 2, 2
5, 2, 3
于 2012-08-06T23:15:50.580 に答える
0

上記の「疑似可能」とは、説明されている表が単なる例示であるという意味ですか、それとも文字列「Prod1 with Cert1」、「Prod1 with Cert1、Cert2」などを格納する必要があるという意味ですか。前者の場合、私にとっての基本的な解決策は次のようになります。

ProdWithCertId (PK)    Prod (SK) Cert (SK)
1                      Prod1     Cert1
2                      Prod1     Cert2
3                      Prod1     Cert3
4                      Prod2     Cert1
5                      Prod2     Cert2
6                      Prod2     Cert3
于 2012-08-06T23:08:59.413 に答える