解答つきデータベースと SQLワークシート

無料で印刷できるデータベースと SQLのワークシート:やさしい問題から試験レベルまで 8 問、解答つき。印刷するか PDF で保存できます。

先生方へ: 授業で自由に印刷・コピーしてお使いいただけます。新しいワークシートごとに数値が変わり、専用の解答が付きます。授業ページに ExamProblems へのリンクを載せていただけると嬉しいです。

名前: ____________________   日付: ____________

1.やさしい

行数を数える集約関数はどれですか?

  1. ACOUNT
  2. BAVG
  3. CMAX
  4. DSUM
2.やさしい

INNER JOIN が返すのは次のうちどれですか?

  1. A左テーブルのすべての行。一致がない場合は NULL が入る
  2. B一致しない行
  3. C両方のテーブルのすべての行
  4. D両方のテーブルで値が一致する行のみ
3.やさしい

クエリで GROUP BY は何をしますか?

  1. ANULL 値を含む行を削除する
  2. B同じ値を持つ行をグループにまとめ、集約がグループごとに計算されるようにする
  3. C結果の行をアルファベット順に並べ替える
  4. D2 つのテーブルを共通の列で結合する
4.ふつう

関数従属性 A → B は何を意味しますか?

  1. AB の各値にはちょうど 1 つの A の値が対応する
  2. BA と B がどちらも主キーである
  3. CA の各値にはちょうど 1 つの B の値が対応する
  4. DA が B を参照する外部キーである
5.ふつう

共通テーブル式(WITH name AS (...))は何を提供しますか?

  1. A新しいデータベースユーザー
  2. B1 つの文の中で使える、名前付きの一時的な結果
  3. C列に対するインデックス
  4. D削除されるまでディスクに保存され続ける恒久的なテーブル
6.ふつう

WHERE 句に一致する行がないとき、SELECT SUM(amount) FROM orders は何を返しますか?

  1. A空文字列
  2. Bエラー
  3. CNULL
  4. D0
7.むずかしい

本番環境のクエリで NATURAL JOIN が危険とされるのはなぜですか?

  1. A常に直積を返すから
  2. B主キーと外部キーを無視し、NULL の行だけを残すから
  3. Cどのデータベースでもサポートされていないから
  4. D同じ名前のすべての列で結合するため、新しい列が追加されると結果が知らないうちに変わりうるから
8.むずかしい

トランザクション T1 は行 A をロックして行 B を待ち、T2 は行 B をロックして行 A を待っています。一般的な DBMS はどうしますか?

  1. Aデッドロックを検出し、一方のトランザクションを犠牲として中止する
  2. B両方のトランザクションを同時にコミットする
  3. C一方がふつうにコミットするまで、両方のトランザクションを待たせる
  4. D2 つのトランザクションを 1 つにまとめる

解答

  1. 1. A · COUNT
  2. 2. D · 両方のテーブルで値が一致する行のみ
  3. 3. B · 同じ値を持つ行をグループにまとめ、集約がグループごとに計算されるようにする
  4. 4. C · A の各値にはちょうど 1 つの B の値が対応する
  5. 5. B · 1 つの文の中で使える、名前付きの一時的な結果
  6. 6. C · NULL
  7. 7. D · 同じ名前のすべての列で結合するため、新しい列が追加されると結果が知らないうちに変わりうるから
  8. 8. A · デッドロックを検出し、一方のトランザクションを犠牲として中止する

ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。