論点:データベースとSQL
問56:更新時異状と関数従属に関する記述として、最も適切なものはどれか。
- A:正規化が不十分でデータの重複があっても、更新時異状(挿入・更新・削除の不整合)は発生しない。
- B:関数従属性とは、ある列の値が定まっても別の列の値が一意に定まらない関係を指す。
- C:更新時異状は正規化を進めるほど増加するため、実務では非正規形のまま運用するのが望ましい。
- D:1つの表に重複データが多いと、一部だけ更新して他を更新し忘れる更新時異状が生じやすくなる。
【第56問:正解と解説】
正解:D
・A
【論点】更新時異状はデータの重複により、挿入・更新・削除で不整合が生じる問題である。関数従属(ある列が別の列を一意に決める関係)を排除する正規化で異状を防ぐ。定義と対策を区別する。【考え方】重複データが更新時異状を招くこと、関数従属の定義、正規化が異状を減らす方向であることを押さえる。異状の発生条件や関数従属の定義を逆にする記述に注意する。【選択肢解説】データの重複があると更新時異状が生じ得るため、発生しないという記述が誤り。
・B
【選択肢解説】関数従属はある列の値で別の列の値が一意に定まる関係であり、定まらないという記述が誤り。
・C
【選択肢解説】正規化は更新時異状を減らす方向であり、非正規形のまま運用が望ましいという記述が誤り。
・D
【選択肢解説】重複データが多いと一部更新漏れによる更新時異状が生じやすく正しい。
論点:データベースとSQL
問57:SQLの命令の分類に関する記述として、最も適切なものはどれか。
- A:CREATE TABLEやALTER TABLEはデータ定義言語(DDL)に分類され、表の構造を定義・変更する命令である。
- B:SELECTやUPDATEはデータ定義言語(DDL)に分類され、表の構造そのものを定義する命令である。
- C:GRANTやREVOKEはデータ操作言語(DML)に分類され、表内のデータを検索・更新する命令である。
- D:INSERTはデータ制御言語(DCL)に分類され、利用者の権限を付与・剥奪する命令である。
【第57問:正解と解説】
正解:A
・A
【論点】SQLはDDL(CREATE/ALTER/DROP:構造定義)、DML(SELECT/INSERT/UPDATE/DELETE:データ操作)、DCL(GRANT/REVOKE:権限制御)に分類される。各命令の所属を区別する。【考え方】命令が構造の定義か、データの操作か、権限の制御かで分類を押さえる。各命令をDDL・DML・DCLのどれに当てはめるかを取り違えないことが要点となる。【選択肢解説】CREATE/ALTERは構造を定義するDDLであり正しい。
・B
【選択肢解説】SELECT/UPDATEはデータ操作のDMLであり、DDLとする記述が誤り。
・C
【選択肢解説】GRANT/REVOKEは権限制御のDCLであり、DMLとする記述が誤り。
・D
【選択肢解説】INSERTはデータ操作のDMLであり、DCLとする記述が誤り。
論点:データベースとSQL
問58:データ処理方式に関する記述として、最も適切なものはどれか。
- A:インメモリデータベースは主記憶を使わず補助記憶のみでデータを保持するため、アクセスが低速になる。
- B:インメモリデータベースはデータを主記憶上に保持して処理し、ディスクI/Oを削減して高速な応答を実現する。
- C:カラム指向(列指向)データベースは1行分のデータを1か所にまとめて格納するため、集計処理には不向きである。
- D:OLTP(オンライントランザクション処理)は大量データの集計・分析を主目的とし、更新処理はほとんど行わない。
【第58問:正解と解説】
正解:B
・A
【論点】インメモリDBは主記憶上でデータを扱い高速応答を実現、カラム指向は列単位格納で集計・分析に強い、OLTPは短い更新トランザクション中心という各方式の特徴を区別する。【考え方】データを主記憶に置くか補助記憶に置くか、行単位か列単位の格納か、更新中心か分析中心かで各方式を区別する。特徴を逆に述べる記述に注意する。【選択肢解説】インメモリDBは主記憶上でデータを保持し高速であり、補助記憶のみで低速という記述が誤り。
・B
【選択肢解説】インメモリDBは主記憶上で処理しI/Oを削減して高速応答を実現し正しい。
・C
【選択肢解説】カラム指向は列単位格納で集計に強く、1行分をまとめて集計に不向きという記述が誤り。
・D
【選択肢解説】OLTPは短い更新処理中心であり、集計分析主目的で更新しないという記述が誤り。
論点:データベースとSQL
問59:トランザクションの並行制御に関する記述として、最も適切なものはどれか。
- A:分離レベルを最も緩くするほど、ダーティリードなどの不整合の発生は抑えられ整合性が高まる。
- B:コミットとロールバックは同じ操作であり、どちらもトランザクションの変更を確定させる。
- C:2相ロック方式(2PL)は、ロックを獲得する成長相と解放する縮退相を分け、直列化可能性を保ちやすくする方式である。
- D:コミットを実行すると、それまでの変更がすべて取り消されトランザクション開始前の状態に戻る。
【第59問:正解と解説】
正解:C
・A
【論点】コミットは変更の確定、ロールバックは取り消し、分離レベルは緩いほど不整合が起きやすい。2相ロックは成長相と縮退相を分け直列化可能性を保つ。並行制御の概念を区別する。【考え方】分離レベルの緩さと不整合の関係、コミットとロールバックの違い、2相ロックの仕組みを押さえる。確定と取り消しを取り違えたり、緩い分離が整合性を高めると誤解したりしないことが要点となる。【選択肢解説】分離レベルを緩くすると不整合は起きやすくなり、抑えられるという記述が誤り。
・B
【選択肢解説】コミットは確定、ロールバックは取り消しで別操作であり、同じとする記述が誤り。
・C
【選択肢解説】2相ロックは成長相と縮退相を分け直列化可能性を保ちやすくする方式であり正しい。
・D
【選択肢解説】コミットは変更を確定させるため、開始前に戻すという記述はロールバックの説明で誤り。
論点:データベースとSQL
問60:DBMSの機能に関する記述として、最も適切なものはどれか。
- A:DBMSは複数の利用者が同時にアクセスすると必ずデータが破壊されるため、同時アクセスを常に禁止する。
- B:物理的データ独立性がないDBMSほど、物理構造の変更が応用プログラムに波及しにくく保守が容易である。
- C:データディクショナリ(データ辞書)は実業務データそのものを格納する領域で、メタデータは一切含まない。
- D:データディクショナリはデータ項目の定義やスキーマなどのメタデータを管理し、DBMSの運用を支える。
【第60問:正解と解説】
正解:D
・A
【論点】DBMSはデータの一元管理・同時アクセス制御・機密保護・障害回復などを担い、データディクショナリでメタデータ(定義情報)を管理する。物理的データ独立性は保守性を高める。各機能を区別する。【考え方】DBMSが同時アクセスをどう扱うか、物理的データ独立性が保守にどう働くか、データディクショナリが管理する情報が実データかメタデータかを押さえる。役割を逆に述べる記述に注意する。【選択肢解説】DBMSは排他制御で同時アクセスを調停でき、常に禁止するという記述が誤り。
・B
【選択肢解説】物理的データ独立性があるほど変更が波及しにくく保守が容易であり、記述が逆で誤り。
・C
【選択肢解説】データディクショナリはメタデータを管理する領域であり、メタデータを含まないという記述が誤り。
・D
【選択肢解説】データディクショナリはデータ項目定義やスキーマなどのメタデータを管理し正しい。

コメント