ACCESSで、データベースを構想、作成中なのですが・・・
初歩でつまづいております。 できますれば、ご教授お願いします。

 前説ですが、
まず複数の商品を、『商品ID』としてテーブル登録しています。

例:
『商品ID』
商品ID(主キー)/ 商品名 / 製造元 / 詳細(商品簡易識別)
0001 / ノートK1A4   / コ○ヨ / 文具01 
0002 / ホチキスK1   / コ○ヨ / 文具02
0003 / 水銀電池P2064A / パ○ソ / 電池02



上記の『商品ID』に付加して、
取扱いしている『(販売)部門』(文具・雑貨・書店・日用品等々)を登録したいと
考えているのですが、商品を取扱いする『部門』は1商品に対して複数になる場合があります。
また、増減するものですので、『商品ID』テーブルに登録しても、うまくいきません。

別テーブルにて『部門ID』というのを作成し、
『部門ID』
部門ID(主キー) / 部門名
部01 / 文具
部02 / 雑貨
部03 / 書店
部04 / 日用品



というものを作成してみたのですが、肝心の『商品ID』と
リンクするイメージが全く沸きません。(T。T)トホホ

各商品が登録増減する『部門』に対して、商品登録状況が
わかるような方法はどういった方法ものがあるのでしょうか?

イメージ的にはリレーションシップにて
部門ID
部門01
・・+商品0001
・・+商品0002
・・+商品0003

となるのでは?と思っているのですが。よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

取扱テーブルを作ったらどうでしょうか。



取扱いテーブル
商品ID | 部門ID
主キー (商品ID + 部門ID)
部01 | 0001
部02 | 0002
部03 | 0001
部03 | 0003

ではダメですか?
    • good
    • 0
この回答へのお礼

お返事おそくなり、申し訳ありません。イメージできなかった
取扱テーブルを作成して、連結することが出来ました。
ありがとうございます。

お礼日時:2009/05/25 23:21

肝心なポイント


商品:部門 の関係は1:n、n:1、n:n のどれでしょう?
関係が分からなくては設計できません。n:nの以外ではn側から
1側を参照するようにして、リレーションシップを構築できます。
n:nの場合、設計基準が間違っています。つまり、商品も部門も
マスタで、「取り扱い」という別の実運用データがあるということに
なります。こういうデータモデルが抜けているのです。目先を凌ぐ
ことは既に出ている回答で可能ですが、モデル化を正しく行い、
検討(できれば権威者に見てもらうと良い)したうえで、実現する
手順を守るべきかと思います。
    • good
    • 0
この回答へのお礼

アドバイスポイントありがとうございます。現時点で構想中なのは
質問時のとおりです。権威者?は「なんでもできるように」と
非常に大まかな回答なので、模索しながら作っているのが現状です。
この後にリンクしてくる、テーブルなども一応考察してはいます。
(動くとかどうかは、まだまだ、お先のお話で・・・)
よくよくチェックしようと思います。
とりあえずは、部門と商品の関連付けは、ご返事いただきました
回答にて解決できました。ありがとうございます。

お礼日時:2009/05/25 23:22

回答は既に出ているようなので、若干アドバイス



1.主キー
主キーは「データの二重登録を防ぐ」ために活用しましょう。「商品名」と「製造元」の用に二つ以上のフィールドにまたがって設定することもできます。誤った二重登録は判り難いバグの原因になったり、データの修正に苦労したりします。
2.リレーションキー
「商品ID」などを利用しましょう。オートナンバー(型)にしておけば、後はアクセスが面倒を見てくれます。主キーを使うのは避けた方がよいと考えています。例えば「部門名」を「取り扱いテーブルの」関係キーに使うと、部門名が変わったときに困ります。どうしても使いたい場合は「参照整合性制約」を取りましょう。
    • good
    • 0

脇から口出しすることをお許し下さい。

No1さんのおっしゃるように
取り扱いテーブルをつくります。ここで部門IDと商品識別名の関係を決めます。たとえば、次のように。
部01 ノート
部02 ほうき
部04 トイレットペーパー
部01 シャーペン
部03 週刊誌
部01 ホッチキス
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す


人気Q&Aランキング