PokerTracker: Структура базы данных

Регистрация Регистрация Авторизация Избранное В избранное

Титан Покер
03-08-11

PokerTracker: Структура базы данных - портал www.Holdemworld.RU часть 1


Базы данных

PostgreSQL

PokerTracker3 – программа, собирающая информацию из историй раздач и выстраивающая статистику на основе этих данных. При огромном объеме данных, которые можно получить из историй раздач, и при большом количестве самих историй раздач, система управления базами данных должна функционировать очень эффективно. И здесь появляется PostgreSQL.

PostgreSQL – это сервер баз данных, работающий на Вашем компьютере одновременно с РТ3. РТ3 обращается к серверу и считывает и записывает данные, хранящиеся в базах. На данный момент существуют несколько решений SQL-серверов, и одно из самых давно-существующих, самых стабильных и широко масштабируемых их них – это PostgreSQL. Это программный продукт с открытым исходным текстом, то есть Вам не придется платить за пользование этой системой управления базами данных. Дополнительную информацию о PostgreSQL можно найти на сайте http://www.postgresql.org/.

Структура базы данных

База данных представляет собой набор таблиц, при этом каждая из таблиц может либо быть сама по себе, либо ссылаться на другие таблицы, при этом в интерфейсе базы данных отражаются отношения между разными данными.

Универсальное назначение наименований

Во всей базе данных таблицы и их поля поименованы строго определенным образом.

Таблицы

Первая часть названия таблицы отражает ее тип. На данный момент выделено 4 основных типа таблиц:

  • holdem – круговые игры Техасского Холдема
  • tourney_holdem – турнирные игры Техасского Холдема
  • lookup - справочная таблица общих значений
  • other – остальные таблицы, не подпадающие ни под один из 3х типов выше.

Вторая часть названия таблицы зависит от первой части и описывает саму таблицу. Например, в таблицах, названия которых начинаются с «holdem_hand», будут содержаться данные по текущей раздаче круговой игры Техасского Холдема.

Третья часть названия таблицы не является обязательной; она еще более детально описывает таблицу, если в этом есть необходимость. Продолжим рассматривать пример, приведенный выше – существует 5 таблиц, названия которых начинаются с «holdem_hand», среди них «_histories», «_player_combinations» и т.д. В эти таблицы вносятся подробно классифицированные данные по определенной раздаче круговой игры Техасского Холдема.

Поля

Таблица состоит из полей. Поле – это название определенного фрагмента информации (данных). Универсальное назначение наименований полей приведено ниже:

Id – идентификатор, ссылающийся на другую таблицу. Если Вы знакомы с внешними ключами (они не используются в базе данных РТ3), то следует сказать, что в каждом поле, название которого начинается с «id_» будет использоваться ограничитель внешнего ключа. Идентификатор будет ссылаться на другую таблицу, содержащую данные по этому идентификатору. Например, «id_player» будет ссылаться на таблицу «player», то есть PokerTracker3, используя данные из таблицы «id_player», ищет нужный идентификатор в таблице «player» и извлекает информацию по определенному игроку.

Flg – означает, что поле содержит Булево значение («да» или «нет», в буквальном смысле – истина или ложь, 0 или 1)

Val – числовое значение (целое либо дробное). Целое число не содержит десятичных долей, а дробное – напротив содержит их, либо может содержать (хотя может и не содержать).

Amt – сумма значений, всегда являющаяся дробным числом (содержащим десятичные доли) и обычно относящаяся к финансам. Например, «amt_pot» - это сумма бетов до рейка, являющаяся дробным числом.

Cnt – количество действий, всегда целое число.

Enum – перечень значений. Это поле может содержать только определенные значения. Обычно эти значения представляют собой один символ, хотя потенциально могут быть и строкой. Для разных полей существуют разные валидные символы, это детально объясняется ниже.

Отношения

Таблицы базы данных соотносятся друг с другом при помощи ключевых идентификаторов. Это уникальные типы данных (обычно целые числа), при помощи которых таблицы ссылаются одна на другую. Например, в таблице «hold_hand_player_detail» существует поле «id_player», которое ссылается на таблицу «player». Программа использует число из поля «id_player» для поиска по таблице «player», в результате находится игрок, к которому относится статистика данного отношения. Ниже приведены таблицы, ссылающиеся на другие таблицы, а также идентификаторы, используемые для ссылок между таблицами.

