AIに聞けばSQLは完璧じゃね?

AIに聞けばSQLは完璧じゃね?

ぶっちゃけ、そうです。

プログラミングを学び始めた人にとっての
最初にぶつかる壁の一つ(と勝手に思っている)、
それがSQLです。
ところが近年のAIの発達は凄まじく、
簡単なことから複雑なことまで素早く解決してくれます。
これはデータベース操作言語であるSQLについても例外ではありません。
今回はそんなAI技術の発達によりSQLの学習はどう変わったかを考えてみます。

SQLはAIに聞こう!

データベース操作言語であるSQL(Structured Query Language)
基本中の基本であるCRUDを始め、
WHEREやORDER BY、JOINといった内容から学習を進めたものです。
プログラム言語とは違う独特の構文や考え方に翻弄されながらも
少しずつSQLというものの理解を進めていったおかげで
私は今現場でSQLを使いこなして業務ができているわけです。

しかし、AIが発達した現在、
「アレをコレするSQLを作って」と命令するだけで
瞬時に目的のSQLを作成してくれる時代になりました。
人間がやりがちな誤字などのケアレスミスもほぼせず、
日本語の文章さえ書ければ誰でも精度の高いSQLを作成できるようになりました。
これは喜ばしいことです。
時間をかけて考えて精度の低いSQLを作り上げるより断然良く、
もし動作不良があっても原因調査もAIの得意分野です。

高精度な叩き台として実行前に人の目で確認さえすれば、
SQLはAIに聞いて作成すべきと言っても良いと私は思います。
もちろん確認するためにはSQLの知識が必要で、
的確な命令をAIに投げるにはDBを理解しセンスを磨く必要があります。
それでもそれらが無くても包み隠せるくらいにAIのSQL作成力は高いので、
以前より学習の重要性や価値は間違いなく低下しているでしょう。

勉強するべきはストアド

ストアドプロシージャ
一連の処理をまとめてデータベースに保存しておく仕組みで、
DB版のプログラムのようなものです。
SQLを理解した先で続けて学習する人も多いかと思います。
例えばお店のシステムで注文が入った時に、
商品の在庫を減らして、客と会計情報を紐づけて、といった
複数の処理をひとまとめに行いたい時に便利です。

ストアドについても大部分はAIで作成可能です。
しかしSQLに比べて注意すべきポイントが多いです。
まずSQL単体よりも複雑な処理になります。
指示も長く複雑になるため、漏れなく作成できる可能性は低下します。
またトランザクションのような他ストアドと絡むことを考慮する必要もあり、
AI作成時にそこの考慮が抜ける可能性もあります。
AIは机上論で作成するため、
実際に動かしたらデッドロックした!なんてことも想定すべきです。
つまりAIは補助レベルで使用すべきで人が関与する割合が高く、
学習に力を入れる恩恵が大きいのはSQLよりストアドということになります。

まとめ

決してSQLの勉強が無意味だとは言いませんが、
SQLを勉強することの重要性や価値は間違いなく低下しているでしょう。
そしてよりレベルの高い技術の価値は高まっています。
変化を受け入れて順応して、
これからの現場に必要とされるエンジニアを目指しましょう!