
なぜつくるのかシリーズのデータベース編を読んでみました。
SQLに興味を持った2005年くらいから、ちゃんとした書籍を読んだことが無く、実務でOJT的に覚えていったデータベースなので、
体系的にどのようなことを教えているのか知るいい機会になりました。
レビュー
★★★☆☆
このシリーズは基本的に、ド初心者向けに書かれているので、どのシリーズ本も8割〜9割は、すでに知っていることばかり書かれています。
それもわかって読んではいるんですが、流石に、SELECTの書き方やWHERE、GROUP BYなどの説明は読んでも学びに繋がらないので、軽く流し読みレベルで進めましたが、
NoSQLについての説明と、それを無料で体験できるWebサービスの紹介とその使い方の解説は、個人的には非常に参考になりました。
あと、仕事であまり使ってこなかった、VIEWについてもちゃんと解説されており、エンジニアとしての基本知識を改めて認識することができたので、
基本学習ができる書籍だと言ってもいいと思います。
この書籍から学べるポイント
ER図の書き方
リレーション・ラインの3パターン
基本構造
1:1 , 1:N , N:N
オプショナリティ(任意性)の表記
カーディナリティ(多重度)の表記
テーブル設計方法
データベースのテーブル設計は、システム開発でなかなか悩ましく、難しい領域です。
そんなデータベース設計のやり方というか、基本的な方法は、大きく分けて「トップダウン」と「ボトムアップ」の2パターンある内容が書かれています。
「トップダウン」というのは、業務システムの場合は、業務内容や、システム要望をまとめた文章をもとに構築する方法で、
「ボトムアップ」は、データアトリビュート(項目)をもとに、正規化を行い、モデル化をするという方法です。
それぞれ難しく聞こえるかもしれませんが、分かりやすく図解も含めて書かれているので、設計を学びたい人は一読するといいでしょう。
検索、追加、修正、削除
データベースの基本操作であるクエリ言語について、実際のサンプルデータをベースに基本コードが書かれています。
サブクエリや、スカラクエリ、グループ化、CREATE VIEW、などなど、一通りの基本ククエリが書かれているので、初心者が学ぶにも適している内容です。
プログラミングアクセス
Pythonを使って、データベースにアクセスして、クエリを実行してからデータを取得するまでの環境構築(windows環境)のやり方が書かれています。
サンプルコードもあるので、手軽にデータベース実行環境を構築して独自に学習することができるようになります。
クラウドデータベース
言わずもがな、AWSや、Asure、GCPなどのクラウドサーバーを使ったデータベース構築と、オンプレミスの違いについて説明されています。
それぞれの特徴と、どういった状況で使い分けるべきか、企業のセキュリティを強くしたいシステムの場合なども含めて参考ケースが書かれています。
NoSQL
MongoDBについての説明が書かれていますが、MongoDB Atlasという、無料で使えるクラウドサービスを使って、NoSQLを実際に扱うサンプルコードなどが解説されています。
世の中の主流は、リレーショナルデータベースですが、NoSQLも使い慣れると、会社システムなどでも十分便利に使えるシステムであることが分かります。
一度はデータ操作をしておくことで、今後自分で設計するようなシステム構築の場面で選択肢に入れることができるようになるので、エンジニアたるもの、一度は体験しておくことをオススメします。
あとがき
書籍を読むことの意義を改めて認識できた読後の思考でした。
評価はさほど高くしていないのは、やはりデータベースの書籍の大半は、既知のSQLクエリのことばかり書かれていたからですね。
それ自体は悪いことではないんですが、個人的に環境構築でwindowsしか書かれていないのが、MacやLinuxといった、より本番環境に近い状態での解説が良かったな〜と感じた点が大きいですね。
なんなら、Dockerを使って、どの環境でも動作する構築か、それこそクラウドを使って、クエリやPythonコードが実行できるだけでもいいのにな〜と考えてしまいました。
でも、いつもどんな書籍を読んで、面白くなかったな〜と感じた後でも、読み終えた後のクリア感という充実感は感じられたので、今回も一段ステップアップした感覚を得ることができました。
0 件のコメント:
コメントを投稿