Решите дизайн базы данных о картах - PullRequest
0 голосов
/ 01 апреля 2020

Я работаю над проектом обмена картами (TCG), который охватывает несколько франшиз, существующих на одной платформе.

enter image description here

Пока у меня есть Определяя таблицу серий здесь, будут сохраняться различные серии, существующие из TCG, такие как pokemon, magi c, yu gi oh et c ...

карточный стол, где карта, очевидно, будет go, таблица сбора, в которой пользователь может зарегистрировать имеющиеся у него карты, таблица пользователей и таблица, в которой будут храниться предложенные карты для обмена, и пользователь, который его меняет

моя проблема в этой модели базы данных заключается в том, что им удается решить обмен хорошим способом, поскольку, как показано на рисунке, возникает цикл, в котором пароль пользователя можно легко получить с помощью запроса sql из таблицы сбора

, который я пытался искать ссылки в базах данных, где их можно обменять, но не удалось найти ссылки.

1 Ответ

0 голосов
/ 01 апреля 2020

Обмен картой представлен парой пар [user_id, card_id], так что до обмена card_id находится в коллекции пользователя, на которую ссылается user_id, а после обмена он находится в коллекции другого пользователя.

Следовательно, вам следует заменить таблицу change на следующую таблицу card_exchanges:

card_exchanges(
  exchange_date,
  user1_id FK REF users, 
  card1_id FK REF cards,
  user2_id FK REF users, 
  card2_id FK REF cards
)

Обратите внимание, что card_exchanges не является таблицей сущностей , но транзакция / таблица событий .

...