私は、新しい軍事史のWebサイトの1人の開発チームです。このサイトの1つの側面は、参加した国とフォーメーション(連隊、師団など)を含む、約1,200の個別の戦闘のカタログです。
フォーメーション情報(およびその他の戦闘情報)は、10人のボランティアチームによって一連の本から手動でインポートされました。フォーメーションは、さまざまなフォーマットと略語パターンでグループにリストされました。データ収集フォームを設定したとき、そのデータを処理する良い方法を考えることができませんでした...そして、すべてを文字列としてMySQLデータベースに保存し、後で分類することを選択しました。
さて、「後で」-それが起こりがちなように-が到着しました。:-)
各戦闘には、データベースに2つ以上のレコードがあります。参加した国ごとに1つです。各レコードには、ボランティアがフォーメーションを追加することを選択したときに存在するフォーメーションをリストしたフォーメーションテキスト文字列があります。
いくつかの実際の例:
- 第39擲弾兵師団、第26歩兵師団
- 第246歩兵師団第2Luftwaffeフィールド師団
- 第247ライフル師団、第255戦車旅団
- SS騎兵師団第2空軍野戦師団
- 第28戦車旅団、第158ライフル師団、第135ライフル師団、第81戦車旅団、第242戦車旅団
- 第78歩兵師団
- 第3呉特別陸戦隊、ツラギ水上飛行場要員
- 第1大隊第505歩兵連隊
最終的な目標は、個々の部隊がIDを持ち、戦闘データベース全体でその参加を追跡できるようにすることです。上記の最後の項目などのフォーメーション階層1st Battalion (of the) 505th Infantry Regiment
も保持する必要があります。その場合、1st Battalion
は505th Infantry Regiment
分割さ1st Battalion
れますが、に属するものとしてフラグが立てられます505th.
データベースの用語では、現在の戦闘情報テーブルからフォーメーションフィールドを引き出し、3つの新しいテーブルを作成したいと思います。
FORMATION
[id] [name]
FORMATION_HIERARCHY
[id] [parent] [child]
FORMATION_BATTLE
[f_id] [battle_id]
説明するのは簡単ですが、制定するのは複雑です。
私がSOコミュニティに求めているのは、この問題に取り組むための最善の方法に関するヒントです。理想的には、これを解決するためのある種の方法がありますが、私は気づいていません。ただし、最後の手段として、いつでも分類フレームワークをコーディングし、ボランティアに電話をかけて2,500以上のレコードを並べ替えることができました...