Данные представлены в виде (идентификатор поля -> таблица, на которую он ссылается), а далее приведен список таблиц, в которых используется данный идентификатор и отношение.

id_site -> lookup_sites

player

holdem_hand_summary

holdem_table_session_summary

tourney_holdem_hand_summary

tourney_holdem_results

tourney_holdem_summary

id_hand -> holdem_hand_summary

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

id_player -> 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

id_*_hand_strength -> lookup_hand_groups

holdem_hand_player_combinations

tourney_holdem_hand_player_combinations

id_action_* -> lookup_actions

holdem_hand_player_detail

tourney_holdem_hand_player_detail

id_limit -> holdem_limit

holdem_hand_player_statistics

holdem_hand_summary

holdem_table_session_summary

id_session -> holdem_table_session_summary

holdem_hand_player_statistics

id_table -> holdem_table

holdem_hand_summary

holdem_table_session_summary

tourney_holdem_hand_summary

id_winner -> player

holdem_hand_summary

tourney_holdem_hand_summary

tourney_holdem_summary

id_real_player -> player

holdem_table_session_summary

tourney_holdem_hand_player_statistics

tourney_holdem_results

holdem_hand_player_statistics

Таблицы

Структура таблиц базы данных описана ниже. В каждой табличке указаны столбцы, из которых состоит таблица; тип данных, содержащихся в данном столбце; а также краткое описание столбца и хранящейся в нем информации.

Таблицы игроков и записей

Таблица « player»

Содержит имена игроков и общую информацию о них.

Название столбца/ Идентификатор поля

Тип данных

Описание

id_player

Целое число

Идентификатор игрока – уникальный номер, присваиваемый РТ3 для точного определения пользователя

id_site

Малое целое число

Идентификатор сайта, к которому относится данное отображаемое название сайта. Ссылается на таблицу «lookup_sites»

player_name

Текст

Имя игрока на сайте

player_name_search

Текст

Имя игрока в нижнем регистре; это позволяет РТ3 быстрее находить игрока по имени.

id_player_alias

Целое число

Идентификатор игрока, являющийся его псевдонимом в базе данных. Ссылается на таблицу «player».

val_icon

Целое число

Автоматически определяемая иконка для игрока. Не является иконкой «друга».

flg_note

Булево значение

Если по игроку есть хотя бы одна пометка, значение устанавливается как истинное; в противном случае – как ложное.

Таблица « notes»

Описывает все пометки в базе данных – относительно игроков, раздач, сессии и турниров.

Название столбца/ Идентификатор поля

Тип данных

Описание

id_note

Целое число

Идентификатор пометки. Этот идентификатор совпадает с ID-номером того, к чему относится эта пометка. Например, если это пометка по определенному игроку, то значение id_note равно значению id_player. Если это пометка по сессии, то значение этого идентификатора равно значению id_session.

id_x

Целое число

Идентификатор, зависящий от поля enum_type.

enum_type

Символ

Тип пометки. Player (Игрок), Hand (Раздача), Session (Сессия), Tourney (Турнир) и т.д.

date_note

Временная метка

Дата создания или обновления пометки.

Notes

Текст

Текст пометки

Таблицы круговых игр

Таблица « holdem_hand_histories»

Здесь хранятся истории раздач круговых игр в Холдем (если они сохранены при импорте).

Название столбца/ Идентификатор поля

Тип данных

Описание

id_hand

Целое число

Идентификатор раздачи. Ссылается на таблицу «holdem_hand_summary».

history

Текст

Фактическая история раздачи.

Страница 1 из 3 | Следующая страница

Автор:


Если вы заметили ошибку в тексте - выделите текст, нажмите Ctrl + Enter и письмо будет отправлено на e-mail администратору сайта.


Навигация


Комментирование доступно только зарегистрированным пользователям.


Другие новости по теме
Социальные закладки:

Лучшие Депозит Бонусы

Покер-рум Рейтинг Бонус Бонус код Ссылка
1. Титан Покер Titan Poker Лучший $2000 HOBONUS Смотреть
2. Poker Stars Poker Stars 4.5 $600 HOBONUS Смотреть
3. Party Poker Party Poker 4.0 $500 HOBONUS Смотреть
4. RedKings Poker RedKings Poker 3.5 $1000 HOBONUS Смотреть
poker