Схема базы данных
Подробное описание всех таблиц и их полей.
lab2 - События интернет-магазина
lab2.events
| Поле |
Тип |
Описание |
| id |
SERIAL |
Первичный ключ |
| basket_price |
TEXT |
Цена корзины (всегда пустая строка) |
| detected_corruption |
BOOLEAN |
Флаг обнаруженной коррупции данных |
| detected_duplicate |
BOOLEAN |
Флаг дубликата события |
| event_type |
VARCHAR(50) |
Тип события (itemViewEvent, itemBuyEvent, etc) |
| first_in_session |
BOOLEAN |
Первое событие в сессии |
| item_id |
VARCHAR(255) |
ID товара |
| item_price |
INTEGER |
Цена товара |
| item_url |
TEXT |
URL товара |
| location |
TEXT |
URL местоположения |
| page_view_id |
VARCHAR(255) |
ID просмотра страницы |
| party_id |
VARCHAR(255) |
ID партии |
| referer |
TEXT |
Referer URL |
| remote_host |
VARCHAR(100) |
Удаленный хост |
| session_id |
VARCHAR(255) |
ID сессии |
| timestamp |
BIGINT |
Время события (миллисекунды) |
| user_agent_name |
TEXT |
User Agent браузера |
Особенности:
- basket_price всегда пустая строка
- timestamp в миллисекундах Unix timestamp
- Есть флаги коррупции и дубликатов
lab2s - События социальной сети
lab2s.social_events
| Поле |
Тип |
Описание |
| id |
SERIAL |
Первичный ключ |
| event_type |
VARCHAR(50) |
Тип события (пост/репост/лайк) |
| user_id |
VARCHAR(100) |
ID пользователя |
| post_id |
VARCHAR(100) |
ID поста |
| timestamp |
INTEGER |
Время события (может быть NULL) |
| unix_time |
INTEGER |
Unix timestamp (может быть NULL) |
Особенности:
- Пост генерируется с вероятностью 0.1%
- Не соблюдается хронологический порядок
- 100k записей за 6 часов
lab5 - PostgreSQL таблицы
lab5.category_tree (1590 записей)
| Поле |
Тип |
Описание |
| id |
SERIAL |
Первичный ключ |
| cat |
INTEGER |
ID категории (может повторяться) |
| parent_id |
INTEGER |
ID родительской категории |
Особенности:
- cat могут повторяться (1195 уникальных из 1590)
- Формат родитель-ребенок для построения дерева
lab5.sku_cat (2100 записей)
| Поле |
Тип |
Описание |
| id |
SERIAL |
Первичный ключ |
| cat |
BIGINT |
ID категории |
| sku_id |
VARCHAR(255) |
ID товара (уникален) |
Особенности:
- sku_id уникален и не повторяется
- cat ожидаемо повторяется
lab5.user_actions (110k записей)
| Поле |
Тип |
Описание |
| id |
SERIAL |
Первичный ключ |
| timestamp |
DECIMAL(15,6) |
Время события в секундах |
| action |
VARCHAR(50) |
Тип действия (4 варианта) |
| user_id |
VARCHAR(100) |
ID пользователя |
| item_id |
VARCHAR(100) |
ID товара |
Особенности:
- Пропусков нет
- 4 типа действий
- timestamp в секундах со знаками после запятой
lab7 - dBT данные
lab7.users (3427 записей)
| Поле |
Тип |
Описание |
| ts_joined |
DECIMAL(15,6) |
Время регистрации |
| user_id |
BIGINT |
ID пользователя (первичный ключ) |
| username |
INTEGER |
Имя пользователя (почему-то integer) |
lab7.bucks (10287 записей)
| Поле |
Тип |
Описание |
| buck_id |
BIGINT |
ID бака (первичный ключ) |
| timestamp |
DECIMAL(15,6) |
Время создания |
| user_id |
BIGINT |
ID пользователя (внешний ключ) |
| intention |
VARCHAR(255) |
Намерение (больше половины пустые) |
| slug |
VARCHAR(255) |
Слаг |
lab7.wpcs (1998 записей)
| Поле |
Тип |
Описание |
| wpc_id |
BIGINT |
ID действия |
| user_id |
BIGINT |
ID пользователя |
| ws_slug |
VARCHAR(255) |
WS слаг |
| p_slug |
VARCHAR(255) |
P слаг |
Особенности:
- wpc_id и user_id не содержат повторов по отдельности
- Пересекаются 1197 из них
- Составной первичный ключ
lab8 - События браузера/устройств
lab8.browser_events
| Поле |
Тип |
Описание |
| id |
SERIAL |
Первичный ключ |
| event_id |
UUID |
Уникальный ID события |
| event_timestamp |
TIMESTAMP |
Время события |
| event_type |
VARCHAR(50) |
Тип события (pageview, click, etc) |
| click_id |
UUID |
ID клика (для связи с другими таблицами) |
| browser_name |
VARCHAR(100) |
Название браузера |
| browser_user_agent |
TEXT |
User Agent браузера |
| browser_language |
VARCHAR(20) |
Язык браузера |
lab8.device_events
| Поле |
Тип |
Описание |
| id |
SERIAL |
Первичный ключ |
| click_id |
UUID |
ID клика (уникален, связь с browser_events) |
| os |
TEXT |
Операционная система |
| os_name |
VARCHAR(100) |
Название ОС |
| os_timezone |
VARCHAR(100) |
Часовой пояс |
| device_type |
VARCHAR(50) |
Тип устройства (Mobile, Desktop, etc) |
| device_is_mobile |
BOOLEAN |
Мобильное устройство |
| user_custom_id |
VARCHAR(255) |
Пользовательский ID (часто email) |
| user_domain_id |
UUID |
Доменный ID пользователя |
lab8.geo_events
| Поле |
Тип |
Описание |
| id |
SERIAL |
Первичный ключ |
| click_id |
UUID |
ID клика (связь с browser_events) |
| country |
VARCHAR(100) |
Страна |
| region |
VARCHAR(100) |
Регион |
| city |
VARCHAR(100) |
Город |
| latitude |
DECIMAL(10,8) |
Широта |
| longitude |
DECIMAL(11,8) |
Долгота |
lab8.location_events
| Поле |
Тип |
Описание |
| id |
SERIAL |
Первичный ключ |
| click_id |
UUID |
ID клика (связь с browser_events) |
| utm_source |
VARCHAR(255) |
UTM источник |
| utm_medium |
VARCHAR(255) |
UTM медиум |
| utm_campaign |
VARCHAR(255) |
UTM кампания |
| utm_content |
VARCHAR(255) |
UTM контент |
| utm_term |
VARCHAR(255) |
UTM термин |
| page_url |
TEXT |
URL страницы |
| page_url_path |
VARCHAR(500) |
Путь страницы |
| referer_url |
TEXT |
Referer URL |
| referer_url_scheme |
VARCHAR(20) |
Схема referer |
| referer_url_port |
INTEGER |
Порт referer |
| referer_medium |
VARCHAR(100) |
Медиум referer |
Связи:
- Все таблицы lab8 связаны через click_id
- browser_events.click_id является основным ключом связи