Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: как правильнее спроектировать таблицу ?
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » как правильнее спроектировать таблицу ?

Страниц (1): [1]
 

1. Forever - 12 Марта, 2017 - 14:08:57 - перейти к сообщению
Есть таблица для навыков героев из игры.

id | hero_id | name | .....

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

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

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

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

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

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

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

2) как быть, если очень плохо?
2. andrewkard - 12 Марта, 2017 - 19:54:12 - перейти к сообщению
Forever пишет:
2) как быть, если очень плохо?

в данном случае прочитать про нормальные формы БД, найти примеры и применить их.

 

Powered by ExBB FM 1.0 RC1