中小企業診断士 経営情報システム 応用編(6〜10問)|データベースとSQL

【本問題についてのご注意】
オリジナル演習問題です(実際の過去問ではありません)。生成AIで作成し、複数のAIで相互検証していますが、誤りが含まれる可能性があります。公式テキスト・過去問と併用してください。
→ 免責事項の詳細

問6:キーと参照整合性に関する記述として、最も適切なものはどれか。

  • A:主キーは重複値やNULLを自由に許容し、行を一意に識別できなくてもよい。
  • B:外部キーは他の表の主キー(または候補キー)を参照し、参照整合性を保つために用いられる。
  • C:参照整合性が保たれていれば、外部キーが参照先に存在しない値を持つことが許される。
  • D:候補キーとは主キーになれない列のことで、行の一意識別には使えない列を指す。
【第6問:正解と解説】

正解:B

・A
【論点】主キーは一意かつNULL不可で行を識別、候補キーは主キー候補となる一意な列、外部キーは他表のキーを参照し参照整合性を保つ。各キーの制約と役割を区別する。【考え方】主キーの一意性・NULL不可、外部キーが参照するもの、参照整合性が要求する条件を正確に押さえる。制約を緩めたり逆にしたりする記述に注意する。【選択肢解説】主キーは重複・NULLを許さず行を一意識別するため、自由に許容という記述が誤り。

・B
【選択肢解説】外部キーは他表の主キー等を参照し参照整合性を保つため正しい。

・C
【選択肢解説】参照整合性の下では外部キーは存在する値を参照する必要があり、存在しない値を許すという記述が誤り。

・D
【選択肢解説】候補キーは行を一意識別できる列であり、識別に使えないという記述が誤り。

関連過去問:キーと参照整合性(H26類似)


問7:トランザクションのACID特性に関する記述として、最も適切なものはどれか。

  • A:原子性(Atomicity)とは、複数トランザクションを同時実行しても互いに影響しない性質を指す。
  • B:一貫性(Consistency)とは、コミット済みのデータが障害後も失われず保持される性質を指す。
  • C:独立性(Isolation)とは、並行実行される複数トランザクションが互いの中間結果に影響されない性質を指す。
  • D:永続性(Durability)とは、トランザクションが全部実行されるか全く実行されないかのいずれかになる性質を指す。
【第7問:正解と解説】

正解:C

・A
【論点】ACIDは原子性(全か無か)、一貫性(整合性の維持)、独立性(並行実行時の相互不干渉)、永続性(コミット後の保持)を指す。各特性の定義を正確に区別する。【考え方】4つの特性それぞれが保証する内容を押さえる。原子性・独立性・永続性の説明を入れ替える誤りが典型的なので、定義とキーワードの対応を取り違えないことが要点となる。【選択肢解説】同時実行時の相互不干渉は独立性であり、原子性の説明として誤り。

・B
【選択肢解説】障害後もコミット済みデータを保持するのは永続性であり、一貫性の説明として誤り。

・C
【選択肢解説】独立性は並行トランザクションが互いの中間結果に影響されない性質であり正しい。

・D
【選択肢解説】全か無かは原子性であり、永続性の説明として誤り。

関連過去問:ACID特性(H27類似)


問8:排他制御とデッドロックに関する記述として、最も適切なものはどれか。

  • A:共有ロック(読取りロック)どうしは互いに両立せず、同時に複数のトランザクションが読取ることはできない。
  • B:デッドロックとは1つのトランザクションが自らかけたロックにより自分自身が待たされる現象を指す。
  • C:占有ロック(書込みロック)をかけた資源に、他のトランザクションが同時に占有ロックをかけることができる。
  • D:デッドロックは複数のトランザクションが互いに相手の保持する資源のロック解放を待ち合う状態で発生する。
【第8問:正解と解説】

正解:D

