Схема звезды

Поделись знанием:
Перейти к: навигация, поиск

Схема «звезды», схема звёздного соединения, звездоподобная схема, звёздная схема (от англ. star schema) — специальная организация реляционных таблиц, удобная для хранения многомерных показателей. Лежит в основе реляционного OLAP.

Модель данных состоит из двух типов таблиц: одной таблицы фактов (fact table) — центр «звезды» — и нескольких таблиц измерений (dimension table) по числу измерений в модели данных — лучи «звезды».

Таблица фактов обычно содержит одну или несколько колонок типа DECIMAL, дающих числовую характеристику какому-то аспекту предметной области (например, объём продаж для торговой компании или сумма платежей для банка), и несколько целочисленных колонок-ключей для доступа к таблицам измерений.

Таблицы измерений расшифровывают ключи, на которые ссылается таблица фактов; например, таблица «products» измерения «товары» базы данных торговой компании может содержать сведения о названии товара, его производителе, типе товара. За счёт использования специальной структуры таблицы измерений реализуется иерархия измерений, в том числе ветвящаяся.

Обычно данные в таблицах-измерениях денормализованы: ценой несколько неэффективного использования дискового пространства удается уменьшить число участвующих в операции соединения таблиц, что обычно приводит к сильному уменьшению времени выполнения запроса. Иногда, тем не менее, требуется произвести нормализацию таблиц-измерений; такая схема носит название «снежинка» (snowflake schema).

SQL-запрос к схеме «звезда» обычно содержит в себе:

  • одно или несколько соединений таблицы фактов с таблицами измерений;
  • несколько фильтров (SQL-оператор WHERE), применяемых к таблице фактов или таблицам измерений;
  • группировку и агрегирование по требуемым элементам иерархии измерений (dimension elements).

Например:

 SELECT
  d_product.brand,
  d_store.country_iso_id,
  SUM (f_sales.units_sold) AS summa
 FROM
  f_sales, d_customer, d_time, d_store, d_product
 WHERE
  f_sales.customer_id = d_customer.customer_id  AND
  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


См. также

Напишите отзыв о статье "Схема звезды"

Отрывок, характеризующий Схема звезды

Гости сидели за ужином. Княгиня Курагина, массивная, когда то красивая, представительная женщина сидела на хозяйском месте. По обеим сторонам ее сидели почетнейшие гости – старый генерал, его жена, Анна Павловна Шерер; в конце стола сидели менее пожилые и почетные гости, и там же сидели домашние, Пьер и Элен, – рядом. Князь Василий не ужинал: он похаживал вокруг стола, в веселом расположении духа, подсаживаясь то к тому, то к другому из гостей. Каждому он говорил небрежное и приятное слово, исключая Пьера и Элен, которых присутствия он не замечал, казалось. Князь Василий оживлял всех. Ярко горели восковые свечи, блестели серебро и хрусталь посуды, наряды дам и золото и серебро эполет; вокруг стола сновали слуги в красных кафтанах; слышались звуки ножей, стаканов, тарелок и звуки оживленного говора нескольких разговоров вокруг этого стола. Слышно было, как старый камергер в одном конце уверял старушку баронессу в своей пламенной любви к ней и ее смех; с другой – рассказ о неуспехе какой то Марьи Викторовны. У середины стола князь Василий сосредоточил вокруг себя слушателей. Он рассказывал дамам, с шутливой улыбкой на губах, последнее – в среду – заседание государственного совета, на котором был получен и читался Сергеем Кузьмичем Вязмитиновым, новым петербургским военным генерал губернатором, знаменитый тогда рескрипт государя Александра Павловича из армии, в котором государь, обращаясь к Сергею Кузьмичу, говорил, что со всех сторон получает он заявления о преданности народа, и что заявление Петербурга особенно приятно ему, что он гордится честью быть главою такой нации и постарается быть ее достойным. Рескрипт этот начинался словами: Сергей Кузьмич! Со всех сторон доходят до меня слухи и т. д.
– Так таки и не пошло дальше, чем «Сергей Кузьмич»? – спрашивала одна дама.
– Да, да, ни на волос, – отвечал смеясь князь Василий. – Сергей Кузьмич… со всех сторон. Со всех сторон, Сергей Кузьмич… Бедный Вязмитинов никак не мог пойти далее. Несколько раз он принимался снова за письмо, но только что скажет Сергей … всхлипывания… Ку…зьми…ч – слезы… и со всех сторон заглушаются рыданиями, и дальше он не мог. И опять платок, и опять «Сергей Кузьмич, со всех сторон», и слезы… так что уже попросили прочесть другого.