この記事は「データベーススペシャリスト資格に興味はあるが、どのようなものか?どう学ぶのか?」という方向けに、具体的な内容と私自身の挑戦ログをお伝えする。学び中の方や、これから学ぼうとされる方の参考になれば幸いだ。今回は知識およびSQL(確認ドリル)について書く。(SQLはGoogle Big Queryに準拠)
また、考察においてキャリアコンサルタント資格の挑戦ログについても記述する。
DB学習方針(一部再掲)
対策MUSTのもの
- 午前2対策、TAC講義動画全て視聴⇒完了
- 午前2対策、TACテキストの問題全て完答⇒3ラリー目まで完了(直前見直し要)
- 午前2対策、過去5年分の過去問ベースで完答⇒1ラリー目完了、ほぼ全問正解(直前見直し要)
- 午後対策、TAC講義動画全て視聴⇒完了
- 午後1対策、”物理+SQL”問題につき、解き方を把握しておく⇒現在着手中⇒直前にもう一度解く(無理なら頭の中で解く)は必要。定着のため
- 午後1・午後2対策、論理設計問題につき、時間内に答えを埋める訓練⇒約7つの過去問につき2ラリー目まで完了。1日1回の実技演習として3ラリー目実施中
- 全般対策、TAC実力テストおよび公開模試の提出⇒提出済、返却待ち(模試は返却あり)
- 全般対策、R3を午前・午後通しで解いて最終仕上げ⇒未着手
対策BETTERのもの
- 午前2対策、三好先生の本ベースでも問題を解いておくことで、より幅広く対応⇒未着手
- 午後対策、過去問パターンや業務基本パターン(三好先生テキスト)の記憶⇒未着手
今後の大まかな計画
- 午後1″物理・SQL”を1日1問「解き方把握」する(上記MUST№5)
- 1日1回論理設計実技は続ける(上記MUST№6)
- 残りの時間で、R3(MUST№8)を行う。(返却され次第、TAC実力テストや公開模試振り返り研究。公開模試は動画もあり(MUST№7)
- 夜寝る前などスキマ時間かつスマホ・PC利用できないときは、本ベースの学習(BETTER№1,2)
過去問研究時の考察
- 何回も繰り返し午後問題を解き、振り返り研究していると、頭の中にマスタとトランザクションのER図が思い浮かぶ。
- 例えばマスタに顧客・組織・サービスがあり、トランザクションの注文には顧客と組織が矢印で結ばれ、注文明細には注文とサービスが矢印で結ばれ、のように。
- すると、各エンティティ内の属性もアテがつき、業務の流れとともにどのエンティティのどの属性が更新されるのかイメージか湧くようになる。
- こうなると、本文を読むときに頭の中で「ER図とスキーマと状況説明」が結びついて理解できるようになる。これが短時間で正しく解くための入口だと実感。
- この力を養うには、過去問を解く際にいくつか意識することがあると思われる。
- ①まず、仕事の仮想体験だと思って読むこと(脳の最初の認知スイッチを入れるイメージ。自分ごととして捉えられるようになり、頭に入る。)
- ②次に、ER図とスキーマと状況説明を読み、頭のなかで組み立て読んでいくこと(立体的に頭を使うイメージ。業務説明を聞いて「はい」でなく、頭のなかでは「さてどう設計するか?」と考えている)
- なお、その際業務の直感的理解のため表は極めて有効。大まかに「何がしたいのか」読み取れると良い。
- ③最後に、設問については「おそらくこうだろう」という仮説を先に立て臨むこと(アウトプット思考)
- なぜなら、設問は「設計するなら当然意識すべき事例(または失敗を経て体に刻む事例)」であることが多く、答えを一から探すのではなく、いくつかある状況別事例集(頭の中の引き出し)のうちどれに該当するか探す、という工程になることをIPAは望んでいると思われるから)
- 要するに、「ここにこのヒントがあるから、答えをこう導く」の一歩手前。「そもそもこんなイメージのはず」という仮説思考まで追体験するため、過去問を自分ごととして捉えるのが大事ということ。
- そのために、過去問を解く際は「設問のパターン(基礎理論・トリガ・参照制約・SQL…など)」および「業務のパターン」の二重の意味でストックしておくと良い。
- 過去問のパズル要素だけでも面白いのに、業務の追体験ができて、さらに読解力も鍛えられて三重で面白い。いずれにせよ、楽しんでやりたい。
- (9月10日追記)ただし、論理設計のER図・スキーマ穴埋めはその作業自体に集中力を要するので、まずはその作業を自然とできるようになってからの、+αの内容であることに注意。(作業に慣れていないうちに、頭に業務イメージも構築しようとして、脳のキャパが追い付かなくなり、うっかりリレーション書き忘れたりしたため)
DB学習ログ
午後1″物理・SQL”
- 今回はH25問3のSQLと性能に関する問題を確認。
- 考察。試験対策面でも実用面でも、性能に関する知識は必要と思われる。
- なぜなら、データの大量化・多様化にともない、システム全体においてデータベース処理の性能は非常に重要となっているから。
- たとえば私がかつて担当した申込システム構築において、最も処理に時間を要したのはDB検索を伴うものであった。
- また、DBは情報漏洩や情報損失が許されない一方、物理的な保存方法がディスクに限られるのでどうしてもボトルネックになりがち。
- このような流れにおいて、普段何気なく使っているSQLのSELECT文が、どのようにCPUやディスク入出力処理され、どのくらい時間がかかり得るか、という観点は重要だ。
- また、処理を高速化するのに最もコスパが良い索引についても、基本知識とアンチパターンは理解しておく必要があるだろう。
- 逆に、以上の本質的な要点を理解できていれば、あとは過去問をいくつか解いてパターンに慣れておけば、くわえて「本文・RDBMS仕様・パズル」の3点セットで解ける難易度のはず。
1日1回論理設計実技
- 今回は、論理設計のコツを振り返り、頭の中でシミュレートするにとどまった。
(1日のうち)残りの時間でやったこと
- 午前2対策は一通り完了したため、模試の添削結果を軽く見るにとどまった。
問題125(SQL確認ドリル)
問題文
- web_logテーブルに記録されたセッションはいくつあるか求めてください。
- cidとsession_countのユニークな組み合わせがユニークなセッションです。
- 結果テーブルのカラムは「session」としてください。
concatおさらい
- cidとsession_countの組み合わせということで、concatを用いて繋げ、ユニークなものを数えることを考える。
- なお、with句を用いて2つの列名をgroup byでまとめた仮想表を作り、そのあとその表の行数をcountで数える別解もある。
- 具体的には以下のとおり。
考察
- データベーススペシャリスト資格について。午後1(物理設計+SQL)実技をふまえ、今後意識すべきことを整理した。また、SQLの確認ドリル(web_logテーブルに記録された”cidとsession_countのユニークな組み合わせ”の数を求める)を解いた。
- キャリアコンサルタント資格について、システマティック・アプローチについて学んだ。これはカウンセラーと相談者が良い信頼関係のもと、共同して目標達成に向け計画・実行していくプロセスだ。私の本業でもとてもやりがいを感じていた部分だったので、これから深く学ぶのが楽しみだ。
考察のシンプル化と英訳(練習中)
- I think it’s wonderful to have a relationship of trust and act together.
- (信頼関係を築き、共に行動することは素晴らしいことだと思います)
参考資料
- 集中演習 SQL入門/木田和廣/株式会社インプレス
- 2022年度版 ALL IN ONE パーフェクトマスター データベーススペシャリスト/TAC
コメント