山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

データベースモデリング

データベースモデリングを知らないエンジニアが意外に

多いと感じています。

動けばいい的なデータベースは長期にわたって運用し、障害調査したり

機能拡張していくうえでいろいろ不都合が生じます。

よく考えてモデリングされているデータベースはわかりやすいので

知らない人でも理解が早くなり、障害調査や機能拡張も比較的早くできます。

私が知っているモデリングの手法。

・画面、帳票の外部設計をもとにする。

・画面、帳票単位でテーブルにする。

・正規化してデータモデルにする。

・パフォーマンスなどを考慮して非正規化する。

実際には複合キーはプログラムで扱いづらかったりするので

単純なシーケンスをキーにしてしまったりとなかなか理論どおりに

いかない部分もあります。

非正規化も必要です。

そのため基礎理論があまり重視されなくなっているのかもしれません。

でもエンジニアならやっぱりこういう基本をきっちりおさえておきたい

ところです。

データモデルはオブジェクト指向設計ドメインモデルとみなすという

のも実際の開発現場では有用だと思います。