Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 关于数据仓库的基本问题_Sql Server_Ssas_Data Warehouse_Olap - Fatal编程技术网

Sql server 关于数据仓库的基本问题

Sql server 关于数据仓库的基本问题,sql-server,ssas,data-warehouse,olap,Sql Server,Ssas,Data Warehouse,Olap,我想使用OLAP多维数据集,必须首先设计一个数据仓库。我会选择星型模式。我对如何从普通数据库转换到数据仓库有点困惑,特别是关于维度表之间的外键。我知道事实表对维度有外键,但维度之间有外键吗?例如,我需要如何处理以下两个示例: TABLE: Airports COLUMNS: Id, Name, Code, CityId 当我创建Airports维度时,是否删除CityId,并改为输入城市名称?还是什么 TABLE: Regions COLUMNS: Id, Name, RegionType,

我想使用OLAP多维数据集,必须首先设计一个数据仓库。我会选择星型模式。我对如何从普通数据库转换到数据仓库有点困惑,特别是关于维度表之间的外键。我知道事实表对维度有外键,但维度之间有外键吗?例如,我需要如何处理以下两个示例:

TABLE: Airports
COLUMNS: Id, Name, Code, CityId
当我创建Airports维度时,是否删除
CityId
,并改为输入城市名称?还是什么

TABLE: Regions
COLUMNS: Id, Name, RegionType, ParentId
这个问题基本上是一样的,但有点复杂,因为这里ParentId指的是同一个表(区域)。。示例:城市可以引用父国家/地区记录。如何将这些转换为数据仓库星形模式


最后,关于措施,这些都在事实表上,对吗?我想我可能需要多个事实表。这正常吗?一个事实表是否转换为一个OLAP多维数据集?或者什么?

如果您不转换为数据仓库,您将创建一个新的数据仓库,其中包含很少的维度和一个(至少)事实表。首先加载维度表,并且您不希望使用名称更改id。
TABLE: Regions
COLUMNS: Id, Name, RegionType, ParentId

每个维度表都需要额外的键。加载维度后,我通常使用ssis包加载事实表。(每次加载新数据之前,可以增量加载,也可以截断事实表(取决于您需要什么)…

您希望在机场维度中包含城市。您有意将标准化模式展平,以帮助提高维度模型的速度,如果您来自事务性开发,这可能会违反直觉

关于永久子关系,您希望将父对象转换为区域记录的代理。Ssas将在您设计多维数据集时提供关联父对象-子对象记录的功能

多个事实并不罕见,但除非事实数据完全不相关,否则无需将它们划分为不同的数据集。多个事实的需求将由不同粒度的数据驱动。将所有度量(即航班)放在一起,但将航班度量从食品销售度量中分离出来