うまくいけば、これは短くて簡単です。私は何か c# を書いていて、ホイールが 100 万回以上発明されている場所に到達しましたが、どれを使用すればよいかわかりません。まず、ルール:
- CharacterClasses があり、Skills があります。
- これらのそれぞれには、CSV からロードされた DataSet に DataTable があります。
- 各 CharacterClass は複数のスキルで構成されています
- 各スキルは複数の CharacterClasses に存在する場合があります
私の選択は次のようです:
A. 各スキル内の CharacterClassID のリストであるフィールドを作成します。これは非常に大きくなり、後でバランスをとるために CharacterClasses を編集するのが難しくなります。キャラクターを作成または編集するには、リストを反復処理する必要があります。
B. SkillID のリストを格納する CharacterClasses にフィールドを作成します。これにより、更新スキルのバランスを取ることが難しくなり、また、巨大なブロブ フィールドにつながります。繰り返しになりますが、リストを反復処理する必要がありますが、今回は CCID フィールドの Skills テーブルに CONTAINS クエリを実行したときに作成されたリストになります。
C. 実行時に、SkillID と CharacterClassID を一致として保持するヘルパー テーブルを作成します。
設計の観点からは C が最も賢明なように思えますが、そこにたどり着く方法がわかりません。DB 設計は、常に私にとってつまずきのポイントでした。私の脳はコーダーのブロックを扱っており、3 番目の構成ファイルを作成せずに CharacterClassID と SkillID を含むヘルパー テーブルを作成する方法に頭を悩ませることはできません (これはやりたくありません)。入力はありますか?私はこれについてすべて間違っていますか?