Схема базы данных

Подробное описание всех таблиц и их полей.

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 является основным ключом связи