HOME»データベーススペシャリスト平成24年春期»午前U 問18
データベーススペシャリスト平成24年春期 午前U 問18
午前U 問18
関係データベースにおいて,タプル数nの表二つに対する結合操作を入れ子ループ法によって実行する場合の計算量は幾らか。
- [この問題の出題歴]
- データベース H14春期 問43
- データベース H27春期 問17
- データベース H29春期 問19
- データベース H31春期 問16
分類
テクノロジ系 » データベース » データ操作
正解
ウ
解説
入れ子ループ法(ネストループ法)は、2つの表に含まれる行を1つずつ比較しながら結合を行っていく手法です。入れ子ループ法の処理の流れは以下のプログラムで表すことができます。
〔入れ子ループ法の流れ〕
したがって「ウ」が正解です。
//入れ子ループ法による表Rと表Sの結合処理
for (t in R)
for (t' in S)
if (t['A'] == t'['A'])
結合(t, t');
end
end
このプログラムを走らせると、R表の1行目に対してS表の全件を比較、R行の2行目に対してS表の全件を比較、…、R行のn行目に対してS表の全件を比較というように処理が行われていきます。for (t in R)
for (t' in S)
if (t['A'] == t'['A'])
結合(t, t');
end
end
〔入れ子ループ法の流れ〕
- R表の1行目とS表の1行目を比較する
- R表の1行目とS表の2行目を比較する
: - R表の1行目とS表のn行目を比較する
- R表の2行目とS表の1行目を比較する
- R表の2行目とS表の2行目を比較する
: - R表の2行目とS表のn行目を比較する
:
: - R表のn行目とS表の1行目を比較する
- R表のn行目とS表の2行目を比較する
: - R表のn行目とS表のn行目を比較する
したがって「ウ」が正解です。