我最近一直在使用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
////////////////////////////////////////////
}
对于数据库,我想要这样的东西吗?
也许我完全偏离了整个想法。我不确定。如果有人能让我知道我在哪里,那就太好了。所有帮助都表示赞赏。
答案 0 :(得分:4)
答案 1 :(得分:2)
如果我理解这一点,你基本上是在询问数据模型的建议吗?这非常简单,如下:
这里没什么好看的:
注意团队和锦标赛之间的众多关系。我会让你在表格中添加相关的信息。例如,您可以在Tournaments_has_teams
中添加日期字段,以跟踪团队的锦标赛。为了进一步推动这个例子,你还可以在锦标赛中拥有另一张牌桌和一对多的比赛/场景。
设置数据库后,您可以创建自己的DAL,也可以使用ORM从应用程序中查询数据库。请注意,由于impedance mismatch,您无法进行直接的OOP / RDBMS映射(您可以通过使用其他技术来解决这个问题,例如面向对象的数据库,如评论中所述)