はじめに
初めて「SQL」という単語を知ってから「自分で触れるようになる」までのロードマップとして、自分が使ってみて良かった教材やツールをまとめます。
構造化クエリ言語 (SQL) とは
データベースの定義や操作ができるデータベース言語。
Step1: データベースが何か知る
ざっくりいうと「情報を置いておける場所」。
名簿や家計簿などもその一つと言える。
こういうと「表みたいな感じかな?」と思う人も多いと思うが、表っぽいものだけではなく色々な種類がある。
参考:データベースとその種類 | Oracle
SQLはRDB(リレーショナル・データベース)といった「列と行を持つテーブルの集合として表されるデータベース」で使われる。
Step2: オンライン学習ツールでSQLを触る
データベースの勉強において、「データベースを構築してデータを用意する」のは結構ハードルが高い。
自分で環境構築する前にオンライン学習ツールで雰囲気をつかんだり、コードを打ってみたりするのがおすすめ。
おすすめサイトはProgate。スライドでSQLについての説明を見た後に予め用意されているデータベースを使って演習できる。自分のパソコン内で環境構築する必要が全くなく、色々な操作を試せる点が魅力。
Step3: 自分でデータベースを構築する
基本的な操作がわかったら、データベースの定義やよく使われるツールについて知ると良い。
業務で使われているツールがあればそれを使うといいと思う。
初めはデータベースの中身が目で確認できた方がわかりやすいので、GUIのアプリがあるツールを使うのがおすすめ。
私はSQL Server Management Studioを使っていた。
Step4: プログラミング言語と組み合わせる
最後に自分が使うプログラミング言語とデータベースを連携させてみる演習をする。
私はC#を使っているのでEFCoreを使っています。
EF CoreについてはHitoshi Kamadaさんの以下の投稿がとてもわかりやすかったです。
ありがとうございます。
Step5: 良いデータベースの設計や色々なコマンドを知る
データベースの設計には良し悪しがあり、それについてまとめて下さった本やサイトがたくさんある。
ミックさんのブログや書籍がとてもわかりやすいとのこと。
ご本人のホームページに書籍一覧やデータベースの設計・コマンドに関するブログが掲載されているので是非一読することをおすすめする。
参考:ミックさんのホームページ
最後に
まだまだ勉強中の身ですので、訂正や追加、これやると良いよ!というツールや書籍などありましたら是非ご連絡頂けると幸いです。
初めてSQLを触ったときプログラミング言語に比べて敷居が高く感じ戸惑ったので、どなたかのお役に立てれば嬉しいです。