RDBと集合論

いつもいつもRDBに関わるときは、ググって例を探して応用して・・・の繰り返しでしか無い。応用情報技術者持っててオラクルマスターもあるのに。
SQLはどうもプログラミングとはノリが違っていて、いまいち理解できていないことが原因だと思う。

今はkey valueとか出てきているので、相対的に重要度は下がっているのかもしれないけど、依然として利用シーンは多く、理解を深めたい。

RDBとはなにか

AWSから引用すると

事前定義された、関連があるデータ項目の集合体です。この項目は、列と行を持つテーブルのセットとして構成されます。テーブルは、データベースに表現されるオブジェクトに関する情報を保持するために使用されます。テーブルの各列には、特定の種類のデータおよび属性の実際の値を保存するフィールドが保持されます。テーブルの各行は、1 つのオブジェクトまたはエンティティに関連する値のコレクションです。テーブルの各行は、プライマリキーと呼ばれる固有の識別子を使ってマーキングできます。また、外部キーを使用すると、テーブル間で複数の行を関連付けることができます。

集合らしい。 いろいろ調べると、RDBは集合論に基づいているから理解し辛いみたいな記述を見かけるので、その方向から見てみる。

と、思ったけどそもそも集合論があやしいのでまたの機会に学ぼう。 「理論から学ぶデータベース実践入門」でも読むべきか。正規化を過剰に行うとパフォーマンスが落ちるとか、どこまでシナリオを見るべきなのかとか。いろいろわからない。動くものは動くんだが。

パフォーマンスと保守性とスピードとのトレードオフとか。そもそもなんでデータベースは集合論に基づいたものが1番使いやすいのかとか。あとオラクルの歴史とか。