SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Русский/Russian

Reply
 
Thread Tools Display Modes
Old 21/02/2019, 06:52 AM   #1
Tailer
Big Clucker
 
Tailer's Avatar
 
Join Date: Dec 2010
Posts: 83
Reputation: 9
Default Вопрос по чтение и сравнению

Привет всем. Нужна небольшая помощь.
Вообщем делаю систему которая позволяет создавать пользователю проекта до 2 аккаунтов.
Вообщем создает пользователь в UCP. Далее он может создать до 2 игровых аккаунтов.
Меня интересует как правильнее будет сделать систему для чтение и сравнение данных.
Я думаю что когда создается пользователь в UCP. сохраняется данные такие как Логин, Пароль. Почта. IP и создает два столбца для с игровыми никами пользователя.
Далее при обычная регистрация аккаунта. Ник аккаунта записывает в столбец 1 или 2 в зависимости от того какой игровой аккаунт создает. А так же в каждый аккаунт пользователя записывать имя пользователя под которым он был создан.
Далее игрок заходит на сервер. и вот тут я думаю делать чтение из двух таблиц. То есть берем Имя пользователя= Ником игрового аккаунта. Далее по стандарту. (авторизация и.т.д)
Как думаете такой подход норм будет ? или есть предложение по лучше.
Tailer is offline   Reply With Quote
Old 21/02/2019, 09:55 AM   #2
Eims
Huge Clucker
 
Eims's Avatar
 
Join Date: May 2013
Location: Восточный Мордор
Posts: 467
Reputation: 19
Default Re: Вопрос по чтение и сравнению

Две таблицы: аккаунты и персонажи.

Структура таблицы аккаунтов:
PHP Code:
id логин пароль | ... | ID первого персонажа ID второго персонажа 
В двух последних столбцах хранятся ID строк из второй таблицы, а не ники.

Структура таблицы персонажей:
PHP Code:
id ник | ... 
Этот вариант оптимален для ситуации, когда у тебя есть конкретное число персонажей на 1 аккаунт.
__________________
- How many IT Engineers does it take to fix a broken light bulb?
- None, the light bulb works fine in my office, I cannot replicate the issue.
Eims is offline   Reply With Quote
Old 21/02/2019, 10:46 AM   #3
Tailer
Big Clucker
 
Tailer's Avatar
 
Join Date: Dec 2010
Posts: 83
Reputation: 9
Default Re: Вопрос по чтение и сравнению

А если будет такая делема, что один из аккаунтов удалиться, из базы данных, а потом создается новый, ведь будут не ровные id
Tailer is offline   Reply With Quote
Old 21/02/2019, 11:39 AM   #4
Eims
Huge Clucker
 
Eims's Avatar
 
Join Date: May 2013
Location: Восточный Мордор
Posts: 467
Reputation: 19
Default Re: Вопрос по чтение и сравнению

Эмм, и что? Ты вообще не должен смотреть на порядок ID. ID нужен сугубо для быстрой выборки нужных строк, без поиска по нику.
__________________
- How many IT Engineers does it take to fix a broken light bulb?
- None, the light bulb works fine in my office, I cannot replicate the issue.
Eims is offline   Reply With Quote
Old 21/02/2019, 03:01 PM   #5
Tailer
Big Clucker
 
Tailer's Avatar
 
Join Date: Dec 2010
Posts: 83
Reputation: 9
Default Re: Вопрос по чтение и сравнению

Все понял твой вариант. Изначально не так картинку сложил
Tailer is offline   Reply With Quote
Old 21/02/2019, 06:35 PM   #6
Tailer
Big Clucker
 
Tailer's Avatar
 
Join Date: Dec 2010
Posts: 83
Reputation: 9
Default Re: Вопрос по чтение и сравнению

а что если сделать так
Таблица пользователей
ID|Логин|пароль|почта

ID ставим auto кремат что ли как то так :d

а в таблицу с аккаунтами записываем ID пользователя ?
как такой вариант
Tailer is offline   Reply With Quote
Old 22/02/2019, 06:01 AM   #7
Eims
Huge Clucker
 
Eims's Avatar
 
Join Date: May 2013
Location: Восточный Мордор
Posts: 467
Reputation: 19
Default Re: Вопрос по чтение и сравнению

Эмм, тебе ведь нужно связать аккаунт, под которым игрок авторизируется, с персонажами. Ты и без того будешь выгружать данные аккаунта после авторизации. Потому логичнее хранить ID персонажей там же, чтоб поиск персонажей, которых будет в два раза больше, чем аккаунтов, происходил с минимальными затратами.
__________________
- How many IT Engineers does it take to fix a broken light bulb?
- None, the light bulb works fine in my office, I cannot replicate the issue.
Eims is offline   Reply With Quote
Old 22/02/2019, 10:17 AM   #8
KrYpToDeN
Big Clucker
 
Join Date: Dec 2012
Location: Russian Federation, Khabarovsk city
Posts: 75
Reputation: 11
Default Re: Вопрос по чтение и сравнению

Профиль:
ID (ауто инкремент, примари кей), почта, скилл, деньги и тд.

Аккаунты:
ID (ауто инкремент. Данный столбец по желанию), Ник, ПрофильID (форейнг кей с отсылкой на ID из профиля).
ID (ауто инкремент. Данный столбец по желанию), Ник, ПрофильID (форейнг кей с отсылкой на ID из профиля).
ID (ауто инкремент. Данный столбец по желанию), Ник, ПрофильID (форейнг кей с отсылкой на ID из профиля).


Я бы сделал так и только так.
1) Не за чем устраивать огород с кучей ключей в одной строке.
2) Удобство чтения.
3) В случае чего можно очень быстро чтот поправить, сделать удобно выборку и тд.
4) Неограниченное число персонажей на 1 аккаунт. Лимит ставишь в коде. В любое время можно изменить лимит 1 значением всего лишь.


А насчет быстроты выборки, есть LIMIT %d
KrYpToDeN is offline   Reply With Quote
Old 23/02/2019, 11:20 AM   #9
Johhnyllll
Huge Clucker
 
Johhnyllll's Avatar
 
Join Date: Sep 2014
Posts: 238
Reputation: 12
Default Re: Вопрос по чтение и сравнению

Есть ли разница по скорости поиска по ID и нику?
Особенно когда в БД около 10к аккаунтов?
__________________
Мои проекты: GitHub
Johhnyllll is offline   Reply With Quote
Old 23/02/2019, 01:10 PM   #10
White_116
High-roller
 
Join Date: Sep 2010
Location: Russia/116
Posts: 1,488
Reputation: 69
Default Re: Вопрос по чтение и сравнению

Quote:
Originally Posted by Johhnyllll View Post
Есть ли разница по скорости поиска по ID и нику?
Особенно когда в БД около 10к аккаунтов?
Всегда есть.
__________________
White_116 is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Чтение с файла и запись. Romz Русский/Russian 20 15/07/2013 11:45 AM
Чтение с файла Romz Русский/Russian 1 26/06/2013 01:17 PM
Чтение файлов из папки ГТА у клиента coloN Русский/Russian 65 27/02/2013 10:04 PM
Чтение команд [HHT]DRON Русский/Russian 13 07/12/2011 05:13 PM
Чтение многостраничного файла -Stranger- Русский/Russian 7 29/07/2010 08:19 PM


All times are GMT. The time now is 08:54 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.