Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 17
  1. #1
    Аватар для kushichka
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.04.2014
    Сообщений
    75
    Репутация:
    6 ±

    ID в таблице mysql

    Я не совсем понимаю, зачем при создании таблицы аккаунтов нужно создавать колонку ID? Как ее можно использовать кроме как идентификатор строки?

  2. #2
    Аватар для Sp1ke
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.03.2015
    Сообщений
    241
    Репутация:
    51 ±
    Цитата Сообщение от kushichka Посмотреть сообщение
    Я не совсем понимаю, зачем при создании таблицы аккаунтов нужно создавать колонку ID? Как ее можно использовать кроме как идентификатор строки?
    Это конечно мое предположение, но оно логичное: обработка запроса с int значением ID аккаунта выполняется быстрее, чем по нику (потом возможно проверю и скажу точно)
    И это удобнее, но опять же по моему мнению. Если делать какую-то реализацию с ником игрока то можно допустить ошибку ведь некоторые символы бывают похожи, как I и l.
    В моем моде все реализовано на ID аккаунта, вот допустим загрузка домов работает так: если ID владельца не равен 0, то значит дом занят и в БД выполняется запрос на поиск такого аккаунта, если он найден то загружается имя владельца дома, а если такого аккаунта не найдено то дом продается.

  3. #3
    Аватар для kushichka
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.04.2014
    Сообщений
    75
    Репутация:
    6 ±
    Цитата Сообщение от Sp1ke Посмотреть сообщение
    если ID владельца не равен 0, то значит дом занят и в БД выполняется запрос на поиск такого аккаунта, если он найден то загружается имя владельца дома, а если такого аккаунта не найдено то дом продается.
    ID владельца на сервере или в бд? Просто, в основном, при сохранении/загрузке данных используется id игрока на сервере, а вот с id в бд не могу догнать что делать.

  4. #4
    Аватар для TheMallard
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.12.2015
    Адрес
    San Fierro
    Сообщений
    216
    Репутация:
    38 ±
    Идентификатор аккаунта используется для работы с домами, бизнесами, машинами, etc... Это облегчает смену ника, то есть если игрок захочет сменить ник, то он будет изменен только в базе аккаунтов, а в базе домов/бизнесов/машин ничего не поменяется.

  5. 3 пользователя(ей) сказали cпасибо:
    Daniel_Cortez (07.07.2016)DeimoS (07.07.2016)kushichka (07.07.2016)
  6. #5
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    4,286
    Репутация:
    1610 ±
    Вот тут Ziggi прекрасно описал как можно с помощью AUTO_INCREMENT облегчить работу с таблицами
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  7. Пользователь сказал cпасибо:
    kushichka (07.07.2016)
  8. #6
    Аватар для $continue$
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,466
    Репутация:
    265 ±
    Вот.
    Цитата Сообщение от $continue$ Посмотреть сообщение
    Советую.


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

  9. #7
    Аватар для kushichka
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.04.2014
    Сообщений
    75
    Репутация:
    6 ±
    Код:
    Пример ziggi
    
    Игрок
    ----------------
    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 | ник   | id_навыка
    -------------------------
    0  | test  | 1
    1  | test2 | 3
    
    Навыки
    -------------
    id | название
    -------------
    0  | навык1
    1  | навык2
    2  | навык3
    3  | навык4
    Как будет лучше? И удобно ли будет хранить в таблице аккаунтов в ячейке id_навыка несколько значений?

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

    Цитата Сообщение от $continue$ Посмотреть сообщение
    Вот.
    как я понял, что бы связать несколько таблиц нужно в создать внешний ключ. Как правильно его создавать в phpmyadmin?

  10. #8
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    4,286
    Репутация:
    1610 ±
    Цитата Сообщение от kushichka Посмотреть сообщение
    Как будет лучше? И удобно ли будет хранить в таблице аккаунтов в ячейке id_навыка несколько значений?
    Ну а ты как думаешь? Удобно ли будет каждый раз форматировать столбец с навыками, добавляя новый навык, или же проще создать отдельную таблицу, где для каждого навыка у каждого игрока будет своя строка? И лучше думай насчёт удаления одного из навыков, а не о добавлении новых.
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  11. Пользователь сказал cпасибо:
    kushichka (08.07.2016)
  12. #9
    Аватар для kushichka
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.04.2014
    Сообщений
    75
    Репутация:
    6 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ну а ты как думаешь? Удобно ли будет каждый раз форматировать столбец с навыками, добавляя новый навык, или же проще создать отдельную таблицу, где для каждого навыка у каждого игрока будет своя строка? И лучше думай насчёт удаления одного из навыков, а не о добавлении новых.
    А количество таких свзязных таблиц никак не сказывается на скорости?

  13. #10
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    4,286
    Репутация:
    1610 ±
    Цитата Сообщение от kushichka Посмотреть сообщение
    А количество таких свзязных таблиц никак не сказывается на скорости?
    Естественно на обработку запросов уйдёт больше времени, но не существенно больше. Тут суть в упрощении работы с базой данных, а, следовательно, с увеличением удобности.
    Да и даже если ты всё сделаешь в одной БД, ты:
    1) Так же будешь тратить время на работу с данными для форматирования одной общей строки для всех навыков
    2) Усложнишь работу с таблицей (будет сложнее её читать, когда данных наберётся приличное кол-во)
    В общем, те временные затраты, которых ты так боишься в случае с несколькими таблицами, могут быть гораздо меньше, если ты будешь одну таблицу для всего использовать
    Последний раз редактировалось DeimoS; 08.07.2016 в 01:05.
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  14. Пользователь сказал cпасибо:
    kushichka (08.07.2016)
 

 
Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •