1.やさしい
UNION は 2 つの SELECT クエリの結果をどうしますか?
- A1 つの結果にまとめ、重複する行を取り除く
- Bキーで横に並べて結合する
- C1 つ目のクエリにあって 2 つ目にない行だけを残す
- D両方に現れる行だけを残す
2.やさしい
テーブルに新しい行を追加する SQL 文はどれですか?
- AINSERT
- BUPDATE
- CSELECT
- DALTER
3.やさしい
数値列の平均を返す集約関数はどれですか?
- AAVG
- BMEAN
- CSUM
- DMEDIAN
4.ふつう
テーブルに col が NULL の行があります。WHERE col = NULL はどの行を返しますか?
- Aどのデータベースでもエラー
- Bテーブルのすべての行
- C比較が不明(UNKNOWN)になるので、行を返さない
- DIS NULL の場合と同様に、col が NULL の行だけ
5.ふつう
学生は多くの科目を履修でき、科目には多くの学生がいます。これはテーブルでどのようにモデル化しますか?
- A1 つの列に科目 id のリストを保存して
- Bstudents テーブルに courses を指す外部キー列 course_id を置いて
- C学生と科目の両方への外部キーを持つ中間テーブルで
- D学生と科目を 1 つのテーブルにまとめて
6.ふつう
SQL におけるビュー(view)とは次のうちどれですか?
- A仮想テーブルのように振る舞う保存されたクエリ
- Bディスク上のテーブルのコピー
- Cインデックスの一種
- Dテーブルを閲覧するためのデータベースクライアントの画面
7.むずかしい
多版型同時実行制御(MVCC)では、読み取り側はどのようにして書き込み側をブロックせずに済みますか?
- A読み取り側はコミット済みの行バージョンの一貫したスナップショットを見て、書き込み側は新しいバージョンを作る
- B読み取り側は未コミットのデータを直接読む
- C読み取り側は常にすべての書き込み側のコミットを待つ
- D読み取り側がいる間は書き込みが許されない
8.むずかしい
役に立つインデックスのない 2 つの大きなテーブルの等価結合で、オプティマイザがよく選ぶ結合アルゴリズムはどれですか?
- A主キーでのビットマップ結合
- B交差結合
- Cインデックス検索を伴うネステッドループ結合
- Dハッシュ結合
解答
- 1. A · 1 つの結果にまとめ、重複する行を取り除く
- 2. A · INSERT
- 3. A · AVG
- 4. C · 比較が不明(UNKNOWN)になるので、行を返さない
- 5. C · 学生と科目の両方への外部キーを持つ中間テーブルで
- 6. A · 仮想テーブルのように振る舞う保存されたクエリ
- 7. A · 読み取り側はコミット済みの行バージョンの一貫したスナップショットを見て、書き込み側は新しいバージョンを作る
- 8. D · ハッシュ結合
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。