データモデル

2023/03/02

データ

データモデルとは

データモデルは、システムが扱う「データ」をどのように整理し、構造化するかを表現したもの。データの属性(どんな情報を持っているか)やデータ同士の関係(どう繋がっているか)を明確にすることで、システム全体の設計や開発に役立つ。

たとえば「本のレビューアプリ」の場合、「ユーザー」、「本」、「レビュー」といったデータが、それぞれどんな属性を持っていて、それらがどう繋がっているのかを整理する必要がある。

データモデルの種類

データモデルには、概念データモデル、論理データモデル、物理データモデルの3つがある。

概念データモデル

ユースケースで登場する要素(エンティティ)を抽出して、データの全体の関係性を整理した抽象的なモデル。 <概念ER図の例>←TODO:後日作成する

(例:ユーザー、レビュー、本など。)

論理データモデル

概念モデルを論理的にデータベース上に実装できるレベルにまで具体化したモデル。エンティティが持つ情報(アトリビュート)を洗い出し、正規化(一般的に第三正規化まで)を実施する。

<論理ER図の例>←TODO:後日作成する

(例:ユーザー(名前、メールアドレス)、レビュー(評価、本文、投稿日)、本(タイトル、著者)など。)

データベースの正規化については以下を参照されたい。

物理データモデル

論理モデルを実際に利用するデータベースのテーブルでどのようにデータを管理するかまで具体化したモデル。各項目の物理名や型付け、制約の決定、パフォーマンス改善のための調整(インデックス、マテリアライズドビュー、非正規化など)を実施する。

<物理ER図の例>←TODO:後日作成する

参考資料


著者画像

ゆうき

2018/04からITエンジニアとして活動、2021/11から独立。主な使用言語はPython, TypeScript, SAS, etc.