Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SQLアンチパターンから学ぶテーブル設計

 SQLアンチパターンから学ぶテーブル設計

あけの

May 28, 2022
Tweet

More Decks by あけの

Other Decks in Programming

Transcript

  1. SQLアンチパターン リレーショナルデータベースを使う際のアンチパターンP B 論理設# B 物理設# B クエ B アプリケーション

    の4種類、25パターン 実際に出会ったパターンをピックアップして紹介 (スマホでスキャンしたので画像が雑です)
  2. Entity Attribute Value 基本的には向いてないので、ある程度の種類に絞れる場合を考える シングルテーブル継’ e ひたすらカラムを増やb e NULLが入るカラムが多くなる 具象テーブル継’

    e テーブルを完全に分けV e 共通データとして扱いづらい クラステーブル継’ e 共通部と個別部のテーブルを分けV e 共通部の切り出しが難しい・参照が面倒
  3. Entity Attribute Value / ポリモーフィック 経験談と感想 KVSの形はマスターデータを保存する場合はありだと思う EAVはなんだかんだ見ることが多いが、コメントなしでは誰も読めないことも多い →できる限り避けていきたい気持ち 商品と特定の属性が追加された商品のパターンは見たことがある

    メタデータがデータに混入する問題・柔軟性は怖い ORMを使ったら実装していいって書いてるけど、それでも辛かった 結局用途に寄るのだが、シングルテーブルorクラステーブルを使いたくなる