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

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

    ID в таблице mysql

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

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

    Статус
    Оффлайн
    Регистрация
    01.03.2015
    Сообщений
    245
    Репутация:
    55 ±
    Цитата Сообщение от 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
    Сообщений
    217
    Репутация:
    39 ±
    Идентификатор аккаунта используется для работы с домами, бизнесами, машинами, etc... Это облегчает смену ника, то есть если игрок захочет сменить ник, то он будет изменен только в базе аккаунтов, а в базе домов/бизнесов/машин ничего не поменяется.

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

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

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

    Steve Pavlina

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

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


    P.S: Там серия уроков (5 уроков)
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  9. Пользователь сказал cпасибо:
    kushichka (07.07.2016)
  10. #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?

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

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

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

    Steve Pavlina

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

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

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

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

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

    Steve Pavlina

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

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

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

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

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

Ваши права

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