前回(Vol.2)では画面駆動設計に基づくUI設計と処理設計を行いました。
今回は、それらを支える データベース構造(ER図) にフォーカスし、実装前に必要な「詳細設計」の説明を行います。
🔗 ER図(Entity Relationship Diagram)
ER図は以下の基本設計をもとに、システム全体のデータ構造を視覚化したものです。
🧱 テーブル構成の概要
テーブル名 | 概要 |
---|---|
users |
ユーザー情報(ログインID、名前、権限など) |
bulletin_boards |
掲示板情報(掲示板名、作成者など) |
threads |
スレッド情報(タイトル、紐づく掲示板など) |
posts |
投稿情報(本文、投稿者、投稿日時など) |
🧩 リレーション(関連)
-
users → posts
1人のユーザーが複数の投稿を持つ(一対多) -
bulletin_boards → threads
1つの掲示板に複数のスレッドが属する(一対多) -
threads → posts
1つのスレッドに複数の投稿が属する(一対多)
🧠 実装との関係性
ER図をもとに、今後以下の開発工程に繋がります:
- DAOの作成(各テーブルに対するDBアクセスクラス)
- JavaのEntityクラス設計
- 入力バリデーションの対象フィールドの整理
- 外部キー制約・削除制御(Cascadeなど)の反映
- 表示順や検索条件のSQL設計(ORDER BY、JOIN)
💬 補足事項・設計判断の意図
- スレッド・投稿には「論理削除」対応(削除フラグ)を想定
-
created_at
/updated_at
は全テーブルに付与(監査対応) - IDは基本的に自動採番(DBシーケンス or AUTO_INCREMENT)
▶️ 次回予告:Vol.4へ続く
次回は、いよいよこのER図・詳細設計をもとに、Struts2フレームワークを用いた実装フェーズに入ります!
EntityクラスやDAO、アクションとのつながりを具体的に見ていきましょう!