1.やさしい
SQL において NULL は何を表しますか?
- A欠けている値または不明な値
- BBoolean の false
- C数値列におけるゼロという数
- D空文字列
2.やさしい
顧客は多くの注文を出せますが、各注文はちょうど 1 人の顧客に属します。これはどの種類の関連ですか?
- A0 対 0
- B多対多
- C1 対 1
- D1 対多
3.やさしい
テーブルに新しい行を追加する SQL 文はどれですか?
- AINSERT
- BSELECT
- CALTER
- DUPDATE
4.ふつう
列にインデックスを作成するのはなぜですか?
- ANULL 値を防ぐため
- Bそれらの列に対する挿入と更新を高速化するため
- Cその列に対する検索や結合を高速化するため
- Dディスク容量を節約するため
5.ふつう
orders テーブルには 5 行あり、それぞれが既存の顧客を参照しています。customers テーブルは 3 行です。customer_id での INNER JOIN は何行を返しますか?
- A5
- B15
- C3
- D8
6.ふつう
EXCEPT(Oracle では MINUS)は何を返しますか?
- A1 つ目のクエリの行のうち、2 つ目に現れないもの
- B両方のクエリのすべての行(重複なし)
- C2 つ目のクエリの行のうち、1 つ目に現れないもの
- D両方のクエリに現れる行
7.むずかしい
多くの DBMS が、排他ロックをコミットまで保持する厳格な 2 相ロックを使うのはなぜですか?
- A誰も未コミットの書き込みを読めないので、連鎖的なアボートを防げるから
- Bデッドロックを起こらなくするから
- Cトランザクションログを不要にするから
- Dトランザクションがダーティなデータを安全に読めるようにするから
8.むずかしい
テーブルを 3NF ではなく BCNF に分解することの知られた欠点は何ですか?
- ABCNF のテーブルは主キーを持てない
- BBCNF は 3NF より多くの冗長性を許す
- C一部の関数従属性が、1 つのテーブル内では確認できなくなることがある
- D分解すると、結合し直したときに必ずデータが失われる
解答
- 1. A · 欠けている値または不明な値
- 2. D · 1 対多
- 3. A · INSERT
- 4. C · その列に対する検索や結合を高速化するため
- 5. A · 5
- 6. A · 1 つ目のクエリの行のうち、2 つ目に現れないもの
- 7. A · 誰も未コミットの書き込みを読めないので、連鎖的なアボートを防げるから
- 8. C · 一部の関数従属性が、1 つのテーブル内では確認できなくなることがある
ステップごとの詳しい解答:このトピックは examproblems.com で練習できます。