Страница 30 из 47

Re: Описание Poker Tracker 3 в картинках.

СообщениеДобавлено: 15 май 2009, 23:55
SS-24
Схема PostgreSQL баз данных для PokerTracker 3.

Введение.
Структура баз данных. Базы данных – в реальности, коллекция таблиц (электронных таблиц). Каждая таблица может содержать как данные, так и ссылки (связи) на другие таблицы, в которых также содержаться данные и связи между данными.

Соглашенья в обозначениях.
В нашей базе данных, названия: таблиц, столбцов, связей - имеют определенный принцип их формирования.

Таблицы.
Первая часть названия таблиц – это тип таблицы. Существует четыре типа таблиц:
  1. holdem –кэш игры
  2. tourney_holdem – турниры
  3. lookup – таблицы для облегчения поиска значений
  4. other – все остальные таблицы, не падающие в вышеупомянутые три категории.
Вторая часть названия таблицы зависит от первой части названия и подробней описывает назначенье таблицы. Например, таблицы, которые начинаются с holdem_hand, это таблицы для рук сыгранных в кэш играх.
Третья часть названия таблицы (если она необходима), еще подробней описывает назначенье таблицы. Вернемся к предыдущему примеру, всего существует пять holdem_hand таблиц:
  • _player_detail - детали розыгрыша руки игроком.
  • _histories - содержит текстовые истории рук.
  • _player_combinations - учет готовых и дро комбинаций игрока на каждой улице.
  • _player_statistics - учет действий игрока на каждой улице.
  • _summary - учет результатов розыгрышей.

Столбцы.
Таблицы состоят из столбцов. Первая часть названья столбца показывает тип столбца.
  • id – Идентификатор, связь с другими таблицами.
  • flg – Флаг. В ячейках хранятся булевские переменные (истина/ложь или 0/1).
  • val – Числовое значение. Может быть целым или десятичным.
  • amt – Сумма чисел. Имеет десятичный или денежный тип числа.
  • cnt – Подсчет действий. Всегда целое число.
  • enum – Перечисление. Информация в ячейках может содержать только определенные значения. Обычно один символ, хотя в некоторых может быть и несколько символов. Справка о том, какие это значения обычно указывается в комментариях к столбцу.

Связи.
Таблицы базы данных, связаны друг с другом при помощи идентификаторов. Идентификатор – уникальное «значение» (обычно целое число), на основании которого можно найти в другой таблице необходимые нам данные. Например: в таблице hold_hand_player_detail, есть столбец с идентификаторами - id_player, эти идентификаторы приводят нас к таблице player. Программа, используя значенье идентификатора - id_player, находит в таблице player игрока, к которому и относятся рассматриваемые данные.
Ниже приведена таблица, в которой расписаны идентификаторы и их ссылки.
Таблица Идентификатор Таблицы, которые связаны по этому идентификатору
lookup_sites id_site player; holdem_hand_summary; holdem_table_session_summary; tourney_holdem_hand_summary; tourney_holdem_results; tourney_holdem_summary
lookup_hand_groups id_*_hand_strength holdem_hand_player_combinations; tourney_holdem_hand_player_combinations
lookup_actions id_action_* holdem_hand_player_detail; tourney_holdem_hand_player_detail
holdem_hand_summary id_hand holdem_hand_histories; holdem_hand_player_combinations; holdem_hand_player_detail; holdem_hand_player_statistics; tourney_holdem_hand_histories; tourney_holdem_hand_player_combinations; tourney_holdem_hand_player_detail; tourney_holdem_hand_player_statistics; tourney_holdem_hand_summary
player id_player holdem_hand_player_combinations; holdem_hand_player_detail; holdem_hand_player_statistics; holdem_table_session_summary; tourney_holdem_hand_player_combinations; tourney_holdem_hand_player_detail; tourney_holdem_hand_player_statistics; tourney_holdem_results
holdem_limit id_limit holdem_hand_player_statistics; holdem_hand_summary; holdem_table_session_summary
holdem_table_session_summary id_session holdem_hand_player_statistics
holdem_table id_table holdem_hand_summary; holdem_table_session_summary; tourney_holdem_hand_summary
player id_winner holdem_hand_summary; tourney_holdem_hand_summary; tourney_holdem_summary
player id_real_player holdem_table_session_summary; tourney_holdem_hand_player_statistics; tourney_holdem_results; holdem_hand_player_statistics


Общие таблицы базы данных.

Таблица – "player"
Содержит общую и непосредственную информацию по никам игроков.
Основной стат - id_player.
Столбец Формат данных Описание
id_player целое Идентификатор основного ника игрока.
id_site м. целое Идентификатор покерной сети. Ссылается на таблицу "lookup_sites".
player_name текст Ник игрока в покерной сети.
player_name_search текст Ник игрока в покерной сети набранный строчными буквами (для облегчения поиска).
id_player_alias целое Идентификатор дополнительного ника игрока, который мы добавили к основному нику в поле "Aliased".
val_icon целое Число, соответствующее иконке-значку присвоенному игроку процессом "auto-rate".
flg_note булева Если есть хоть одна заметка (нотс) на игрока. Значение будет - True (истина), если нет - False (ложь).


Таблица – "notes"
Все что связано с заметками (нотсами) на: игроков, розыгрыши, сессии или турниры.
Основной стат - id_note.
Столбец Формат данных Описание
id_note целое Идентификатор заметки. Этот идентификатор равен идентификационному номеру того, на что сделана эта заметка. Например, если это - заметка об определенном игроке, то значение id_note равно значению id_player. Если это заметка об определенной сессии, то id_note равен значению id_session.
id_x м. целое Идентификатор, зависящий от enum_type.
enum_type символ (3) Символ заметки. Обозначающий тип заметки, на: игрока, розыгрыш, сессию или турнир.
date_note дата Дата создания или обновления заметки.
notes текст Текст заметки.


Таблица – "settings"
Описание версии установленной программы PokerTracker 3.
Основной стат - setting_name.
Столбец Формат данных Описание
setting_name текст Название установки.
setting_value текст Значение установки.


Продолжение →