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

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

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

名前: ____________________   日付: ____________

1.やさしい

代理キー(サロゲートキー)とは何ですか?

  1. A自動採番の id のように、業務上の意味を持たない人工的な識別子
  2. Bビューでだけ使われるキー
  3. Cメールアドレスのような実世界のデータから作ったキー
  4. D別のテーブルを参照するキー
2.やさしい

列に付けた UNIQUE 制約は何を保証しますか?

  1. Aその列で 2 つの行が同じ非 NULL 値を持たない
  2. B列の値が並べ替えられている
  3. Cその列が自動的にテーブルの主キーになる
  4. D挿入後に列を変更できない
3.やさしい

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

  1. AAVG
  2. BSUM
  3. CCOUNT
  4. DMAX
4.ふつう

2 つの SELECT クエリの間で使う INTERSECT は何を返しますか?

  1. A結果の直積
  2. B両方の結果に現れる行
  3. C1 つ目の結果にあって 2 つ目にない行
  4. D両方の結果のすべての行
5.ふつう

ROLLBACK TO SAVEPOINT s1 は何をしますか?

  1. Aトランザクション全体を最初から取り消す
  2. Bセーブポイントとそれ以降に変更されたすべてのテーブルを削除する
  3. Cセーブポイント s1 より後に行った変更を取り消し、トランザクションは開いたままにする
  4. Dトランザクションを終了し、すべてをコミットする
6.ふつう

customers テーブルの異なる都市の数を返すクエリはどれですか?

  1. ASELECT COUNT(DISTINCT city) FROM customers
  2. BSELECT SUM(DISTINCT city) FROM customers
  3. CSELECT DISTINCT COUNT(city) FROM customers
  4. DSELECT COUNT(city) FROM customers GROUP BY city
7.むずかしい

WHERE YEAR(order_date) = 2025 を含むクエリが order_date のインデックスを使わないことがあるのはなぜですか?

  1. AYEAR は有効な SQL ではないから
  2. Border_date のインデックスは ORDER BY 句にしか使われず、WHERE には決して使われないから
  3. Cインデックスは日付では決して機能しないから
  4. D列に関数を適用すると、単純なインデックス範囲検索ができなくなるから
8.むずかしい

テーブルを 3NF ではなく BCNF に分解することの知られた欠点は何ですか?

  1. A分解すると、結合し直したときに必ずデータが失われる
  2. B一部の関数従属性が、1 つのテーブル内では確認できなくなることがある
  3. CBCNF は 3NF より多くの冗長性を許す
  4. DBCNF のテーブルは主キーを持てない

解答

  1. 1. A · 自動採番の id のように、業務上の意味を持たない人工的な識別子
  2. 2. A · その列で 2 つの行が同じ非 NULL 値を持たない
  3. 3. C · COUNT
  4. 4. B · 両方の結果に現れる行
  5. 5. C · セーブポイント s1 より後に行った変更を取り消し、トランザクションは開いたままにする
  6. 6. A · SELECT COUNT(DISTINCT city) FROM customers
  7. 7. D · 列に関数を適用すると、単純なインデックス範囲検索ができなくなるから
  8. 8. B · 一部の関数従属性が、1 つのテーブル内では確認できなくなることがある

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