-今日のひとこと-

-今日のひとこと-
私の栄光戦士はv10.3で死にました。(2022.03.11)

2014年7月12日土曜日

【FiSS】テーブル設計の苦悩

7月に入って仕事が少し忙しくなった。
ここ1週間、FiSSの開発はほとんど進んでない。
「よーしこの土日でスキル系画面の設計終わらせちゃうぞー」と息巻いていたが、スキル系最後のひとつ『スキル効果確認画面』で手こずっている。。


Q1.
スキル効果確認画面とは?

A1.
キャラクタが取得したスキルによる、ステータス向上ないしモジュール強化の効果を一覧表示する画面。


Q2.
何に困っている?

A2.
テーブルをどう設計するか。つまり、スキルやモジュールなどについてどんなデータをどんな風に記録しておくか、それらのデータをどう関連付けるか。
また、「取得したスキルの何番目の効果」により「どのステータスないしモジュール」に対して「どれくらいの効果」があるのか、すべてSQLで抜き出せるようにしたい(CCPによる内容変更が多いのでハードコーディングを避けたい)。
これだけならマスタテーブルに1つか2つの連関エンティティを用意すれば事足りそう。
しかし、ミンアサのプロジェクタイル火器のクリップサイズup効果みたいに、特定のカテゴリの火器の特定のステータスを強化するようなスキルがあるのが厄介なんだよな。。

ただ文章を表示するだけなら簡単なんだけど、後で作る『Fit効果確認画面』ではちゃんとスキル効果をFitのステータスに反映しないといけない。
これは分類やステータスの管理テーブルをいくつか作ってうまいこと組み合わせないと実現できなさそうだ。
しかもあんまり重いSQLだとレスポンス悪くてアプリの使い勝手が悪くなるんだよな・・・テーブルが多いとSQL考えるのも面倒になるし保守も難しくなるし。
実は最初から「ここ設計するの絶対面倒だろうなー」って思ってたんだよな


「趣味だしのんびり気楽にやろう」と思っていたが、ここは本気で分析設計しないと実装できないだろう。
ITSS-Lv4 データベーススペシャリストとしての能力が試されている・・・!


0 件のコメント:

コメントを投稿