Я работаю с минимальной игрой с Java и mysql. Я столкнулся с некоторыми трудностями в том, как правильно проектировать мои таблицы. Мне нужно несколько советов: Позвольте мне быть конкретными, у меня есть 3 класса:Как создать базу данных для этой ситуации?
Узел
public class Node {
private Integer id;
private Integer position;
private Integer foodTax;
private Boolean hasTreasureMap;
private Integer currentPlayer; // playerId
Treasure
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 , и базы данных в целом. В этом случае я должен использовать внешний ключ. Тем не менее, я все еще неясен, как его реализовать. Кроме того, существует несколько ограничений:
- Положение сокровища фиксировано.
- Позиция узла исправить.
- Только позиция игрока может быть изменена.
- У узла может быть только игрок за раз. (Я стараюсь сделать все как можно проще, потому что, если есть два игрока в одном узле, я не знаю, как с ним справиться)
Итак, единственный внешний ключ здесь, на мой взгляд, является идентификатором 'currentPlayer' класса Node? Пожалуйста, поправьте меня, если я ошибаюсь. Есть идеи?
С наилучшими пожеланиями, Чан Нгуен
Какие данные вы хотите сохранить? что ты собираешься с этим делать? Трудно помочь создавать таблицы, когда неясно, для чего они будут использоваться. – FrustratedWithFormsDesigner 2010-12-01 16:24:47
Моя карта представляет собой двумерный массив Integer.Таким образом, все позиции являются целыми числами. Я буду отображать это целое число в координату (x, y) при рисовании. Но это совсем не относится к базе данных. Спасибо за ваш ответ. – Chan 2010-12-01 16:28:19