次の SQL 文は,和,差,直積,射影,選択の関係演算のうち,どの関係演算
の組合せで表現されるか。ここで,下線部は主キーを表す。
SELECT 納品.顧客番号, 顧客名 FROM 納品, 顧客
WHERE 納品.顧客番号 = 顧客.顧客番号
納品 顧客
┌────┬────┬────┐ ┌────┬────┐
│商品番号│顧客番号│納品数量│ │顧客番号│顧客名 │
│ ̄ ̄ ̄ ̄│ ̄ ̄ ̄ ̄│ │ │ ̄ ̄ ̄ ̄│ │
└────┴────┴────┘ └────┴────┘
ア 差,選択,射影
イ 差,直積,選択
ウ 直積,選択,射影
エ 和,直積,射影
注意:桁がずれて表示されているときは以下のサイトを参考にして下さい。
KAZ池田氏提供 http://www.mag2.com/faq/mua.htm
■キーワード■
■解答■
テクニカルエンジニア(データベース)午前平成15年問34
同等:データベーススペシャリスト午前平成12年問49
ウ 直積,選択,射影
> 直積で2表(FROM 納品, 顧客)を関連付けて、
> 条件(WHERE 納品.顧客番号 = 顧客.顧客番号)に該当する行を選択し、
> 必要な列(SELECT 納品.顧客番号, 顧客名)を射影する。
どうもありがとうございました。
> 和(合併)
> 複数の関係(表)を縦に結合する。
> 例. Aクラスの成績表とBクラスの成績表を単純に結合する。(学年全体の成績
> 表ができる。)
>
> 差
> 特定の属性の値が関係1(表)に存在するが、関係2(表)に存在しない組
> (行)を抽出する。
> 例. 氏名が氏名表に存在し、成績表に存在しない行を取り出す。
>
> 積(交差)
> 関係1(表1)と関係2(表2)で、共通する属性の値を持つ組(行)だけを抽出
> する。
> 例. 前期成績表と後期成績表で、総合点が300点の行を取り出す。
>
> 選択
> 特定の組(行)だけを抽出する。
> 例. 成績表から、性別が女性の行だけを取り出す。
>
> 射影
> 特定の属性(列)だけを抽出する。
> 例. 成績表から番号と総合点の列だけを取り出す。
>
> 結合
> 特定の属性を元に、複数の関係(表)を横に結合する。
> 例. 氏名表と成績表を、番号を元に結合する。
>
> 福嶋宏訓. 『基本情報技術者・シスアド試験対応情報処理用語辞典』.
> 2003/2/15 初版. (株)新星出版社.
どうもありがとうございました。
> リレーショナル代数の基礎
> http://www.cs.reitaku-u.ac.jp/infosci/rdb/rdb02.html
どうもありがとうございました。