非複製を2つのフィールドに基づくテーブル定義を作成する方法はありますか?
これにより、gid、cid、priceの3つの列があります
基準:
cid
1対1しか存在できませんgid
- 複数のが存在し、基準1に違反しない
cid
限り、複数のが存在する可能性があります。gid
可能であれば、基本的にテーブルデザインに制限を設けたいと思います。その可能性がちょうど私が尋ねるだろうと思ったかどうかわからない。
編集(2010-08-27 11:18 am CST)
少し説明します。2つのインデックスもあります。1つgid
はオンで、もう1つはオンcid
です。2つのインデックスで一意性を判断できますか?描画された2つのテーブルは1対多の関係にあるため、対応するテーブルがそのIDに固有である限り、テーブルは基本的に結合テーブルです。
テーブル/インデックス宣言:
- gid {Numeric:Long}(Primary:No、Unique:No、Ignore Nulls:No)[FK]
- cid {Numeric:Long}(Primary:No、Unique:No、Ignore Nulls:No)[FK]
- 価格{数値:単一}
使用法:
- cid1-多くのgid
- cidはtblCatから派生しています(PKとして)
- gid1-多くのcid
- gidはtblGrpから派生しています(PKとして)