DB

PostgreSQL徹底入門 第4版 インストールから機能・仕組み、アプリ作り、管理・運用まで

データベース

PostgreSQL徹底入門 第4版 インストールから機能・仕組み、アプリ作り、管理・運用までを読んだ。 PostgreSQLを触ったことなかった自分にはちょうど良い入門書だった。 アプリケーションの実例の章が割と多めにページを割かれているが、PostgreSQLの基本的なことはカバーされている。 ...

DB PostgreSQL

Indexとはなにか

データベース

インデックスとは テーブルに格納されているレコードを高速に取り出すための仕組み 以下のようなO(n)問題を抱えたクエリがあるとする。 SELECT * FROM users WHERE first_name = ‘Tom’ このクエリのパフォーマンスを上げるためには、以下のようにIndexを貼る。 ALTER TABLE users ADD INDEX (first_name) メリット・デメリッ...

DB インデックス MySQL

SQLアンチパターン

データベース

SQLアンチパターンを読んだ。 定番of定番。分かりやすい解説でアンチパターンが紹介されている。 ...

DB sql

初めてのSQL 第3版

データベース

初めてのSQL 第3版を読んだ。 SQL入門書として分かりやすい。駆け出しの時に読んでおけば良かった。基本的なことを振り返るにもちょうどよい。 ...

DB sql

理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL

データベース

理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL (WEB+DB PRESS plus)を読んだ。 理論から学ぶことでRDBに対する向き合い方、考え方を整理することができる。集合論や論理学は理解しきれていないので今後の課題。 ...

DB sql

DB設計におけるNULLについて

データベース

NULLとは 「値が存在しない」または「値が不明」ということを示す。 値ではないため値のように比較できない。 空集合(要素が0個の集合)ではなく、存在しない集合と見なされる。 リレーショナルモデルに反するNULL リレーショナルモデルは閉世界仮説(真であると判明しないものは全て偽であると仮定すること)に基づいており、NULLはこれに反する。 リレーショナルモデルでは2値論理が元となっているため、真...

DB

DB設計におけるID設計について

データベース

IDとは あるものを一意に特定するもの。 集合論において、あるものと属性が1:1で対応することを全単射と呼ぶ。 全単射になっているものはIDとして機能とする。 IDを考えるときは、単数に対するものか、複数(グループ)に対するものか、複数であればどのような粒度であるのか?などを考慮する必要がある。ex. カニという属性を考えるとして、どんな種類なのか?何科目なのか?色は?名称は? 一見一意性を持たな...

DB