【发布时间】:2011-05-18 14:30:27
【问题描述】:
我正在使用 Java 和 mysql 开发一个最小的游戏。我在如何正确设计我的表格时遇到了一些困难。我需要一些建议:让我具体一点,我有 3 个课程:
节点
public class Node {
private Integer id;
private Integer position;
private Integer foodTax;
private Boolean hasTreasureMap;
private Integer currentPlayer; // playerId
宝物
public class Treasure {
Integer id;
private Integer position; // nodeId
private Integer goldValue;
播放器
public class Player {
private Integer id;
private Integer wealth;
private Integer strength;
private Integer start;
private Integer goal;
private Integer currentPosition; // nodeId
private Integer currentGoal; // another nodeId
private Vector<Integer> path;
private Vector<Integer> treasureIds;
private int currentMoveIndex;
Graph<Integer> telescope;
我是 mysql 和一般数据库的新手。我想在这种情况下我必须使用外键。但是,我仍然不清楚如何实现它。此外,还有几个约束:
- Treasure 的位置是固定的。
- 节点位置已修复。
- 只能更改玩家位置。
- 一个节点一次只能有一个玩家。(我尽量简化,因为如果同一个节点有两个玩家,我不知道如何处理)
所以我认为这里唯一的外键是 Node 类的 'currentPlayer' id?如果我错了,请纠正我。有什么想法吗?
最好的问候, 陈阮
【问题讨论】:
-
您要存储什么样的数据?你打算用它做什么?当不清楚它们的用途时,很难帮助设计表格。
-
我的地图是一个二维整数数组。所以所有位置都是整数。我会在绘图时将此整数映射到坐标(x,y)。但这根本与数据库无关。感谢您的回复。
标签: java sql mysql database-design