積読消化です!買ったのは1年くらい前かな...?やっと手に取りました。
感想など
SQLはバッチ処理である
本の中で何度もこのことに触れられます。気軽にSELECT書いたりするけど、内部では複雑なことをしている(前段階としてtableをSELECTするなど...)そうです。本書の付録にそのことの詳細が説明されています。人間が複雑なことを頑張らなくて済むようにSQLとして平易に命令が書けるようになっているそうです。 「SQLはバッチ処理(一連の処理の塊)である」と知ったからにはありがたくSQLを実行します。
現実の複雑さとテーブルの複雑さが対応するように
正規化しさえすればいいというものではないという話。 「現実に重要情報ではないものをテーブルにするのはオーバーヘッドではないか」ということを考えて設計していく感じだと理解しました。 ちょっとしたメモなら1カラム扱い、単独のリソースとして業務でも扱うならテーブル扱い、という感じ。
RDBMSの歴史
「限られたCPUや実行時間、求められる整合性の全てを取りに行く」と「誰もがデータを活用する」という観点でRDBMSが主流になっていった、と。
「SQLはプログラマーだけのものではない」というのは仕事していてもよくわかります。
構造化プログラミングとの関係は自分の言葉ではまだうまく説明できないけど、go toって書いていた時代からの変遷とDBの発展が関係しているのは興味深く思いました。
まとめ
DB設計ってやる機会がある時は一気にいろんなテーブルを考える必要があるけど、そうじゃない時は全然ない(あるいは、考えはするけど現状から手を出せはしなくて本当に考えるだけだったり)ので、練習ででも設計をやったのが楽しかったです。スラスラ読める本なのと楽しいのとで一気に読んでしまいました。