none
テーブルの関係を、一対多にするには RRS feed

  • 質問

  • SQLを使い始めたばかりなので、噛み砕いて説明していただけると助かります。

     

    AテーブルとBテーブルがあり、互いの関係を一対多にしたいと思います。

    ビューの表示でリレーショナルを組もうとしています。

    各テーブルは、列の定義をしてあるだけで他は何もしていません。

    http://msdn.microsoft.com/ja-jp/library/ms177492.aspx このページを読んでみましたが

    意味不明でついて行けませんでした。 (ToT;)

    参考になりそうなページなどがありましたら、教えて頂けないでしょうか。

     

    2011年3月4日 9:53

回答

  • いろんな方法がありますが、一般的には上記資料に出てきたように、以下の感じになります。

    上記に載っていた例
    仕入れ先(1)----商品(n)

    [仕入れ先テーブル]
    仕入れ先コード(PK)
    (以下仕入れ先の情報)

    [商品テーブル]
    商品コード(PK)
    仕入れ先コード(FK)←いわゆる外部キー(多側に1の主キーが入る)
    (以下、商品の情報)。

    要は、たくさんある方に被参照側のキーを追加して参照関係を作ります。

    ツールの操作方法は、非参照側の列を参照側の列にドラッグアンドドロップして、被参照側を主キーに、参照側が外部キーになっていることを確認して外部参照を作ってください。するとアイコンが1対多の線が作られます。

    ↑上記のようなことを質問なさっていますでしょうか? 「結合方法」とは具体的に何を指していますか?

    テーブル設計として一対多を作りたいということですか?それとも外部結合を聞いていらっしゃいますか?

     

    • 回答としてマーク taokato 2011年3月31日 5:26
    2011年3月7日 4:28

  • 上記の例ですと、商品テーブルの仕入れ先コード列をドラッグして仕入れ先テーブルの仕入れ先コードにドロップしてください。

    • 回答としてマーク taokato 2011年3月31日 5:26
    2011年3月7日 10:54

すべての返信

  • 同じような考え方をするAccessの資料などはいかがでしょうか。

    「データベース設計の基本 - Access - Microsoft Office」
    http://office.microsoft.com/ja-jp/access-help/HA001224247.aspx

    2011年3月4日 10:32
  • とても参考になりました。

    処で、肝心のSQL Serverで一対多のテーブル結合方法を、

    どの様にしたら出来ますか?

     

    2011年3月7日 3:51
  • いろんな方法がありますが、一般的には上記資料に出てきたように、以下の感じになります。

    上記に載っていた例
    仕入れ先(1)----商品(n)

    [仕入れ先テーブル]
    仕入れ先コード(PK)
    (以下仕入れ先の情報)

    [商品テーブル]
    商品コード(PK)
    仕入れ先コード(FK)←いわゆる外部キー(多側に1の主キーが入る)
    (以下、商品の情報)。

    要は、たくさんある方に被参照側のキーを追加して参照関係を作ります。

    ツールの操作方法は、非参照側の列を参照側の列にドラッグアンドドロップして、被参照側を主キーに、参照側が外部キーになっていることを確認して外部参照を作ってください。するとアイコンが1対多の線が作られます。

    ↑上記のようなことを質問なさっていますでしょうか? 「結合方法」とは具体的に何を指していますか?

    テーブル設計として一対多を作りたいということですか?それとも外部結合を聞いていらっしゃいますか?

     

    • 回答としてマーク taokato 2011年3月31日 5:26
    2011年3月7日 4:28

  • 上記の例ですと、商品テーブルの仕入れ先コード列をドラッグして仕入れ先テーブルの仕入れ先コードにドロップしてください。

    • 回答としてマーク taokato 2011年3月31日 5:26
    2011年3月7日 10:54