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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: как правильнее спроектировать таблицу ?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Forever
Отправлено: 12 Марта, 2017 - 14:08:57
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




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

id | hero_id | name | .....

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

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

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

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

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

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

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

2) как быть, если очень плохо?
 
 Top
andrewkard
Отправлено: 12 Марта, 2017 - 19:54:12
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




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

в данном случае прочитать про нормальные формы БД, найти примеры и применить их.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB