2025 年 (令和 7 年) 秋期のデータベーススペシャリスト試験を受けてきました。
忘れないうちに受験体験記を書きます。細かい内容はセキスペのと被るので、デスペの勉強方法とかを中心に書いときます。
試験結果は後で追記します。
試験結果 (あとで追記)
受験までの経緯
- ソフトウェアエンジニア歴はもうすぐ 7 年 (バックエンドもフロントエンドもやる)
- 2024 年 (令和 6 年) 秋期 - 応用情報技術者試験 - 合格
- 2025 年 (令和 7 年) 春期 - 情報処理安全確保支援士試験 - 合格
使用した教材
- 情報処理教科書 データベーススペシャリスト 2025 年版
- データベーススペシャリスト ドットコム 過去問道場
勉強方法
試験の 1 週間前まで : 午後の過去問をひたすら解く
実際に解き始めるとわかりますが、問題を印刷して書き込まないとしんどいです。会社に許可を取って、会社のプリンターを使わせてもらいました。助かりました。
特に、午後Ⅱの問題文が非常に長いので、どの記述を解答に使ったかとかを下線引いて目印付けていかないと、絶対に見落とします。
来年度から CBT 方式らしいけど、どうなるんだろうね。(他人事)
午後問題の概要
午後Ⅰは 2/3 問を選択、午後Ⅱ 1/2 問を選択です。
午後問題の種類は、以下の 2 通り。
- 概念データモデリング
- SQL とデータベースの実装・運用
個人的には、概念データモデリングの方が圧倒的にラクです。午後Ⅱは片方が概念データモデリングなので良し。午後Ⅰは 2/3 問が概念データモデリングなら良いですが、1/3 問の回も結構あります。
まぁ、午後Ⅰの SQL とデータベースの実装・運用はそんなに難易度も高くないので、過去問をしっかり解いておけば問題ないでしょう。ただし、たまに難しいので気を付けて。
概念データモデリングのコツ
コツは、問題文の記述を基本的に全部使うこと。
問題文を一文ずつ読んで、テーブル構造に既に反映されていたら下線を引いてチェック、ちょうど空欄に入りそうなら丸を付けておく。これをやっていけばほとんどの記述に何かしらの目印がつくはず。目印がついていない記述があったら、そのあとの設問で使う可能性が高いです。
あとは、テーブル構造の外部キーを 1 個ずつ確認して、概念データモデルに反映されているか (だいたい 1 対多の矢印) をチェックしていけば良し。
慣れれば論理パズルみたいで面白いですよ。
試験までの 1 週間 : 過去問道場をひたすら解く
午前Ⅱは 15/25 問の正答で合格です。
データベースとセキュリティ以外は応用情報レベルなので、過去問道場をやるときは、最初は分野を絞ると良いです。直前の数日間とかだけ全分野で。
午前Ⅱで特に覚えとくと良いこと
SQL
- 等結合:結合条件の列も重複して表示
- 和両立:テーブル構造が一緒
- 和 (UNION), 差 (EXCEPT), 積 (INTERSECT)
- 和両立じゃなきゃダメ
- ALL がないときは、デフォで DISTINCT されてる
- 更新可能なビュー
- 特に、AVG とかの集約関数, GROUP BY, HAVING, DISTINCT があれば更新できない
関係スキーマ
- 主キー 候補キー スーパーキー
- 正規化 (午後でも使う)
- 非正規形 : 単一値でない値が含まれる
- 第 1 正規形 : すべて単一値だが、部分関数従属を含む
- 第 2 正規形 : 部分関数従属を含まないが、推移的関数従属を含む
- 第 3 正規形 : 推移的関数従属を含まない
- それ以上は、言うてもほぼ出ない
データベース
- トランザクション (よく出る)
- ACID 特性
- 直列化可能性
- 2 相ロック方式
- デッドロック
- 隔離性水準 (よく出る)
| ダーティリード (コミット前を読む) |
ノンリピータブルリード (途中で更新される) |
ファントムリード (途中で追加される) |
|
|---|---|---|---|
| READ UNCOMMITTED | 発生 | 発生 | 発生 |
| READ COMMITTED | - | 発生 | 発生 |
| REPEATABLE READ | - | - | 発生 |
| SERIALIZABLE | - | - | - |
- 障害
- トランザクション障害 : ロールバック
- システム障害 : ロールバックとロールフォワード
- 媒体障害 : ロールフォワード
- B 木インデックス
- 次数とか位数とかの定義がいろいろあるらしい。ググるときは要注意
分散データベース (よく出る)
- 分散データベースの 12 のルール
- 移動に対する透過性
- 分割に対する透過性
- 複製に対する透過性
- 分散問合せ処理
- ネスト・ループ法 : 単純で処理量が最悪
- セミジョイン法 : 通信量削減のため
- 分散トランザクション
- 2 相コミットメント制御
- 図を全部覚える
- 2 相ロック方式と混同しないように
- 2 相コミットメント制御
試験本番
午前Ⅱ
簡単だった。
午後Ⅰ
ノータイムで概念データモデリングの問 1 ・問 2 を選択。
難しくはなかったが、時間配分をミスって後半は考える時間が少し足りなかった。
午後Ⅱ
ノータイムで概念データモデリングの問 2 を選択。
主キーがほとんど明示されていなくて、結構やばかった。
デスペ特有のクソデカ複合主キー (3~5 属性ばっか) のバーゲンセールで、漢字の書き取り練習かってくらい手が痛かった。素直にサロゲートキー使えよ。てか年月日を主キーに使うな。実務でこんな設計したら、助走をつけて殴られるレベルのクソ設計。
そして、結構な長文の中に「入庫」「入荷」「出庫」「出荷」が高頻度で入り乱れていて、しょっちゅう見間違えてた。入庫出庫入荷出庫入荷出庫出荷入庫出庫入荷出荷出庫入荷出荷入庫出庫入庫入荷入庫出庫出荷出庫
受験しての感想
午前Ⅱは、22/25 問 (88%) で合格でした。
午後はどちらも時間が厳しめで、過去問を解くときはもう少し時間を測ってやるべきだったなと思いました。午後Ⅰは大丈夫だと思うけど、午後Ⅱは微妙かも。
ちなみにセキスペと比べると、デスペは遥かに勉強しがいがあって、過去問を解けば解くほど手応えがあり、本番でも経験がちゃんと生きていました。やっぱりセキスペの問題がヤバかったんだなぁ。
とはいえ、デスペの勉強が実務で役に立つかというと、うーん微妙かな。概念データモデリングばっかやってたけど、頻出の汎化・特化関係とか実務ではまず使わないし、複合主キーなんて多対多のときの連関エンティティでしか使わないし。素直にサロゲートキーを使うし。
デスペの問題は、実務とはあまりにもかけ離れているのでは?
こんなんでスペシャリストを名乗っていいのか?
まぁ、セキスペの時も同じことを思ってたけど。
次は、ネスペを受けようと思っています。応用情報の時はネットワークあまり得意じゃなかったけど、大丈夫だろうか。CBT 方式の初回なんだし、易化してくれないかなー。
0 件のコメント:
コメントを投稿