Это ответить на часть:
Я пытался понять, можно ли таблицы измерений быть таблица фактов , как хорошо или нет?
Короткий ответ (INMO) - Нет. Это потому, что 2 типа таблиц создаются по разным причинам. Однако с точки зрения дизайна базы данных таблица измерений может иметь родительскую таблицу как случай с таблицей фактов, которая всегда имеет таблицу измерений (или больше) в качестве родителя. Кроме того, таблицы фактов могут быть агрегированы, тогда как таблицы измерений не агрегированы. Другая причина заключается в том, что таблицы фактов не должны обновляться, тогда как таблицы измерений могут быть обновлены в некоторых случаях.
Подробнее:
Факт и размерные таблицы отображаются в том, что обычно известно как Star Schema. Основная цель звездной схемы - упростить сложный нормализованный набор таблиц и консолидировать данные (возможно, из разных систем) в одну структуру базы данных, которая может быть запрошена очень эффективным способом.
В его простейшей форме он содержит таблицу фактов (пример: StoreSales) и одну или несколько таблиц измерений. Каждая запись Dimension имеет 0,1 или более связанных с ней таблиц фактов (пример таблиц измерений: география, элемент, поставщик, клиент, время и т. Д.). Было бы справедливо также, чтобы размерность имела родительский элемент, и в этом случае модель имеет тип «Снежная хлопья». Тем не менее, дизайнеры пытаются избежать такого дизайна, поскольку это приводит к увеличению числа подключений, что приводит к низкой производительности. В примере StoreSales измерение географии может состоять из столбцов (GeoID, ContenentName, CountryName, StateProvName, CityName, StartDate, EndDate)
В модели с хлопьями снега у вас может быть 2 нормализованных таблицы для геоинформации, а именно: Таблица содержания, Таблица стран.
На Схеме звезд вы найдете множество примеров. Кроме того, проверьте это, чтобы увидеть альтернативный вид модели звездной схемы Inmon vs. Kimball. У Kimbal есть хороший форум, который вы также можете посмотреть здесь: Kimball Forum.
Edit: Для того, чтобы ответить на комментарий о примерах для 4НФ:
- Пример для таблицы фактов, нарушающего 4НФ:
Факт продаж (ID, BranchID, SalesPersonID, ItemID, сумма, TimeID)
- Пример для таблицы фактов, не нарушая 4НФ:
AggregatedSales (BranchID, TotalAmount)
Здесь соотношение в 4НФ
Последний пример довольно редко.
Концепция довольно длинная, чтобы описать ее достаточно подробно, если у вас есть конкретная проблема, выходящая за рамки базового определения, пожалуйста, сообщите нам об этом. – NoChance
В основном, я пытался понять, могут ли таблицы измерений быть таблицей фактов или нет? –