先日、というか2月にDB設計の勉強会に行ってきました。

ブログに書こうと思いつつ、溜まっていました。

参加のきっかけは今までDynamoDBの設計ばかりでRDSの設計やER図を書いたことがなく、

自分でサービスの設計してみて進まなかったので参加しました。

ちなみに、参加した勉強会は「わくわくデータベース設計ナイト@秋葉原」ってやつです。

やったこと

この回の勉強会では最初にちょろっとDB設計の基礎を復習して、食べログとRettyのページを見てチームに別れてER図に落とし込んでいく内容でした。

自分はRetty派なのでRettyチームでした。

やり方は、お店ページを見て表示されているデータを元にテーブルとカラムを推測してER図を書くって感じです。

先にテーブルを考えるか、カラムを洗い出してからテーブルにするかやり方はチームごとに違いました。

自分はたしか後者だった気がします。忘れました。

あとは前職では正規化をほとんどしていない設計のDBで仕様変更に苦労したので、仕様変更の可能性がありそうなところは正規化して運用や軽微な修正で済む様に意識しました。

学んだこと

先日、「達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ」を読んでDB設計の基本は学んでいました。

実際にDB設計してみて、多対多で中間テーブルを使用するってことを知らなかったらDB設計はできないと実感しました。

自分は結構多対多を使う勘所が結構理解できましたが、苦労している人が多かったです。

今回はリバースエンジニアリングみたいなやり方だったからカラムから考えた方がやりやすかったのだと思いますが、ユースケースからDB設計する際はテーブルから考えていった方がやりやすそうですね。

それと今回は正規化してテーブルが15個ほどできたのですが、テーブルが多くなるとパフォーマンスが落ちるっていうのがネックですよね。

性能を取るか保守・運用を取るかって現場の考え方次第ですね。私は運用派。

 

カテゴリー: DB設計

0件のコメント

コメントを残す

メールアドレスが公開されることはありません。