この記事は「データベーススペシャリスト資格に興味はあるが、どのようなものか?どう学ぶのか?」という方向けに、具体的な内容と私自身の挑戦ログをお伝えする。学び中の方や、これから学ぼうとされる方の参考になれば幸いだ。今回は知識およびSQL(確認ドリル)について書く。(SQLはGoogle Big Queryに準拠)
また、考察においてキャリアコンサルタント資格の挑戦ログについても記述する。
実技演習(午後2アウトプット)
実際にやってみた結果(メモ)
- 午後2試験対策として、平成31年度問2(論理設計)を実際に解いてみた。
- 今回は設問1(現状フローにかかわり、マスタとトランザクションの概念データモデルを完成)をふまえたうえで、設問2(新業務フローの理解と、部分的な概念データモデルの補記)を解いた。
- 結果として、約40分ほどで解答は完了し、7~8割のまずまずな正答率であった。
- なお、うまくいったものと、そうでなかったものを振り返り、どう解けばよかったか、という研究をしたため以下に記す。
振り返り研究結果
- 新業務フローの全体イメージを簡単に図示する。
- 図示に主要な“表名”を転記する。
- 本文を読む際、“表名”が出現したら四角で囲む。そして“リレーションを示唆する表現”が出てきたら、その都度ER図・スキーマを確認して、空白があれば埋める。
- とくに多重度は注意。”1:多なら多側に外部キーを持つ”、”トランザクション間の多重度は特別な記述がない場合は1:1が多い”などのテクのほか、本文中の”多重度を示唆する表現”は慣れておく必要がある。
- 最後にER図・スキーマ側も見て、繋がってない外部キーや浮いてるエンティティなどないかチェックする。
- 総じて、大きく分類すれば「業務全体イメージの把握」「本文の丁寧な読み取り」「知識に基づくER図・スキーマの完成」となる。
- ただし一貫して言えるのは、実技なので慣れが不可欠ということ。引き続き1日1回の実技は楽しみながら続けていきたい。(一度解いた問題は解答を覚えているが、大事なのはプロセスなので「ここに、この表現があるから、こう繋がるのだな…と自分で受講者に解説してあげるように解くと良さそう」)
(参考)IPA平成31年度 午後2 問2の講評
- 状況記述を丁寧に読み、
- インスタンスのレベルまで十分に考慮し、
- エンティティタイプ間のリレーションシップや求められる属性を検討する習慣をつけてほしい。
- また、対象領域全体を把握するために、全体のデータモデルを記述することは重要である。
- 日常業務での実践の積み重ねを期待したい。
(参考)上記講評についての個人メモ
- IPAが何を求めているかから考察。
- 環境から見れば。終身雇用の終わり、少子高齢化等により、労働人口は減少する一方で生産性は上がらず、税負担はますます重くなるピンチな状態。シンプルな打開策はsociety5.0でも語られているが「ITなど成長産業に集中投資。従来産業をITで便利にし間口を広げる」と認識。
- 間口について補足。例えば介護現場で、日々の見守りやベッドの昇降など肉体作業を機械で代替し、かわりにロボットのスケジューリングやメンテが仕事になったとする。そうすると、手足が不自由な方でも仕事ができるようになる。(もちろん並行して、意識改革などは不可欠だが)
- そのようななか、データベーススペシャリストに求められるのはシンプルに「ITを活用した新業務立ち上げや、現現行効率化」であり、そこにはシビアな費用対効果が求められる。
- つまり、後から「設計に抜けがありました」は原則許されないということ。(とくにデータの設計戻りはインフラ・アプリ全体に影響を及ぼすので)
- そのために…業務全体の理解、状況をふまえた丁寧で漏れの無い概念データモデルの設計は不可欠という事。
- それには、知識を持っていることはもちろん、あらゆる業種での改革(IT導入)をデータの切り口からサポートできる実務力も必須であり、「普段から実務でやってれば、当然できるよね?」ということだろう。
- つまり…①タイトルと周辺数行や表・図から業務フローを構想、②文章(状況)から概念データモデルを構想、③細かいリレーションや属性を検討…と進む。
- 対策として、①はすでにITストラテジスト、システムアーキテクト、今までの実務経験である程度は補完できている。②は実は、本試験では未完成ながらある程度は完成している。つまり…①や②は「ある程度」できればよく、メインは③であると推測される。
- 以上も踏まえると、本試験にむけた直前対策の方針は変わらず「実技力のトレーニング」となるだろう。並行して「問われる観点が異なる午前2」「時間配分など実践的な慣れ」「直前の準備」なども行っていく。
問題112(SQL確認ドリル)
問題文
- web_logテーブルで1日の時間を「00」から「23」まで分けたとき、ページビュー数の多い順にトップ3を求めてください。
- 結果テーブルは、時間(hour)とページビュー数(pageviews)の2カラムとしてください。
format_datetime, group by, countのおさらい
- まず、1日の時間ごとにgroup byで束ねることを考える。
- ただし、salesテーブルは販売日時(date_time)をdate_time型で保持しており、時間単位ではない。
- そこで、format_datetimeの引数を”%H”に指定して時間を抽出する。
- 最後に、countを用いてページビュー数を求める。
- 具体的には以下のとおり。
考察
- データベーススペシャリスト資格について。今回は午後2対策として平成31年度問2の設問2を解き、研究ふまえ本試験に向けた学習戦略を再構築した。また、SQLの確認ドリル(web_logテーブルにおいて、”00″から”23″までの時間別のPV数トップ3を求める)を解いた。
- キャリアコンサルタント資格にかかわり、妻と会話をした。妻いわく「今までの経歴の”点”はあるが、”線”になっていない。それらを繋げて未来に伸ばす相談には乗ってほしい。ただ、自分の人生は自分で決めたいので、答えは自分で考える」と要求され、本質を突いており感銘を受けた次第だ。
考察のシンプル化と英訳(練習中)
- 点は線になり未来に繋がる。だから、今この瞬間も大事だと思う。
- Dots become lines and connect to the future. So, I think this moment is very important.
参考資料
- 集中演習 SQL入門/木田和廣/株式会社インプレス
- 2022年度版 ALL IN ONE パーフェクトマスター データベーススペシャリスト/TAC
コメント