2013-07-27 2 views
0

Я пытаюсь найти лучший способ хранения некоторых данных в моей базе данных. Я планирую присоединиться к 3 различным таблицам.MYSQL несколько INT в одной строке

users table 
fighters table 
moveset table 

В таблице истребителей У меня есть строка для «moveset», в котором я пытаюсь выяснить способ, что move_id со стола moveset может быть связан в таблице бойцов под moveset подряд, так что каждый истребитель может перечислить кучу ходов, принадлежащих им.

Ex.

борцами таблица имеет

fighter_id, 
fighter_name, 
moveset 

moveset таблица имеет потребность

move_id, 
move_name, 
move_damage 

Множественные move_id, чтобы получить положить в moveset строку в таблице бойцов.

Любая помощь по правильному настройке в mysql?

+0

У вас есть концепция, если «набор ходов» имеет разумное повторное использование? Как «профиль перемещения», который можно использовать для назначения одному или нескольким полетам как единое целое? – Bohemian

ответ

2

Вам нужно отношение «многие ко многим».

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

fighter_moves 
------------- 
id 
fighter_id 
move_id 

Вы даже можете добавить других неключевых столбцов, называется assoiation данные, которые описывают отношения. Например, speed, чтобы определить , как быстро истребитель делает ход.

+0

Итак, в основном создайте 4 таблицы. 3 У меня есть выше для подробностей и 1, чтобы связать их все вместе по id? – Devereaux

+0

Да. Это единственный (разумный) способ представить многих для многих, что есть у вас. Ваш дизайн отлично. – Bohemian

+0

Но если у меня более 500 ходов и более 1000 бойцов, и у каждого бойца 50-100 ходов, это может стать проблематичным, нет? – Devereaux

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