doc.dev1x.org

DB設計に関する覚書

MEMO-1. テーブルの種類は4つ(リソース、イベント、マスタ、サマリ)

MEMO-2. 正規化は必ず行う(正規化崩しはしない)

MEMO-3. 非構造データは正規化しない

MEMO-4. 更新(Update)は極力避ける

MEMO-5. アプリケーションが使うテーブルとBIツールで使うテーブルは分ける

MEMO-6. テーブルの説明書を用意する

CREATE TABLE my_table (
    column1     int,
    column2     text,
    ...
)
comment='http://example.com/my_table.html';  -- テーブル説明書へのリンク

MEMO-7. DBだけで全てを解決しようとしない

MEMO-8. オンラインで全てを処理しようとしない

MEMO-9. データは極力物理削除する

MEMO-10. サロゲートキーを使う

MEMO-11. NULLは極力排除する

MEMO-12. JSON型の利用は最小限に留める

MEMO-13. 固定長コードは極力避ける