【番外編】Excelの知識しかない人をRDBの担当者にする:SQLの知識がなくてもJetBrains AIを利用してRDBをノーコード生成!
企業にとってデータは顧客の次に大切なものであり、その保持・管理・活用方法について各社の担当者は日々、頭を悩ませているところだと思います。
2010年代になってから話題になった「NoSQL」はデータベースの一つの選択肢としてすっかり定着し、2020年代になってからはWebブラウザからデータの入力・閲覧がすべてできてしまう「DBaaS(サービスとしてのデータベース)」とでも呼ぶべき製品も多数出てきました。それらを活用したいところですが、社内で運用しているRDBMSをすぐにやめるわけにもいきません。
これらを保守するには、担当者は最低でもSQLは覚えておかなければならないのですが、教育コストが掛かります。そこで今回は「先輩社員がいなくても、SQLを知らなくても、RDBMSの保守管理ができる」という架空の話を書いてみようと思います。
突然に来た危機
あなたは入社2年目の社員です。1年目は社内バックオフィスの担当者として、主にExcelで管理されたデータの入力・管理をしていました。
2年目の春になり、社内の組織が少し変わりました。突然あなたは、今まで別の人が担当していた社内データベースを任されることになったのです。
なんでも前任者が退職するとかで、あなたがその担当を引き継がなければならなくなったのです。前任者は元SEだとかいうバックオフィス担当者で、社内で利用しているリレーショナル・データベース・マネジメント・システム(RDBMS)の保守管理が主な仕事でした。あなたはそのRDBMSのことはなんとなく知っていましたが、どのように使ったらよいのかよくわかりません。前任者がキーボードに向かって何やら呪文のようなものを入力してデータを取得していたことは彼の後ろ姿を覗き見することで何となくは知っていましたが、自分には関係のないことだと思っていたからです。
彼の退職は突然知らされたことであり、「引き継ぎ.txt」と書かれた、なんだかよくわからなない5KBほどのテキストファイルをWindowsのデスクトップに置いて彼は会社を去るようでした。
あなたは愕然としました。自分にとっては永遠の謎のように感じていたRDBMSを日々メンテナンスしなければなりません。あなたは新しくその担当者に任命されたわけですが、困ったことにあなたはSQLクエリ言語を知りません!「Excelなら使ったことがあるんだけど…」自分も会社を辞めるしかないのか、と暗い気持ちになります。今まで順調に仕事をやってきたと思っていたのに、今では路頭に迷う自分を想像して身震いしています。
RDB初心者はJetBrains DataGripを導入しよう
大丈夫です、あなたは路頭に迷う必要はありません。そんな時には慌てず、絶望せず、JetBrains DataGrip を導入してください。あなたの会社がケチで、この製品を買ってくれなかったら、自腹で買ってください。ついでにJetBrains AI サブスクリプションにも加入してください。コストは年3万、といったところですが、この少ない投資であなたは路頭に迷わずに済みます。
なぜ彼(彼女)はDataGripにたどり着いたのでしょうか?それには少し時間を遡る必要があります。
今回、会社を辞めることになった先輩社員が残した「引き継ぎ.txt」をあなたは開いてみると、「DBのフロントエンドはA5M2を使え」と書かれていました。
あなたはA5M2を何と発音したらよいのかもよくわかりませんし、その先輩社員の言われるがままにGoogle経由でA5M2のWebサイトを開きます。
あなたは目まいがしました。まるで90年代後半のようなWebサイトが出てきたからです。まるで、ネットミームにもなった「阿部寛のホームページ」のようです。
先輩社員の書くがままにA5M2をWindows(そうです。これはWindowsでしか使えません)にインストールして起動したところ、まったく使い方がわかりません。何か、親ウィンドウの中に子ウィンドウがあり、子は親を超えて移動はできないようです。なぜこんな使いにくいUIになっているのでしょう?タブブラウザとスマートフォンで育った世代である彼(彼女)には、MDIというものの存在意義が理解できなかったのです。
辞めることになった先輩社員(社内では「サクラエディタおじさん」と揶揄されていた)のお薦めがどうもよく理解できなかったあなたは、別の社員に相談しました。その社員はSEとして長年Javaを扱っていたようなのですが、そんな彼がお薦めする製品がJetBrains DataGripでした。
A5M2に比べてモダンなWebサイトなので、少しあなたは安心しました。それからDataGripをインストールしたところ、プロっぽい黒い画面に若干ビビリつつもあなたはJavaジョッキー社員にDBへの接続設定を手伝ってもらい、DBのレコードを表示しました。まるでExcelのような操作の「使い心地」に、あなたは「これなら私にも使える」と安心しました。彼(彼女)の主な仕事はマスタデータのメンテナンスおよび編集だったので、Excelと同じように操作できるDataGripはいたく気に入りました。データ編集後に「保存」するかわりに「送信」ボタンを押すというのに少し違和感を感じたものの、大した違いではありませんでした。
すっかりDataGripの操作にも慣れたところ、あなたは経理担当者からこんなことを言われました。「社員のうち、給与が40万円以上、50万円未満の人って何人いる?レコードをフィルタリングしてこっちに渡して欲しい」。
これはカラム行の横についてフィルターアイコンを押して、Excelのように抽出することで仕事を完了できました。
別の日、社内の内製開発を担当しているSEからこんなことを言われました。「経理担当者から言われたんだけど、毎回あなたにデータを抽出してもらうのが面倒だから社内Webサービスで自動的に給与を抽出できるようにコーディングして欲しいって言われちゃって。このあいだ経理担当者にデータを送るために使ったSQLを送ってくれる?こっちでコードに埋め込むから」
SQL?ついにこの時が来たのかとあなたは青ざめました。SQLを知らなくてもDB担当者になって、だましだまし仕事をしてきたのに…。
件のJavaジョッキーに聞こうとしましたが、彼はちょうど出張中でした。メッセージングアプリで彼が言ったことは「ちょっと今手が離せないんだ!SQLがほしいならAIアシスタントに聞くといいよ」でした。
あなたはよくわからないまま、渦巻きのようなアイコンをクリックするとLINEのようなチャット画面が表示されました。
あなたはデータ抽出の条件を入力すると、すぐに回答が出てきました。これがSQLのようです!あなたは安堵してそれをコピー、console画面にSQLをペーストしてそのSQLを実行してみました。
あれ?給与が50万円の社員も出てきたみたいです?これは自分が欲しかった結果ではないので、あなたは質問をこのように変更しました。
'社員マスタ'テーブルの中から、'給与'カラムが400000以上、500000未満の社員を抽出する
SQLを書いてください。
今度は微妙に違うSQLが出てきました。
以下のSQLクエリを作成しました。このクエリは'社員マスタ'テーブルから全てのカラムを選択し、
その中から'給与'カラムの値が400000以上、500000未満のレコードを抽出します。
SELECT * FROM 社員マスタ
WHERE 給与 >= 400000 AND 給与 < 500000;
違いは '<' と '<=' の違いのようでした。どうやら「未満」の場合は '<' を使うらしいのです。あらためてconsoleでSQLを実行してみると…。
望み通りの結果が出てきました!あなたは今回の一件で、SQLをどのように書けばよいのか何となくわかったような気がしましたし、わからないことがあればAIアシスタントに聞けば良いのだと安心しました。
それからあなたは、暇を見つけてはAIアシスタントにSQLやDBについて知らないことを質問して、少しずつSQLについての知識を深めていくことができました。しばらくすると、彼(彼女)はJavaジョッキー社員に質問することもなくなりました。何かわからないことがあれば、いつでもAIアシスタントに聞くことができるからです。まるで、超・有能でフレンドリーな先輩社員がいつもそばにいるように感じています。
こうしてDataGripとJetBrains AIの力によって、一人の若者が路頭に迷わずに済みました。ハッピーエンド💜
最後に:こんな「ノーコード」の形もある
上の話では、従来のRDBMSを使いつつも、どのようにしてSQL(コード)を書かない、または自動生成させるかについて書いたつもりです。
既に利用しているデータの保存先を変更する、というのは結構大変なことで、一朝一夕にできることではありません。「従来のRDBMSに保存されたデータの保守作業の効率化」として、今回は新し目のツール(DataGrip)や、SQLを自動生成してくれるAIアシスタントに注目しました。これこそ「今日からできるノーコード化、作業の効率化」ではないでしょうか?
ノーコードがすべての問題の答えではありませんし、答えは「何を解決したいのか」の質問によって変わります。私たちはお客様にとって最善のソリューションは何かを知識と経験によって柔軟に回答することができます。ぜひ皆さんの業務上の悩みをお聞かせください!
補足:テストデータの生成にも!
今回、記事を書くにあたってスクリーンショット用のテストDB、テーブル、データを用意しました。これをゼロから自分で作るのが結構面倒なんですよね。今回、私はデータの生成を ChatGPT 3.5 に任せましたがJetBrains AIでもできると思います。
お問い合わせ
kintone導入検討時のご相談から、導入後の利活用・定着化に至るまで、私たちは、お客様と「伴走」しながら思いを込めてサポートいたします。ご相談無料ですので、ぜひお気軽にお問い合わせください。
記事作成
kintone推進チーム 金子 😉
コメント