SQLはほぼ英語だった!
こんにちは。しゅーのーです。
今日から3連休ということで、以前から進めていた日曜大工をしながらプログラミングの勉強をしていました。
今日はデータベース、「SQL」についてです。
参考書はこちら。
データベースと表
参考書は一度ざっと読んであるので、今日は実際にSQLを動かしてみることにしました。
「データベースと表って何が違うんだ?」というところからスタートしたんですが、データベースの方が処理が高速だったり、データの検索や集計が簡単にできたりするそうです。
住み分けとしては、小規模なものであれば表、大規模なものを扱うのであればデータベースを使うという感じで間違いないんじゃないでしょうか。
ほとんど英語
データベースはSQLというプログラミング言語で操作していきます。
他のプログラミング言語は、変数だとかオブジェクト指向だとか、複雑な印象がありますが、SQLは結構簡単なものだったなと思います。
そのほとんどが英語を書いているような感じで、直感的にが書いてあるのかがすぐに分かるようになっているからでしょうか。
「SELECT」、「FROM」、「WHERE」の後にいろいろなことが書いてあるので、読むのはそれなりに簡単なんじゃないかと思います。多分。
とは言え、参考書には「データベースは奥が深い」ということが書いてあるので、ぼくが触れたのは本当にごく一部だけで、もっともっと複雑な何かが眠っているのかもしれません。
でも特に心配はしていません。
SQLはみんなが使っているので検索ですぐに解決できたりしちゃいます。
SQLのリレーションで1回つっかえたけど、検索したら解決!やっぱり先人の知恵は偉大ですね。 #SQL
— 30歳からWebエンジニア転職を目指す (@jobchangeit1) 2018年11月23日
今回もエラーが出てんですが、ちょっと調べたら解決しました(バージョン違いによるエラーみたいでした)。
難しいのは設計
データベースで難しいと思われるのは、恐らくその設計なんだと思います。
データベース上には、テーブルという表みたいなものを準備するんですが、1個で済まそうとするとかなり大変なことになりそうです。
なので、テーブルひとつひとつに役割を持たせて、テーブルAはこの情報、テーブルBはあの情報、みたいにして、後からくっつけて利用していく方が便利です。
後からくっつける、というのをリレーションというみたいです。
英語で言うと「関係」という意味ですね。
あっちとこっちは関係あるよーっていうことを明らかにする必要があるみたいです。
明日からは
参考書にしたがって、phpとSQLを連携させてアプリケーションを作成していきます。
今回の参考書はフレームワークを使わずに、力技でまずは1つのアプリケーションを作っていくようなので、基礎固めにはちょうどいい、はずです。
今日はここまで。ではー。