実現したいこと
以下の条件で適切なデータベース設計(テーブル設計)をしたい
前提
phpで作成しているウェブアプリについて、以下の要件でデータベースを作成したいと考えています。
- charactersテーブルにキャラクターのデータ、skillsテーブルにスキルのデータ
- charactersテーブルは主キーを持つ
- キャラクターはスキルを0~4個持つ
- character_skillテーブルはcharacter_idカラムとskillsテーブルの中間テーブルの役割
スキルの要件
- 攻撃系
- 回復系
- バフ系
などに分けられる。
さらに
- 魔法攻撃
- 物理攻撃
- 定数ダメージ
などに分類されます
(例)
キャラクターA
- 物理攻撃
- 魔法攻撃(水)
- 回復
キャラクターB
- 回復
- バフ
発生している問題・エラーメッセージ
今後スキルを追加することを考えたとき、以上の設計に大きな問題はないのか意見をお聞きしたいです。
- 全てのスキルを列挙して、skillテーブルのidはオートインクリメントにする。
- 類似したスキルを区別するために、それを判別するカラムを用意。※回復系は1、攻撃系は2、バフ系は3など
0は今後の追加に対応しやすくするため
1は検索機能などで必要と思われる
という理由の設計です。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー