Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как правильнее спроектировать таблицу ?.
 
 автор: ramundo   (12.03.2017 в 15:02)   письмо автору
 
 

Есть таблица для навыков героев из игры.

id | hero_id | name | .....

У каждого навыка есть метод использования.

Он может быть , допустим, направляемым на точку, направляемым на другого героя, ненаправленным, переключаемым, пассивным и тд. Но также может быть и одновременно нескольких типов, например
переключаемым/ ненаправленным /пассивным. Максимум три метода у одного навыка.

Мне пришло в голову только сделать три поля, типа method_1 , method_2...,
И в итоге будет что-то вроде

id 1
hero_id 153
name fireball
method_1 ненаправленный
method_2 пассивный
method_3 переключаемый

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

Собственно, два вопроса:

1) наличие избыточностиь и пустых полей - это очень плохо?

2) как быть, если очень плохо?

  Ответить  
 
 автор: elenaki   (12.03.2017 в 17:21)   письмо автору
 
   для: ramundo   (12.03.2017 в 15:02)
 

Cвязь - один ко многим

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

таблица один - id героя, остальное, касающееся только героя в одном экземпляре
таб;ица два - id навыка, описание навыка, что-то еще, касающееся только этпого навыка
таблица три - id героя, id навыка

Сколько у героя навыков, столько строк им отводится в третьей таблице.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования