SQL


結合について(1)


1.
テーブルの結合
以前、正規化(わからない場合は以前のページ参照してください^^;;)でテーブルを小さくしたら、 各テーブルを結び付けていく作業が必要になってきます。
この各テーブルを結びつけていくことを「結合」または「ジョイン(join)」といいます。

テーブルの結合とは、必要なデータを表示・処理するために 関連(Relationship)した要素(キー:Key)で紐付けられた各テーブルを連結することです。

この結合はRDB(Relational Database)での特徴となる使われ方でRDBといわれるゆえんになっています。 (何気なく書いてますが名前のもとになっているのでとっても重要な箇所です。^^;)

具体的には、「主キー(PrimaryKey:プライマリーキー)」と呼ばれる重複のないデータと、 この主キーと同じデータを持っているカラムのデータを関連付けて結合を行います。

この主キーでないほうのデータを「外部キー(ForeignKey)」といいます。また、この外部キーは値が重複していてもかまいません。

外部キーは通常「参照整合性」をサポートしています。
(サポートしていないデータベースもあります。^^;;)
「参照整合性」を簡単に説明します。
(説明だけで長くなるしここは結合の話だから・・・・言い訳です^^;)

「参照整合性」とは、制限のことであり主キーと外部キーで整合性の原則を守らせるためである。
言い換えれば、データベースに入力できる値を制限することです。
(例:主キーに存在しない値を入力を設定できないなど)

種類 説明
内部結合 左右両方でマッチしたものを結合する
外部結合
  左辺外部結合
  右辺外部結合
  完全辺外部結合

  左の全行を表示
  右の全行を表示
  左右の全行を表示
和結合 2つのテーブルをマージする
自己結合 1つのテーブル内で結合をおこなう
交差結合 すべての組み合わせを行う結合
では、次回からは各結合の種類を説明していきます。