PDA

Просмотр полной версии : [Вопрос] Базы MySQL



HarrWe
02.07.2016, 10:26
Привет форумчане, возник вопрос, что лучше все колонки записывать в 1 таблицу или же лучше создать несколько таблиц?
Если кто не понял поясню: У меня есть 1 таблица с данными аккаунта, я хочу записывать навыки работы, но куда будет лучше записать в таблицу с данными аккаунтами или же создать новую таблицу с данными работы?

ziggi
02.07.2016, 10:36
Прежде чем работать с базами данных нужно изучить теорию, а именно узнать про нормализацию (https://ru.wikipedia.org/wiki/%D0%9D%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%84%D0%BE%D1%80%D0%BC%D0%B0). Твой вопрос относится ко второй нормальной форме (https://ru.wikipedia.org/wiki/%D0%92%D1%82%D0%BE%D1%80%D0%B0%D1%8F_%D0%BD%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%84%D0%BE%D1%80%D0%BC%D0%B0).

HarrWe
02.07.2016, 10:45
Прежде чем работать с базами данных нужно изучить теорию, а именно узнать про нормализацию (https://ru.wikipedia.org/wiki/%D0%9D%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%84%D0%BE%D1%80%D0%BC%D0%B0). Твой вопрос относится ко второй нормальной форме (https://ru.wikipedia.org/wiki/%D0%92%D1%82%D0%BE%D1%80%D0%B0%D1%8F_%D0%BD%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%84%D0%BE%D1%80%D0%BC%D0%B0).
Можно попроще?Просто ответить лучше будет создать новую базу или в одной работать?Имеет ли это нагрузку на мод?

Deni$
02.07.2016, 11:53
Работай лучше с одной таблицой,зачем создавать лишне.
Я взял один мод за основу,для примера там таблица АКК,так вот в ней записано всё,от скина до бизнеса,короче всё.

ziggi
02.07.2016, 11:57
Можно попроще?Просто ответить лучше будет создать новую базу или в одной работать?

Работать лучше в одной базе, но таблиц нужно столько, сколько необходимо для обеспечения нормальной формы. Проще может и можно, но не хочется тратить силы на тех, кто не хочет учиться.


Имеет ли это нагрузку на мод?

Всё даёт нагрузку, но ты её не там ищешь.


Работай лучше с одной таблицой,зачем создавать лишне.
Я взял один мод за основу,для примера там таблица АКК,так вот в ней записано всё,от скина до бизнеса,короче всё.

Ну и как ты в одну таблицу запишешь более одного бизнеса?

Deni$
02.07.2016, 12:01
А зачем записывать более одного бизнеса,на сколько мне известно в основном,на один АКК идет один бизнес,зачем преувеличивать...
Я конечно согласен что можно сделать и 5 бизнесов на один АКК,но автора темы интересует другое.

ziggi
02.07.2016, 12:04
А зачем записывать более одного бизнеса,на сколько мне известно в основном,на один АКК идет один бизнес,зачем преувеличивать...
Я конечно согласен что можно сделать и 5 бизнесов на один АКК,но автора темы интересует другое.

Очень странные ограничения. А с машинами тогда как? Тоже одну на аккаунт?

Deni$
02.07.2016, 12:09
Очень странные ограничения. А с машинами тогда как? Тоже одну на аккаунт?


Цитата Сообщение от Deni$ Посмотреть сообщение
А зачем записывать более одного бизнеса,на сколько мне известно в основном,на один АКК идет один бизнес,зачем преувеличивать...
Я конечно согласен что можно сделать и 5 бизнесов на один АКК,но автора темы интересует другое.

Харе посты набивать...

ziggi
02.07.2016, 12:10
Примерно так следует организовывать навыки игрока.


Игрок
----------------
id | ник | ...
----------------
0 | test | ...
1 | test2 | ...

Навыки
-------------
id | название
-------------
0 | навык1
1 | навык2
2 | навык3
3 | навык4

НавыкиИгрока
--------------------------
id | id_навыка | id_игрока
--------------------------
0 | 0 | 0
1 | 2 | 0
2 | 0 | 1
3 | 1 | 1
4 | 2 | 1
5 | 3 | 1

То есть игрок с id 0 (test) имеет навык 0 и 2 (навык1, навык3), а игрок с id 1 имеет все навыки.

И да, естественно для полей таблиц нужно добавить соответствующие связи.

С таким подходом, при появлении новых навыков в будущем, не возникнет трудностей, достаточно будет добавить навык в таблицу "Навыки".

Pyce[X]
02.07.2016, 17:17
Примерно так следует организовывать навыки игрока.


Игрок
----------------
id | ник | ...
----------------
0 | test | ...
1 | test2 | ...

Навыки
-------------
id | название
-------------
0 | навык1
1 | навык2
2 | навык3
3 | навык4

НавыкиИгрока
--------------------------
id | id_навыка | id_игрока
--------------------------
0 | 0 | 0
1 | 2 | 0
2 | 0 | 1
3 | 1 | 1
4 | 2 | 1
5 | 3 | 1

То есть игрок с id 0 (test) имеет навык 0 и 2 (навык1, навык3), а игрок с id 1 имеет все навыки.

И да, естественно для полей таблиц нужно добавить соответствующие связи.

С таким подходом, при появлении новых навыков в будущем, не возникнет трудностей, достаточно будет добавить навык в таблицу "Навыки".


Игрок
----------------
id | ник | id_навыка
----------------
0 | test | 1
1 | test2 | 2


public OnPlayerConnect(playerid)
{
НавыкИгрока(playerid) = ЗагружаемИдНавыка;
return true;
}
Неее?

ziggi
02.07.2016, 18:04
;74613']
Игрок
----------------
id | ник | id_навыка
----------------
0 | test | 1
1 | test2 | 2


public OnPlayerConnect(playerid)
{
НавыкИгрока(playerid) = ЗагружаемИдНавыка;
return true;
}
Неее?

Неее, в твоём варианте у одного игрока может быть лишь один навык, автор темы спрашивал именно про навыки.

HarrWe
02.07.2016, 18:19
У меня навыки по другому сделаны, это просто число которое например на работе какой нибудь за каждый мешок прибавляется.А где надо я его форматирую в текст.

- - - Добавлено - - -


Неее, в твоём варианте у одного игрока может быть лишь один навык, автор темы спрашивал именно про навыки.

Я спрашивал куда лучше сохранять, всё в одну таблицу или для всего разные создавать)

StevenH
02.07.2016, 21:12
У меня навыки по другому сделаны, это просто число которое например на работе какой нибудь за каждый мешок прибавляется.А где надо я его форматирую в текст.

- - - Добавлено - - -



Я спрашивал куда лучше сохранять, всё в одну таблицу или для всего разные создавать)

Все в одну таблицу

$continue$
07.07.2016, 19:51
Советую.

https://www.youtube.com/watch?v=P2Eaf9M4gOU&list=PLY4rE9dstrJwFmPYd03vZU90-TvXEpVzD

P.S: Там серия уроков (5 уроков)