この記事は「データベーススペシャリスト資格に興味はあるが、どのようなものか?どう学ぶのか?」という方向けに、具体的な内容と私自身の挑戦ログをお伝えする。学び中の方や、これから学ぼうとされる方の参考になれば幸いだ。今回は知識および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)
回答プロセス考察(NEW)
- 共通の回答プロセスとして、「本文・設問・RDBMS仕様・パズル要素」の4点と認識。
- まず「本文」とは、本文中で設問について記載している箇所を探すこと。大抵設問1から順に本文も綺麗に並んでいるので、特定しやすい。
- 次に「設問」とは、設問そのものであり、「〇〇について答えよ」となってる部分。「xxのとき」など前提・制約が課されていることが多く、これが回答を絞り込む情報に成り得る。
- 次に「RDBMS仕様」とは、設問に関わりのある仕様の記載箇所を探すこと。記載の内容は毎回ほぼ同様で、少しづつ特色があるので、過去問を解きながら慣れるのがベターか。ここの記載はヒントであり制約でもある点に注意。
- 最後に「パズル要素」とは、穴埋めで既に埋まっている箇所もヒントに、残りを推測して埋めていく作業。実はかなりこれで解ける部分も大きい。
- いずれにせよ上記の作業で、答えは一意に特定できるはずなので、それを意識しておくこと。
DB学習ログ
午後1″物理・SQL”
- 今回はH29 問2のトランザクションの同時実行制御に関する問題を確認。
- 応用力を身に着けるため、「なぜそうなるのか」の理解をあわせて行いたい。
- 今回の大事なポイントは3つ。
- まず、回答プロセスは本文・RDBMS仕様・パズルのほか、設問もしっかり読むこと。これが制約になっていることがあるので。言い換えると、「本文・RDBMS仕様・パズル要素・設問」の4つにより、ほぼ一意に回答が定まるということ。
- 次に、処理速度を速めるためトランザクションの並列処理は良く行われるため、アンチパターンと対策を設問をとおして理解しておくこと。キモは、どの同時実行制御のとき、何が起こり得て、それがどのようなタイミングか把握すること。
- 最後に、処理速度を速めるためデータの区分化も良く行われるため、アンチパターンと対策を設問をとおして理解しておくこと。キモは、区分化のやり方がうまくないと、ボトルネックになり得ること。
1日1回論理設計実技
- 今回は、R2 午後2 問2の設問2,3(トランザクション部分、SQL)を再度解いた。
- もともとの計画時間内に回答終了。ほどよく内容は忘れていたので、プロセスの良い復習になった。
- 気づきとして、トランザクション間の外部キーとリレーションは全て埋められたが、属性(とくにマスタへの外部キー)に一部漏れがあった。
- これは難易度がやや高い部分であるが、「マスタへの外部キーは十分か?」という視点は、時間に余裕があれば持っておきたい。とくに、既に埋まっている部分にマスタ外部キーが多くみられる場合。
(1日のうち)残りの時間でやったこと
- 午前2対策について、三好先生の本ベースでSQLの知識を読み、問題を解いた。
問題128(SQL確認ドリル)
問題文
- salesとproductsテーブルから、商品カテゴリ別に”販売個数の合計”と”販売金額の合計”を取得してください。
- 販売金額合計が大きい順に並べ替えて表示してください。
joinおさらい
- salesテーブルは販売個数を管理しているが、商品情報はproduct_idのみである。
- いっぽうproductsテーブルは主キーにproduct_idを持ち、product_categoryなど詳細な商品情報を含む。
- そこで、product_idを結合キーにしてsalesテーブルとproductsテーブルを結合し、そのうえで商品カテゴリ別に束ねて、販売個数(quantity)および販売金額(revenue)の合計を求める。
- 具体的には以下のとおり。
考察
- データベーススペシャリスト資格について。午後1(SQLの処理時間、論理設計)実技をふまえ、今後意識すべきことを再整理した。また、SQLの確認ドリル(salesとproductsテーブルから、商品カテゴリ別に”販売個数の合計”と”販売金額の合計”を取得する)を解いた。
- キャリアコンサルタント資格について、「仕事理解の支援」に関する知識の一部を学んだ。様々な団体から、仕事の種類や特徴の情報はもちろん、職業探索ツールなど幅広く提供されていることが理解できた。私も”より良い職業選択の支援”を行うため、これらの情報をぜひ学び、活用していきたい。
考察のシンプル化と英訳(練習中)
- When choosing a job, I think it’s important to know enough about the various jobs.
- (仕事を選ぶときは、様々な仕事について十分に知っていることが重要だと思います)
参考資料
- 集中演習 SQL入門/木田和廣/株式会社インプレス
- 2022年度版 ALL IN ONE パーフェクトマスター データベーススペシャリスト/TAC
コメント