正しいDB設計ってどうやるんだろー
正規化だけでんいいんだろうかー
なんてポワポワ考えてたら、「データベース設計徹底指南」というスライドが。
全然理解できなかったけど、必要と思ったことだけ。
ド素人目線から。
1.DB設計について
正しい設計をしないとこうなる
・遅い
・SQL文が長い
・JOINやサブクエリ、UNIONなどが多くなる
・難解になる
・ロジックが間違ってるetc…
しかし、データベースはリファクタリングが難しい。
なんで、最初にしっかりと設計しとく。
今回はRDBMSの設計について。
データモデルやリレーショナルモデルってなんや。
2.「データベース設計徹底指南」を見て
正しいデータ型を使う。基本中の基本。
集合の性質
・重複がない
・NULLがない
・要素間に順番がない
リレーショナルモデルに存在するJoinはInnerJoinのみ。
OuterJoin は Union 相当
正規化の必要性
・データベースの論理的整合性のため
・矛盾を防ぐ
正規化理論
・リレーションから重複を排除
・正規化の最終目標は5NF(第5正規形)
正規化については第3正規形まででいいと思ってたので、ここは要勉強。
正規化するとテーブルが増えてしまい、管理が大変?
テーブルは増えてもいい。テーブルを減らそうと誤ったDB設計をするほうが問題。
リレーショナルモデルにも限界がある。
グラフやツリーが相性悪いらしい・・・いまのとこ必要なし!
アホ過ぎて全然理解できなかった・・・
あんなボリュームあるスライドなのに抜き出したらめっちゃ少ない・・・
勉強するぞー
参考
@nippondanji 氏の「データベース設計徹底指南!!」は神プレゼン!脅威の主義主張の一貫性保証は DB エンジニアの鏡だった件! – #garagekidztweetz
コメント