2013-08-10 4 views
0

Я разрабатываю базу данных для простой игры на основе браузера.MySQL - Разработка базы данных для простой игры

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

Player (p_id, p_name, inventory(multiple i_id)) 
Item (i_id, i_name) 

Проблема с inventory столбца, который предназначен для хранения нескольких i_id из Item таблицы. Прежде всего, я не знаю, было бы хорошей практикой дизайна, чтобы он удерживал несколько значений id в одном столбце. не альтернатива разделить на 3 таблицы, как

Player (p_id, p_name) 
Item (i_id, i_name) 
Inventory (i_id) 

Теперь, Inventory больше не столбец, так что теперь может содержать несколько i_id, но затем, как я ссылаться на этот набор данных инвентаризации для уникального игрока?

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

ответ

3
player 
----------- 
p_id 
name 

item 
----------- 
i_id 
name 

inventory 
------------ 
p_id 
i_id 
+0

Спасибо, не будет создавать слишком много увольнений? –

+0

@SeongLee нет, данные кажутся нормализованными – Akash

+0

Это был бы самый надежный способ хранения информации - при условии, что элементы не уникальны - например, «кинжал» может быть во многих инвентарях игроков. – Randy

1

Рэнди правильно

То, что он сделал, называется нормализацией. Нормализация используется для уменьшения избыточности.

yes pid будет одинаковым для многих элементов Id, но здесь вы видите только столбец pId вместо целой таблицы для элемента.

Вы можете осуществлять поиск в Google для получения дополнительной информации нормализации в базе данных или это также хорошая ссылка - http://www.studytonight.com/dbms/database-normalization.php

вы можете обратиться к приведенной выше ссылке для получения дополнительной информации

Смежные вопросы