・A
【論点】共有ロックどうしは両立、占有ロックは他のロックと両立しない。デッドロックは複数トランザクションが相互に相手のロック解放を待ち合う状態で生じる。ロックの両立関係を区別する。【考え方】共有ロックと占有ロックの両立関係を正確に押さえ、デッドロックが単独ではなく複数トランザクション間の待ち合いで生じる点を理解する。両立関係を逆にする誤りに注意する。【選択肢解説】共有ロックどうしは両立し同時読取り可能であり、両立しないという記述が誤り。

・B
【選択肢解説】デッドロックは自分自身ではなく複数トランザクション間で生じる待ち合いであり、自己ロックの説明は誤り。

・C
【選択肢解説】占有ロックは他の占有ロックと両立せず、同時にかけられるという記述が誤り。

・D
【選択肢解説】デッドロックは複数トランザクションが相互にロック解放を待ち合う状態で発生し正しい。

関連過去問:排他制御とデッドロック(H28類似)


問9:SQLのSELECT文における各句に関する記述として、最も適切なものはどれか。

  • A:WHEREは集約前の個々の行を絞り込む条件、HAVINGは集約後のグループに対する条件を指定する。
  • B:GROUP BYを用いずに集約関数の結果をグループごとに求めることができ、GROUP BYは常に不要である。
  • C:HAVINGは個々の行に対する絞り込みに用い、集約結果には条件を付けられない。
  • D:ORDER BYは行の絞り込み条件を指定する句であり、並べ替えには関与しない。
【第9問:正解と解説】

正解:A

・A
【論点】WHEREは集約前の行を絞り込み、GROUP BYでグループ化、HAVINGは集約後のグループを絞り込み、ORDER BYは並べ替えを行う。各句の役割と適用順序を区別する。【考え方】行レベルの絞り込みか、集約後の絞り込みか、並べ替えかで各句を区別する。WHEREとHAVINGの適用対象を取り違えたり、ORDER BYの役割を誤ったりしないことが要点となる。【選択肢解説】WHEREは集約前の行、HAVINGは集約後のグループに対する条件であり正しい。

・B
【選択肢解説】グループごとの集約にはGROUP BYが必要であり、常に不要という記述が誤り。

・C
【選択肢解説】集約後の条件はHAVINGで指定でき、条件を付けられないという記述が誤り。

・D
【選択肢解説】ORDER BYは並べ替えの句であり、絞り込み条件で並べ替えに関与しないという記述が誤り。

関連過去問:SQLの句(H25類似)


問10:副問合せおよびビューに関する記述として、最も適切なものはどれか。

  • A:ビューは実データを物理的に複製して保持する表であり、元表を更新してもビューには反映されない。
  • B:ビューは1つ以上の表から定義される仮想的な表で、元表のデータに基づいて参照時に内容が導出される。
  • C:相関副問合せは外側の問合せと無関係に一度だけ評価され、外側の各行の値を参照することはない。
  • D:副問合せはSELECT句の中では一切使用できず、必ずFROM句にのみ記述しなければならない。
【第10問:正解と解説】

正解:B

・A
【論点】ビューは実表から導出される仮想表で参照時に内容が決まる。副問合せには外側と独立に評価されるものと、外側の行ごとに評価される相関副問合せがある。これらの性質を区別する。【考え方】ビューが実データを複製するのか仮想的に導出されるのか、相関副問合せが外側の行を参照するのかを押さえる。定義や評価タイミングを取り違えないことが要点となる。【選択肢解説】ビューは実データを複製せず仮想的に導出されるため、物理複製で更新が反映されないという記述が誤り。

・B
【選択肢解説】ビューは実表から定義される仮想表で参照時に内容が導出され正しい。

・C
【選択肢解説】相関副問合せは外側の各行の値を参照して評価されるため、無関係に一度だけという記述が誤り。

・D
【選択肢解説】副問合せはSELECT句やWHERE句でも使用でき、FROM句限定という記述が誤り。

関連過去問:副問合せとビュー(H27類似)


コメント

タイトルとURLをコピーしました