技術要素 - 9.データベース - 3.データ操作 - 1.データベースの操作

Last Update : April 12 2018 09:41:09

     

a. データ操作
  • 追加
    実在表に行を追加する処理。
    複数の行を一度に追加することもできる。
  • 更新
    実在表に存在する行を更新する処理
  • 削除
    実在表に存在する行を削除する処理
  • 問い合わせ
    実在表から、条件にあった行を取り出す処理

b. 集合演算


2 つの表のどちらかにある行を取り出す。

表R
列A 列B
AAA 001
BBB 002

表S
列A 列B
AAA 001
CCC 003
DDD 004

表T
列A 列B
AAA 001
BBB 002
CCC 003
DDD 004


片方の表から別の表にある行を取り除く。

表R
列A 列B
AAA 001
BBB 002

表S
列A 列B
AAA 001
CCC 003

表T
列A 列B
BBB 002


2 つの表のどちらにもある行を取り出す。

表R
列A 列B
AAA 001
BBB 002

表S
列A 列B
AAA 001
CCC 003

表T
列A 列B
AAA 001

直積
複数の表において、両者に存在するすべてのデータのすべての組み合わせをいいます。
そのため、実行結果は、複数の表の行数を掛け合わせたものとなります。

表R
列A
AAA
BBB
×
表S
列B 列C
001
002
003

表T
列A 列B 列C
AAA 001
AAA 002
AAA 003
BBB 001
BBB 002
BBB 003

c. 関係演算

選択
指定した行を抜き出す演算です。
ある表R から指定された行を取り出して、新しい表R’を作成する操作を、選択といいます。

表R
列A 列B
AAA 001
BBB 002

表R´
列A 列B
BBB 002

これをSQLで表現すると、以下のようになります。

SELECT R.A, R.B
 FROM  R
 WHERE  R.A = 'BBB'

射影
指定した列を抜き出す演算です。
ある表R から指定された列を取り出して、新しい表R’を作成する操作を、射影といいます。

表R
列A 列B
AAA 001
BBB 002

表R´
列A
AAA
BBB

これをSQLで表現すると、以下のようになります。

 SELECT R.A
 FROM  R

結合
複数の表を結びつける演算です。
ある2つの表R, S から指定された行を取り出して、新しい表Tを作成する操作を、結合といいます。

表R
列A 列B
AAA 001
BBB 002
表S
列B 列C
001
002
003

表T
列A 列B 列C
AAA 001
BBB 002

上の図では、(表Rの列B) = (表Sの列B) という条件で結合操作を行なっています。 表Sの{'003', 'う'}という行は表Rに該当するデータがないため結合されず、表Tでは現れません。
 これをSQLで表現すると、以下のようになります。

 SELECT R.A, R.B, S.C
 FROM  R, S
 WHERE  R.B = S.B


表Tと表Sとの直積が表Rに必ず含まれるような表Tをいう。

表R
列A 列B
AAA 001
BBB 002
BBB 003
CCC 004
EEE 002
FFF 002
FFF 003
表S
列B
002
003

表T
列A
BBB
FFF

商は、直積と差集合で求めることができる。


  [ 例題 ] 
  1. 平成10年度春期 問50  関係データベース
  2. 平成12年度春期 問48  データベース
  3. 平成13年度春期 問66  射影


     

www.it-shikaku.jp