• 締切済み

テーブル設計について(Access2003)

製品の在庫管理のデータベースを考えております。 [製品]テーブルと[材料]テーブルがあり構成は 次のようになっております。 この場合のそれぞれのテーブルの設計はどのよう にしたらよろしいでしょうか? 製品A   材料A   材料B   材料C 製品B   材料C   材料D 製品C   材料B   材料D

みんなの回答

  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.2

>[在庫リスト]と[材料]はどのようにつなげばいいのでしょうか? ただつなぐだけなら構成テーブル経由でつなげばいいと思いますが >製品の在庫管理のデータベースを考えております。 テーブル設計に対するお尋ねだったので「正規化」ということを意識して「一般的な」回答を示したのですが

  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.1

どのような「在庫管理」を考えておられるのか解りませんが 製品在庫の管理に材料が必要ということは製品になっていなくても材料があれば 「仕掛品在庫?」みたいな数量を管理するのかな 今の表だけならば次の3つの表になるでしょう。 製品テーブル 製品コード、名称、..... 材料テーブル 材料コード、材料名、仕入先、仕入単価、..... 構成材料テーブル(この名称は?) 製品コード、連番、材料コード、....

ex_200909
質問者

お礼

ご回答ありがとうございます。 下の(元のテーブル構成)のような感じでしょうか? 別に[在庫リスト]テーブルいうのがあったとしてそこに リストID,製品ID,製品個数 L01,P01,12個 L02,P02,10個 L03,P03,15個 という風にあった場合、 [在庫リスト]と[材料]はどのようにつなげばいいのでしょうか? よろしくお願いいたします。 -------------元のテーブル構成------------- [製品]テーブル 製品ID,名前 P01,製品01 P02,製品02 P03,製品03 [材料]テーブル 材料ID,名前 M01,材料01 M02,材料02 M03,材料03 M04,材料04 [構成]テーブル ID,製品ID,材料ID C01,P01,M01  = (製品01,材料01) C02,P01,M02  = (製品01,材料02) C03,P01,M03  = (製品01,材料03) C04,P02,M03  = (製品02,材料03) C05,P02,M04  = (製品02,材料04) C06,P03,M02  = (製品03,材料02) C07,P03,M04  = (製品03,材料04) ------------------------------------------

