Microsoft Access 掲示板

参照整合性(相互?)

3 コメント
views
4 フォロー

お世話になります。

テーブル"T_商品"は、製品、原料、資材などをすべて入れています。
フィールド[商品ID]、[パッケージID]…
このパッケージIDは、製品の場合に荷姿コードが入ります。

また"T_パッケージ"では、荷姿に必要な資材が組み込まれていて
フィールド[パッケージID]、[使用資材ID_A]、[使用資材ID_B]…
です。

T_パッケージ側が親となり、パッケージID同士で参照整合を取りつつ、
T_商品側が親となり、使用資材IDと商品IDでリレーションをつけ参照整合を取ることは、
無理でしょうか。

テーブル構造から変更したほうが良いのかもしれませんが、どうしたらよいのかわかりません。

nokonoko
作成: 2020/12/23 (水) 15:53:24
最終更新: 2020/12/23 (水) 15:55:03
通報 ...
1

これだけの情報では回答するのは難しいですね。
現状のテーブルと、そのデータ例を提示して、具体例で説明してもらえると回答できるかも知れません。

2
nokonoko 2020/12/24 (木) 09:44:11 653a6@54883

[T_商品]

商品ID(キー)属性IDパッケージID商品名
1  1商品2リンゴジャム
21商品1  小女子の佃煮
33資材Null丸瓶(短)
43資材Null丸瓶(中)
53資材Null丸瓶(蓋)
62原料Null砂糖

[T_パッケージ]

パッケージID(キー)パッケージ名資材ID1資材ID2
1  丸瓶(短セット)35
2丸瓶(中セット)4  5

-

T_商品テーブルという、ごちゃまぜのテーブルを作ってほうが
データ入力時にすべて同じテーブルを呼び出すだけで簡単かと思ったのですが、
属性ごとに別のテーブルを用意したほうが今になってよかったのかと思っています。

3
nokonoko 2020/12/24 (木) 10:35:02 653a6@54883

最初はこんな感じでした。
[T_商品]

商品ID(キー)属性ID商品名
1  1商品45リンゴジャム
21商品3 5小女子の佃煮
33資材NullNull 丸瓶(短)
43資材NullNull丸瓶(中)
53資材NullNull丸瓶(蓋)
62原料NullNull砂糖

参照整合や連鎖更新をあきらめれば、機能します。
テーブルを分割して運用する方法がイメージがつかないです。