как создать витрину - PullRequest
       14

как создать витрину

1 голос
/ 02 февраля 2012

Это мои первые попытки создания витрины / хранилища данных, и я немного запутался в том, как лучше всего спроектировать схему.История проекта: я изначально создал реляционную базу данных, которая собирает информацию о наших клиентах.Упрощенная схема такова:

 ClientTbl:
 ID:PK;
 FName:String;
 LName:String;

 ClientEDU(one to many)
 ID:PK;
 ClientID:FK;
 SchoolName:String;
 Degree:String;
 GPA:String;

 ClientJobs(One to many)
 ID:PK;
 ClientID:FK;
 OrganizationName:string;
 Industry:String;
 StartDate:Date;
 EndDate:Date;
 Salary:double;
 CityLocation: String;

Это упрощенный пример.В действительности у меня есть еще несколько таблиц, содержащих тысячи записей.Когда я хочу выполнить запросы к этим таблицам, это может занять очень много времени.Мне кажется, что создание витрины данных поможет.Таким образом, мы можем запустить обновление витрины данных, которое будет занимать много времени, каждую ночь.Затем запросите данные в нашей DM, которые можно было бы быстро запросить.Я просто испытываю трудности с тем, как лучше спроектировать схему.Пример вопроса, на который я хотел бы ответить в витрине данных, основанной на приведенных выше примерах таблиц, таков:

 % of clients that attend each school in our db
 % that have each degree in our db
 Avg salary of client
 Avg length of stay at a job
 % of clients that worked in each city, that is found in the db

Из моего чтения я знаю, что таблица фактов будет содержать все вычисленные значениязарплата, длина и т. д.) и каждое измерение будет содержать данные (рабочие места или образование), но я не понимаю, как они связаны друг с другом.Будет ли в моей таблице фактов строка для каждого клиента?Всего один ряд?

Любая помощь будет отличной

спасибо

Ответы [ 2 ]

1 голос
/ 02 февраля 2012

Это сложная проблема, потому что она включает демографические сводки клиентов.

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

Учитывая факт работы, каковы размеры этого факта?

  • Клиент

  • Время начала

Возможно, вы знаете о Иове другие вещи (например, географию, отрасль).

Время - это момент времени.Обычно это таблица с датами и всеми различными категориями отчетов, в которые попадают даты: кварталы, недели, финансовые периоды и т. Д. И т. Д.

Клиент - физическое лицо;и люди не делают особенно хорошее измерение.У них много собственных измерений.

Вариант 1. Схема "снежинка".Отношение к Клиенту как к факту, имеющему множество аспектов, включая его собственную географию и степень, а также и школу и что-то еще.

Выбор 2. «Демографическое» измерение.Это краткое изложение программы получения диплома, диапазона GPA, названия школы и тому подобного.Это - фактически - связь между надлежащими фактами работы и клиентами.Работа относится к демографической категории.К этой категории также относится ряд клиентов.

Будет ли в моей таблице фактов строка для каждого клиента?Всего одна строка?

В таблице фактов есть по одной строке для каждого измеримого экземпляра факта, связанного с различными измерениями этого факта.

Факт работы имеет две меры: зарплата,продолжительность и, по крайней мере, ссылки на внешние ключи для измерений: дата начала и демография.Если у вас есть другие пространственные атрибуты задания (например, география или отрасль), это внешние ключи задания.

Демография клиента будет связана с одним или несколькими заданиями.

То же самоебудет верно для географии или промышленности.

Поскольку клиент является особым случаем, один или несколько клиентов будут также иметь ссылки FK на соответствующую строку демографического измерения клиента.

0 голосов
/ 02 февраля 2012

Я не думаю, что «хранилище данных» - это ваша волшебная пуля.

Вы должны сконцентрироваться на том, почему ваши результаты «отнимают много времени»

вопросы, которые вы задаете, вообще не ушли

некоторые вещи касаются ... например, действительно ли у вас есть имя String School в качестве первичного ключа к школам?

возможно, опубликовать фактическое подмножество схемы и конкретныйЕсли у вас возникли проблемы, то вы можете получить реальную помощь по их улучшению.

...