0
1

More than 1 year has passed since last update.

PHPでフレームワークを使わずに、掲示板アプリを作ってみる①DB設計編

Posted at

はじめに

※自身の学習を記事に投稿することでアウトプットするのが目的です。
「よくわかるPHPの教科書」のchapter6に書いてある通りにアプリを
作成していくので、私と同じような駆け出しエンジニアの皆さんは、
書籍を買ってアプリを作っていただいた方がわかりやすいかもしれません。

使用しているエディタ、実行環境

  • VS Code

  • XAMPP

  • PHP7

  • windows

DBを設計していく

必要な機能の洗い出し

掲示板アプリに必要な機能を洗い出していきます。
簡単なもので、思いつくところだと、こんな感じでしょうか。

  • 文章を投稿する機能

  • 文章に返信できる機能

  • 写真をアップロードできる機能

  • 会員登録ができる機能

  • 退会できる機能

  • ログインできる機能

  • ログアウトできる機能

機能に対するデータベースの項目を考えてみる

大まかに、重複してもいいので考えてみます

・文章を投稿する機能
メッセージ
会員情報
・文章に返信できる機能
メッセージ
会員情報
返信先のメッセージ
・写真をアップロードする機能
写真があるファイルの情報(パス)
・会員登録が出来る機能
ニックネーム
パスワード
メールアドレス
・退会できる
会員情報
・ログインできる機能
メールアドレス
パスワード
・ログアウトできる機能
会員情報

テーブル設計をしていく

次に、洗い出したデータベースの項目をまとめて、
実際にカラム名とデータ型を決めてテーブル設計をしていきます。

・members-会員関係 [テーブル]
カラム名 意味
id INT 会員情報[PRIMARY KEY]
name VARCHAR(255) ニックネーム
email VARCHAR(255) メールアドレス
password VARCHAR(100) パスワード
picture VARCHAR(255) 写真のパス
created DATETIME 作成日
modified TIMESTAMP 更新日
・posts-投稿関係[テーブル]
カラム名 意味
id INT メッセージid[PRIMARY KEY]
message TEXT メッセージ
member_id INT 投稿者のid
reply_post_id INT 返信先のメッセージid
created DATETIME 作成日
modified TIMESTAMP 更新日

こんな感じですね。ひとまずこれにてDB設計は終了です。
実際に、XAMPPのMySQL管理画面で作成してください。

終わりに

最初にアプリに必要な機能を洗い出したうえで、その機能に必要な情報を考える。
この手順でやると分かりやすいですね。
今回は簡単な掲示板アプリなので、必要な情報がそんなに多くないのでDB設計を
考えやすいですが、これが大規模がアプリになると、どんだけ大変なんだろう・・・。
震えます。

0
1
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
1