0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

📘 Vol.3 詳細設計編:ER図で見るデータ構造と実装の土台

Last updated at Posted at 2025-05-19

前回(Vol.2)では画面駆動設計に基づくUI設計と処理設計を行いました。
今回は、それらを支える データベース構造(ER図) にフォーカスし、実装前に必要な「詳細設計」の説明を行います。


🔗 ER図(Entity Relationship Diagram)

🔗 ER図(PDF)はこちら

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、アクションとのつながりを具体的に見ていきましょう!


🧭 Vol.1〜7 関連リンク

タイトル 主な内容
Vol.1 プログラミングとの再会 – 「画面ありき」で変わった学び方 プログラミング再入門と、画面駆動の学習法というユニークなアプローチの紹介。最初に「画面」から考えることでモチベーションを継続。
Vol.2 画面駆動設計に基づく設計書の具体例:画面フローからUI設計・処理定義まで 実際に描いた画面遷移図・UI設計・処理定義書を公開し、画面中心の設計手法を解説。
Vol.4 Struts2とMavenの基礎と設定ファイルの役割 Struts2の構成とMavenでの管理、web.xmlpom.xml の役割を丁寧に解説。
Vol.5 環境構築編:掲示板アプリケーションの実行準備 TomcatとEclipseでの動作環境構築。
Vol.6 BaseActionクラスの詳細解説【Struts2の要】 すべてのアクションに共通する基底クラス BaseAction を定義し、ログ出力や共通処理を集約。
Vol.6.1 BaseAction の活用例【共通基底クラスでセッション管理を簡素化】 BaseAction を継承する具体的なアクション例を紹介し、セッションやログ処理の統合例を実践。
Vol.7 Struts2 における MVC モデルの全体像 Model-View-Controller の各要素が Struts2 でどう分担されるかを体系的に解説。
Vol.7.1 Struts2 における Model(モデル)について JavaBeansベースのModelクラス(User, Thread, Post など)設計とその役割を明確化。
Vol.7.2 Struts2 における Controller(コントローラ)の責務 Actionクラスを軸に、入力処理・分岐処理・画面遷移の中核を担うControllerの実装指針を提示。
Vol.7.3 Struts2 における struts.xml の書き方と役割 URLマッピング、結果遷移、アクション定義の方法を丁寧に記述。初心者の詰まりやすいポイントを回避。
Vol.7.4 struts.xmlの高度な設定と実践活用(Struts2) namespaceの活用や画面単位での分離設計、開発時の保守性向上テクニックを紹介。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?