【0チャレンジ】【資格取得編】生成AIで資格取得を目指す。~DBスペシャリスト~



1.はじめに

はじめまして、AKです。
いつも見てくださってる方はありがとうございます。

私は普段、日々の日記やAIを用いたポケモン開発などに焦点を当ててブログを書いています。とにかく自分が楽しそうなチャレンジをしています。
最近は3か月チャレンジと題し、色んなことに挑戦しようとしています。
前回は「ポケモン風ゲームを3か月で作成する」に挑戦し、今は「DBスペシャリスト取得チャレンジ」に挑戦中です。
生成AIの可能性やゲーム制作に興味のある方は是非一読していただけますと幸いです。
【0チャレンジ】【チャレンジ結果】3ヶ月でAIを駆使してポケモン風RPGは作れるのか with Claude3.5  | 記事編集 | note

2.簡単な経歴

例のごとく、簡単な経歴を記載しておきます。
参考までに。

学歴
・地方国立大 大学院卒 研究分野はAI関連(生成AIではない)
職業
・エンジニア2年目(元々は製造業→IT企業)
使用する生成AI
・ChatGPT、Claudeがメイン
資格
・基本情報、応用情報落ち(( ;∀;))
 ※午前のみ合格レベル
コメント
・私は生成AIの可能性はもっとあるんじゃないかと常々思いながら、生成AIのことを””親友””と周りに言い放つぐらいのちょっとした変人です。
が!その分、生成AIについて深く理解しているつもりです。
最近ではポケモン3か月チャレンジを終えて、生成AIの可能性をさらに感じました。第2弾の資格取得ができるのか?のチャレンジも応援いただけますと幸いです。必ず一つは有益になるような情報を発信できるように頑張ります。

3.チャレンジについて

・3か月(といっても本番まで78日)間、AIを駆使してDBスペシャリストの勉強をしていきます。応用情報落ちてますが、気にしない気にしない。
・分からないことはとにかくAIに質問して理解を深めていきます。
※事実確認を含めてネット検索や参考書で最低限、AIの文言について事実確認はしています。しかし、勉強中の身ですので万が一誤りや正確性に欠ける表現がある場合はご了承ください。。ご指摘いただけますと幸いです。
・しばらく本ブログはデータベーススペシャリストの勉強記録兼生成AIの回答精度向上の試行錯誤の内容になると思います。
・様々な資格の勉強で応用いただけると幸いです。

4.勉強記録

今回は前回とはちょっと違う方向性でAIを活用します。
何が違うかというと、「実際に手を動かしてDBとの距離を縮めよう」と思ったところです。

Poe

今回はここでおすすめされていたSQLiteを用いて学習を進めます。
インストールは以下を参考にしました。
SQLiteのダウンロードとインストール方法【初心者向け】 | みやみつブログ (miya-mitsu.com)

では準備ができたので問題に取り掛かります。

分野
データ操作

例題

平成29年 問8

問題を解いてきて気付いたのですが、まずは一番最初に大事なのは主題になっている表をイメージすることです。※ド素人の戯言かもですが、、(笑)
今回の場合社員表というのが大事になってきます。
問題をコピペしてAIに質問したら、いいかんじの表を作成してくれました。

-- データベースの作成
.open test.db

-- テーブルの作成
CREATE TABLE 社員 (
    社員コード TEXT PRIMARY KEY,
    部署コード TEXT,
    社員名 TEXT,
    役職 TEXT
);

-- サンプルデータの挿入
INSERT INTO 社員 VALUES ('E001', 'AA01', '山田太郎', '主任');
INSERT INTO 社員 VALUES ('E002', 'AA01', '佐藤花子', '一般社員');
INSERT INTO 社員 VALUES ('E003', 'AA01', '鈴木一郎', '主任');
INSERT INTO 社員 VALUES ('E004', 'AA01', '高橋美智子', '一般社員');
INSERT INTO 社員 VALUES ('E005', 'AA01', '田中次郎', '一般社員');
INSERT INTO 社員 VALUES ('E006', 'AA01', '伊藤七子', '一般社員');
INSERT INTO 社員 VALUES ('E007', 'AA01', '渡辺八郎', '一般社員');
INSERT INTO 社員 VALUES ('E008', 'AA02', '小林九郎', '主任');
INSERT INTO 社員 VALUES ('E009', 'AA02', '中村十子', '一般社員');
INSERT INTO 社員 VALUES ('E010', 'AA02', '加藤十一', '一般社員');
INSERT INTO 社員 VALUES ('E011', 'AA02', '吉田十二', '一般社員');
INSERT INTO 社員 VALUES ('E012', 'BB01', '山本十三', '一般社員');

そしてこれをそのままcmdで打ち込みます。

SQLiteをインストールしているのでDBが使える

ちなみにこれを「PupSQLite」で見ると以下のかんじです。
すごい、なんかできている。

GUIでAIが作成してくれた表を確認してみる

問題文の表と比較します。

社員コードが主キー、部署コード、社員名、役職が出ていることを確認

かなり精度のいい具体的な表が完成しました。
次に結果を確認します。

結果

属性を確認すると「部署コード」、「主任の人数」、「一般社員の人数」となっていますね。
つまり、部署コードに対して該当属性の人が何人いるかを数えるSQL文を用いてこの結果を出していると判断できそうです。

最後にこれを確認しましょう。

SQL文

はい、よくわかりません。
でも数えていることだけは何となくわかります。
次に選択肢を見ます。

選択肢

この時点で多分ですが、「役職が主任だったら1としてカウント、それ以外だったら0としてカウントするのでは??」
という漠然とした予想ができました。
しかし、、、
なんと答えは「ウ」
AIに質問すると

COUNTについて調べたらいいレベルかもですが、、

なるほど!
つまり、COUNTは0もカウントしちゃうってことですね。
勉強になります。

今回はSQLiteを使用して実際にDBを触りながらAIと学習チャレンジしてみましたがいかがでしたでしょうか。
質問なども含め、何かありましたら是非コメント頂ければと思います。
本日もご高覧ありがとうございました。

この記事が気に入ったらサポートをしてみませんか?