3

私は最近 Java で作業しており、OOP がダウンしています。最近では、jQuery、javascript、PHP、そして最近では MySQL を使用した Web ベースのプログラミングに取り組んでいます。OOPを使用すると、オブジェクトの管理とそれらに関する情報の読み取り/書き込みが非常に簡単になります。MySQL を学んでいるので、単純な OOP プログラムを、データをデータベースに保存するオンラインの「プログラム」に変換するのが難しいことに気付きました。データベース全体のビジュアルを取得できるように、Access で遊んでいますが、データを保存する良い方法にたどり着けないようです。これを学習する目的で...これは、データベースに変換したい(いわば)単純なOOPクラス構造(Java)です。

public class Tournament {

  ////////////////////////////////////////////
  //Variable Declaration
  ////////////////////////////////////////////
  Team[] theTeams;  //Array of Team Objects
  int numTeams;     //Number of Teams

  ////////////////////////////////////////////
  //Functions and stuff
  ////////////////////////////////////////////

}



public class Team {

  ////////////////////////////////////////////
  //Variable Declaration
  ////////////////////////////////////////////
  Player p1;        //Player 1
  Player p2;        //Player 2
  int teamNum;

  ////////////////////////////////////////////
  //Functions and stuff
  ////////////////////////////////////////////

}



public class Player {

  ////////////////////////////////////////////
  //Variable Declaration
  ////////////////////////////////////////////
  String fName;     //First Name
  String lName;     //Last Name

  ////////////////////////////////////////////
  //Functions and Stuff
  ////////////////////////////////////////////

}

データベースの場合、このようなものが必要ですか?

関係

たぶん、私は全体の考えに完全に的外れです。わからない。誰かが私がどこにいるのか教えてくれたら、それは素晴らしいことです. すべての助けに感謝します。

4

2 に答える 2

2

私がこれを正しく理解していれば、基本的にデータモデルに関するアドバイスを求めていますか? これは非常に簡単ですが、これはどうですか:

データ・モデル

ここには派手なものはありません:

  • プレーヤーには 1 つのチームがあり、チームには 1 対多数のプレーヤーがいます
  • チームにはゼロから多くのトーナメントがあります
  • トーナメントには 1 つ (実際には 2 つ) から多くのチームがあります

チームとトーナメントの間の多対多の関係に注目してください。表に関連情報を追加させていただきます。たとえば、日付フィールドを追加してTournaments_has_teams、チームのトーナメントを追跡できます。例をもう少し推し進めると、別のテーブルと 1 対多の試合/セットをトーナメントで使用することもできます。

データベースがセットアップされたら、独自の DAL を作成するか、ORM を使用してアプリケーションからクエリを実行できます。インピーダンスの不一致のため、直接 OOP/RDBMS マッピングを行うことはできないことに注意してください(コメントに記載されているように、オブジェクト指向データベースなどの他のテクノロジを使用することでこれを克服できます)。

于 2013-07-03T12:50:15.483 に答える