1. きっかけ
SQL を勉強しようとしたきっかけは、機械学習や Python の勉強を進めていくうちに、
データを取り扱う機会が非常に多いと感じたため、これまで避けていたのですが、さすがに着手しないとな… と思ったためです。
今回は調べたことのまとめと、ロードマップを書いて自身のモチベーションを維持するための投稿です。
知識があまりない状態で始めているので、間違っているところがあればご指摘お願いします。
2. SQL とは?
データベース言語の一つで、データベースの定義や操作を行なうために欠かせないものです。
ここで、「データベースって何?」と思った方は以下の Oracle からの引用でイメージをつけてください。
データベースとは、構造化した情報またはデータの組織的な集合であり、通常はコンピューター・システムに電子的に格納されています。データベースは通常、データベース管理システム(DBMS)で制御します。データとDBMS、およびそれらに関連するアプリケーションをまとめてデータベース・システムと呼びます。多くの場合は単にデータベースと呼んでいます。
URL: Oracle
まあ要するに色んなデータが格納されている箱があって、その中の整理整頓をするイメージかなと思ってます。
3. RDB(リレーショナルデータベース)
”列” と ”行” によって表現される ”表” の形で格納されたデータベース。
これを自由に加工することが現在最も普及されているのだそう。
確かに機械学習でもだいたいはこの形式。データの処理は表を上手く取り扱えるかどうかがカギなのか…。
もう少し自分の言葉でうまく説明できる必要がありそう。
4. 処理方法
データの登録、抽出、更新、削除 etc... といった Excel を触ったことがある人ならイメージしやすい作業。
ただ、このあたりのコマンドはボリュームがあるので、基本の処理方法 + 自分が使いそうな処理を覚えておくとよいと思われる。とりあえずは基本的な処理の方法を知ることからスタートする。
5. 学習ロードマップ
以下のような進め方を考えている。
当面、(1) の勉強にはなるが、まずは 1 ヵ月である程度処理ができるようになることを目標に進める。
(1) SQL の基本構文の理解を行なう
・まずはどのような文で何を行なうのかを知る。
土台をしっかり固めて基本的な処理はできるくらいの知識をつける。
(2) 練習問題を解く
・以下のサイトをどちらか最低 1 周はして (1) の部分が理解できているか確認する。
TECH Projin ( URL )
SQLZOO ( URL )
(3) 実践環境の構築
・自身が実際に PC 上でデータベースを処理する環境の構築
MySQL、Oracle、SQL Server などがあるが、やっぱり MySQL が無難かな?
(4) 実際にデータベースを処理する
・これまでの知識を生かして実際にデータベースを作ってみる。
6. まとめ
そんなに凝った投稿ではないですが、これから各部分の理解を深めてまた記事化できればなと思います。
また、就活もちょこちょこ始めているのですが、データを扱う職種関連は SQL を使えないと土俵にすら立てない感じなのかな … と調べていく上で思いました。
夏休み期間を存分に生かして、自身の研究および機械学習や多言語の勉強などと並行して行ないたいと思います。