関連するQ&A

  • accessのテーブル設計について

    超初心者で、超初歩的な質問になりますので優しく教えてください・・・ accessのテーブル設計について教えてください。 Excelで管理していた社員台帳が退職者含めると500人ほどに増えてきたので、社員の管理ソフトを作るように言われ必死でaccessを勉強し頑張っているところです。 そして、もともとのマスタなどはエクセルから拾っているのですがどうしてもそのまま入れることができないようなものが出てきています。 それが住所歴や昇給歴などのその個人によって複数あったりなかったりするものです。 Excel管理だったので 社員CD  氏名  昇給日   基本給    年齢給 123    A   2018/10/1 350000   50000          2018/4/1  355000    52000 124    B   2018/10/1 360000   65000          2018/4/1  355000    52000 ・ ・ ・ のようにずらーっと並んでいます。 この時、テーブルの設計はどのようにしたらいいでしょうか? 社員CDと氏名のテーブルを作成するのはわかるのですが、昇給額のようなものはどのようにテーブルを作り、どのように他のテーブルとつなげていいのかわかりません・・・ どなたかお力を貸して下さるとうれしいです。  

  • accessで二つの条件が一致するものを

    accessで二つの条件が一致するものを アクセスで原材料管理を行っていて 以下の二つのテーブルがあります 日別使用原材料テーブル 日付 製品コード 材料コード 2/1 A A-1 2/1 A A-2 2/1 B A-1 2/2 C B-2 2/2 A A-1 2/3 D C-3 日別不足材料テーブル 日付 材料コード 不足材料 2/1 A-1 10 2/1 A-1 2 2/2 A-1 5 2/2 B-2 1 この二つのテーブルがありこの二つのテーブルを一つにまとめたいと思います 具体的には以下のテーブルを作りたいのです 日別製品別材料不足テーブル 日付 製品コード 材料コード 不足材料 2/1 A A-1 10 2/1 B A-1 2 2/2 A A-1 5 2/2 C B-2 1 日付毎に 足りない分だけの材料を製品毎に表示させたいのですが 日別の製品別に足りない材料を結合する方法がわからないので よろしくお願いいたします。

  • ACCESS2000 テーブルを分けてアンケートを集計するには?

    いつもお世話になっております。 WINXPでACCESS2000SR-1を使用し、 現在、アンケートを集計するデータベースを作成しています。 アンケート項目(フィールド)は、255近くあるので テーブルを何種類かに分けてデータベースを作ろうと思います。 例えば Aテーブルには「名前」 B,C,Dテーブルにはアンケートの回答を入れようと思います。 この場合、Aのレコードに対してB,C,Dのレコードを関連付けるにはどうしたらよいですか? また、クエリーでテーブルを合体すれば良いのですが フィールド数が多いためダメです。 宜しくお願い致します。

  • データベースのテーブル設計について

    データベースのテーブル設計で、数項目のみのデータをひとつのテーブルにしていますでしょうか? すべてデータベース内で管理するという一貫性はあると思うのですが、たかだか数項目なのでどうかなとも思ってしまいます。 かといって、数項目のみのデータをプログラム内(たとえば構造体)で管理するというのも、管理が必要な要素が散らばるし、再コンパイルも必要になってきます。 このあたりどのようにすればよいのかなといつも判断に悩んでいます。 みなさんはどのように判断、設計していますでしょうか?ご意見お教えください。

  • Access テーブル設計お願いします

    架空のコンピュータ保守会社のデータベースを作るように課題を出されたのですが テーブル設計をどう作れば良いのか分かりません。 契約している顧客から出張作業を行うような会社のリレーショナル型データベースの管理システムを作りたいと思っています。 主に点検、修理、整備、移設・・・などの作業をしていく形で 訪問、保守履歴を記録できるようにし、契約者の検索や、請求書発行、作業予定表の表示などができるようにしたいです。 どのようなテーブルが必要になってくるのか教えてください。 具体的に○○表(○○○、○○○、○○○、○○○)という形でお願いします。

  • Access テーブル設計

    課題で架空のコンピュータ保守会社のデータベースを作るように課題を出されたのですが テーブル設計をどう作れば良いのか分かりません。 契約している顧客から出張作業を行うような会社のリレーショナル型データベースの管理システムを作りたいと思っています。 主に点検、修理、整備、移設・・・などの作業をしていく形で 訪問、保守履歴を記録できるようにし、契約者の検索や、請求書発行、作業予定表の表示などができるようにしたいです。 どのようなテーブルが必要になってくるのか教えてください。 契約表(契約番号、顧客番号、社員番号、・・・・・・・・) というような形で必要なテーブルを応えていただけると助かります。

  • テーブルの作り方について

    はじめまして。 SQLは初心者なんですが、テーブル構成の仕方について質問です。 ある場面で使用するのは、A,B,C,D,Eというデータで、 別のある場面で使用するのは、A,B,F,G,Hという場合にはテーブル(A,B,C,D,E,F,G,H)を作って1つのテーブルにするのはいいのでしょうか?悪いのでしょうか? メンテナンスや、大量のデータ取得などをするのにこの構成が適しているのかどうかがわかりません。 別々に作るのと、まとめて作ることそれぞれの メリット、デメリットがあったら教えてください。

  • ACCESSのテーブルの合体

    表題の通りです。 2つのテーブルを1つにまとめたいのですが、クエリーはどのようにすればよろしいでしょうか。 テーブル1・・・A,B,C テーブル2・・・D,E 合体テーブル・・・A,B,C,D,E ←これを作りたい! よろしくお願いします。

  • ACCESSのテーブル設計

    いつもお世話になっています。わかりにくい内容かと思いますがよろしくお願いします。 (1)入庫した情報を設備から適時まとまった形でcsvファイルをACCESSのテーブルにするため取り込んでいます。 日付,箱番号,製品名 20110303,A001,PPP 20110303,A001,PPP 20110303,A001,QQQ 20110303,A001,GGG 20110303,A002,PPP 20110304,A001,PPP のようなcsvです 条件として箱は1日1回しか使わない事いません。箱の中に色々な製品が入っていると思ってください。 (2)出庫するときは、箱番号と出庫日しか情報がない場合 出庫した実績をテーブルに反映させ 日付,箱番号,製品名,出荷日 20110303,A001,PPP,20110304 の様な感じにしてデータベースとしたいのですが、日付も箱番号も重複するためうまく考えられません わかりにくい質問とは思いますがよろしくお願いします。 

  • データベースの設計方法について

     全くの初心者で、いろいろな書籍を参考に販売・在庫管理データベースをつくりたいと勉強しています。  環境はMicrosoft SQL Server 2008 R2 EE をサーバーにインストールして、別のクライアントパソコンから SQL Server Management Studio でデータを作成しています。  データベースとは閉じた空間で、1つのデータベース内で必要なテーブルを全て用意するものと思っていました(参考にした書籍もそうなっていました)。  しかし、ネットでいろいろ調べるとインスタンス内に複数のデータベースを作成し、それらデータベース内のテーブルは相互接続可能出来るみたいでした。  となると、データベースを設計する際 <販売管理データベース>  ・顧客情報テーブル  ・商品情報テーブル  ・在庫テーブル  ・単価テーブル  ・請求データテーブル  ・伝票テーブル  ・etc.  と1つのデータベースに全てのテーブルを用意する設計では無く <販売管理データベース>  ・伝票テーブル  ・請求データ  ・etc. <顧客情報データベース>  ・顧客情報テーブル  ・単価テーブル  ・etc. <商品情報データベース>  ・商品情報テーブル  ・在庫テーブル  ・etc.  みたいに、機能ごとにデータベースを分けて、インスタンス単位で1機能(もしくは複数機能の実装)の設計でも良いのでしょうか?  プログラム言語の、プロジェクト=インスタンス、クラス=データベースみたいな考え方が出来ればと思っています。  この方法が正しいのか誤りなのか、そもそも理解に誤りがあるのか全く見当が付きません。  一般的にはどのようにするものなのでしょうか?