Эквивалентная схема
- 1 year ago
- 0
- 0
Схема «звезды» , схема звёздного соединения, звездоподобная схема, звёздная схема (от англ. star schema ) — специальная организация , удобная для хранения многомерных показателей. Лежит в основе реляционного OLAP .
Модель данных состоит из двух типов таблиц: одной таблицы фактов ( fact table ) — центр «звезды» — и нескольких таблиц измерений ( dimension table ) по числу измерений в модели данных — лучи «звезды».
Таблица фактов обычно содержит одну или несколько колонок типа DECIMAL, дающих числовую характеристику какому-то аспекту предметной области (например, объём продаж для торговой компании или сумма платежей для банка), и несколько целочисленных колонок-ключей для доступа к таблицам измерений. В таблицы фактов данные должны оперативно записываться в случае изменений.
Таблицы измерений расшифровывают ключи, на которые ссылается таблица фактов; например, таблица «products» измерения «товары» базы данных торговой компании может содержать сведения о названии товара, его производителе, типе товара. За счёт использования специальной структуры таблицы измерений реализуется иерархия измерений, в том числе ветвящаяся.
Обычно данные в таблицах-измерениях денормализованы: ценой несколько неэффективного использования дискового пространства удается уменьшить число участвующих в операции соединения таблиц, что обычно приводит к сильному уменьшению времени выполнения запроса. Иногда, тем не менее, требуется произвести нормализацию таблиц-измерений; такая схема носит название « снежинка » ( snowflake schema ).
SQL-запрос к схеме «звезда» обычно содержит в себе:
Например:
SELECT
d_product.brand,
d_store.country_iso_id,
SUM (f_sales.units_sold) AS summa
FROM
f_sales, d_time, d_store, d_product
WHERE
f_sales.date_id = d_time.date_id AND
f_sales.store_id = d_store.store_id AND
f_sales.product_id = d_product.product_id AND
d_time.year_id = 1997 AND
d_product.category_id = "tv"
GROUP BY
d_product.brand, d_store.country_iso_id
• (Microsoft Docs)