この記事は「データベーススペシャリスト資格に興味はあるが、どのようなものか?どう学ぶのか?」という方向けに、具体的な内容と私自身の挑戦ログをお伝えする。学び中の方や、これから学ぼうとされる方の参考になれば幸いだ。今回は知識およびSQL(確認ドリル)について書く。(SQLはGoogle Big Queryに準拠)
また、考察においてキャリアコンサルタント資格の挑戦ログについても記述する。
DB学習方針(一部再掲)
対策MUSTのもの
- 午前2対策、TAC講義動画全て視聴⇒完了
- 午前2対策、TACテキストの問題全て完答⇒3ラリー目まで完了(直前見直し要)
- 午前2対策、過去5年分の過去問ベースで完答⇒着手中
- 午後対策、TAC講義動画全て視聴⇒完了
- 午後1対策、”物理+SQL”問題につき、解き方を把握しておく⇒現在着手中⇒直前にもう一度解く(無理なら頭の中で解く)は必要。定着のため
- 午後1・午後2対策、論理設計問題につき、時間内に答えを埋める訓練⇒約7つの過去問につき2ラリー目まで完了。1日1回の実技演習として3ラリー目実施中
- 全般対策、TAC実力テストおよび公開模試の提出⇒提出済、返却待ち
- 全般対策、R3を午前・午後通しで解いて最終仕上げ⇒未着手
対策BETTERのもの
- 午前2対策、三好先生の本ベースでも問題を解いておくことで、より幅広く対応⇒未着手
- 午後対策、過去問パターンや業務基本パターン(三好先生テキスト)の記憶⇒未着手
今後の大まかな計画
- 午後1″物理・SQL”を1日1問「解き方把握」する(上記MUST№5)
- 1日1回論理設計実技は続ける(上記MUST№6)
- 残りの時間で、午前2対策(MUST№3)、R3(MUST№8)を行う。(返却され次第、TAC実力テストや公開模試振り返り研究。公開模試は動画もあり(MUST№7)
- 夜寝る前などスキマ時間かつスマホ・PC利用できないときは、本ベースの学習(BETTER№1,2)
過去問研究時の考察(NEW)
- 何回も繰り返し午後問題を解き、振り返り研究していると、頭の中にマスタとトランザクションのER図が思い浮かぶ。
- 例えばマスタに顧客・組織・サービスがあり、トランザクションの注文には顧客と組織が矢印で結ばれ、注文明細には注文とサービスが矢印で結ばれ、のように。
- すると、各エンティティ内の属性もアテがつき、業務の流れとともにどのエンティティのどの属性が更新されるのかイメージか湧くようになる。
- こうなると、本文を読むときに頭の中で「ER図とスキーマと状況説明」が結びついて理解できるようになる。これが短時間で正しく解くための入口だと実感。
- この力を養うには、過去問を解く際にいくつか意識することがあると思われる。
- ①まず、仕事の仮想体験だと思って読むこと(脳の最初の認知スイッチを入れるイメージ。自分ごととして捉えられるようになり、頭に入る。)
- ②次に、ER図とスキーマと状況説明を読み、頭のなかで組み立て読んでいくこと(立体的に頭を使うイメージ。業務説明を聞いて「はい」でなく、頭のなかでは「さてどう設計するか?」と考えている)
- なお、その際業務の直感的理解のため表は極めて有効。大まかに「何がしたいのか」読み取れると良い。
- ③最後に、設問については「おそらくこうだろう」という仮説を先に立て臨むこと(アウトプット思考)
- なぜなら、設問は「設計するなら当然意識すべき事例(または失敗を経て体に刻む事例)」であることが多く、答えを一から探すのではなく、いくつかある状況別事例集(頭の中の引き出し)のうちどれに該当するか探す、という工程になることをIPAは望んでいると思われるから)
- 要するに、「ここにこのヒントがあるから、答えをこう導く」の一歩手前。「そもそもこんなイメージのはず」という仮説思考まで追体験するため、過去問を自分ごととして捉えるのが大事ということ。
- そのために、過去問を解く際は「設問のパターン(基礎理論・トリガ・参照制約・SQL…など)」および「業務のパターン」の二重の意味でストックしておくと良い。
- 過去問のパズル要素だけでも面白いのに、業務の追体験ができて、さらに読解力も鍛えられて三重で面白い。いずれにせよ、楽しんでやりたい。
DB学習ログ
午後1″物理・SQL”
- 今回はH30問2の参照制約とトリガに関する問題を確認。
- SQL、参照制約、トリガについて設問パターンとしてストックできた。
- あらためて、「基礎知識+読解力+パズル要素」で解ける難易度であることは確認。
- ただし、制限時間内になるべく正しく回答するには、過去問による設問パターンと業務パターンを体に刻むことが必要であり、「少し考えて答えを読む⇒自分ごととして振り返る(上記参照)⇒時間を置いてもう一度解く」のプロセスが必要そうだ。
1日1回論理設計実技
- 今回はH25 PM1 問2を実施。時間内に全て回答は完了。
- この問題を振り返って痛感したことは、上記「過去問研究時の考察」参照。
残りの時間でやること
- 午前2対策、今回はH30 AM2を実施。時間内に全て回答は完了。
- 結論として全問正解。とはいえ油断せず、これら過去問は確実に解けるよう注意すること。
問題123(SQL確認ドリル)
問題文
- customersテーブルで「一都三県」「一都三県以外」を値に持つpref_categoryごとに年齢のばらつきを知りたいとします。
- pref_categoryごとに年齢(age)の平均と標準偏差を求めてください。
- 年齢は2019年12月31日時点での満年齢とし、データはサンプルでなく全数として扱います。
- 結果テーブルはpref_category,ave_age,stddev_ageの3カラムとします。
case, avg, stddevのおさらい
- まず、カテゴリが2つに分かれるので、caseを使う。
- 具体的には、caseでcustomersテーブルの各行を参照し、prefectureがどの都道府県なのか判定し「一都三県」またはそれ以外(一都三県以外)と名称を振る。
- そして、これら名称をgroup byで束ねて、その後avg, stddevを用いて年齢の平均と標準偏差を求める。
- なお、年齢はdate_diff関数を用いて、2019年12月31日と、各行のbirthdayの差分を年単位で取得する。
- また、stddevは、全数なので_popを用いる。
- 具体的には以下のとおり。
考察
- データベーススペシャリスト資格について。午後1(論理設計および物理設計+SQL)実技をふまえ、今後意識すべきことを整理した。また、SQLの確認ドリル(customersテーブルの「一都三県」「一都三県以外」ごとの年齢の平均・標準偏差)を解いた。
- キャリアコンサルタント資格について、メンタルヘルスに関する知識の一部を学んだ。とくに「精神疾患の症状」は多様かつ誰でも成り得るものと感じた。だからこそ「もし身近な人が私に相談してくれて、心身に良くない兆候がありそうなとき、私ができる最善な行動は何か」を常に考えたい。
考察のシンプル化と英訳(練習中)
- I want to be able to notice signs of illness in people close to me.
- (私は、身近な人の不調のサインにも気づけるようになりたい)
参考資料
- 集中演習 SQL入門/木田和廣/株式会社インプレス
- 2022年度版 ALL IN ONE パーフェクトマスター データベーススペシャリスト/TAC
コメント