-
Notifications
You must be signed in to change notification settings - Fork 10
Database
Ananaskelly edited this page Apr 24, 2016
·
24 revisions
here load from server "games_beta"
or image
Users
- id (int, autoincrement, связан 1:m c UserIngameInfo, UserGame, Token, m:m c User)
- username (string) // имя пользователя
- email (string) // электронная почта
- password (string) // пароль
- default_game_type_id (int, внешний ключ, связан с id таблицы Game Types)
- default_game_private (bool) // 1 = игра приватная, 0 = игра доступна для просмотра
- registration_date (date) // дата регистрации
- last_visit (date) // дата последнего посещения ресурса
- is_admin (bool) // является ли пользователь администратором
Games
- id (int, autoincrement, связан 1:m с Board Info, Turn Info, User Games)
- game_type_id (int, внешний ключ, связан с id таблицы Game Types)
- private (bool) // 0 = игра публичная, 1 = игра приватная
- time_started (datetime) // время начала игры
- time_finished (datetime) // время завершения игры, если игра не завершена - принимает значение null
- winner (tinyInteger) // 0 - ничья, 1 - победа игрока белых, 2 - победа игрока черных, null - игра не завершена
- bonus (int) // количество рейтинговых очков (если игра рейтинговая), которые получает победитель и которые отнимаются у проигравшего
User Games
- user_id (int, внешний ключ, связан с id таблицы Users)
- game_id (int, внешний ключ, связан с id таблицы Games)
- color (bool) // 0 = игрок играет за белые, 1 = игрок играет за черные
Turn Info
- game_id (int, внешний ключ, связан с id таблицы Games)
- turn_number (int) // номер хода
- move (int) // запись хода в формате хххх, где х = 1..8
- options (tinyInteger) // 00 - ничего, 0_ - номер фигуры (которую съели), 10 - короткая рокировка, 11 - длинная рокировка, 22 - взятие на проходе, 3_ - пешка стала фигурой
- turn_start_time (datetime) // время начала текущего хода
- user_turn (bool) // 0 = ход белых, 1 = ход черных
Board Info
- game_id (int, внешний ключ, связан с id таблицы Games)
- figure (int) // номер фигуры (0 - 5). 0 = пешка, 0X = пешка (которую заменили на фигуру X), ...details
- position (tinyInteger) // [xy], x = 1...8, y = 1...8; x = y = 0 - если фигура сбита
- color (bool) // 0 = белая, 1 = черная
- special (bool) // default = 0, для короля и ладьи = 1 (если не ходили) и 0 (если ходили), для пешки = 1 (если сделала двойной ход на предыдущем ходу)
- turn_number (int) // номер хода для данной позиции
Game Types
- id (int, autoincrement, связан 1:m с UserIngameInfo, Game, User)
- type_name (string) // название типа игры
- time_on_turn (int) // время на ход для данного режима игры
- is_rating (bool) // 0 = игра не рейтинговая, 1 = игра рейтинговая
User Ingame Info
- type_id (int, внешний ключ, связан с id таблицы Game Types)
- user_id (int, внешний ключ, связан с id таблицы Users)
- game_rating (int) // рейтинг игрока, изначально равен 1000 (например)
- games (int) // количество сыгранных игр
- wins (int) // количество побед
Tokens
- token (string, primary key)
- user_id (int, внешний ключ, связан с id таблицы Users)
- expiration_date (dateTime) // время жизни
- 0 - пешка
- 1 - ладья
- 2 - конь
- 3 - слон
- 4 - ферзь
- 5 - король