sha*_*aun 5 database data-warehouse star-schema
我已经阅读了很多关于star-schema的内容,关于事实/ deminsion表,select语句来快速报告数据,但是数据输入星型模式的问题对我来说似乎很冷淡.一个"理论上"如何将数据输入星型模式数据库?同时保持事实表.是巨型存储过程中的一系列INSERT INTO语句,有20个参数是我唯一的选择(以及如何填充事实表).非常感谢.
首先从尺寸开始 - 逐个.使用ECCD(Extract,Clean,Conform,Deliver)方法.
确保每个维度都有一个BusinessKey,用于唯一标识维度行描述的"对象" - 例如人员的电子邮件.
加载维度后,准备密钥查找管道.通常,对于每个维度表,您可以准备密钥查找表(BusinessKey,PrimaryKey).一些设计人员选择直接查找维度表,但密钥查找通常可以轻松地缓存到内存中,从而加快事实加载速度.
也可以将ECCD用于事实数据.ECC部分发生在暂存区域,您可以根据需要为ECC的每个步骤选择(辅助)表或平面文件.
在提供事实表时,将事实行中的每个BusinessKey替换为从键查找表中获得的匹配的PrimaryKey.将所有BusinessKeys替换为匹配的PrimaryKeys后,将该行插入事实表.
不要浪费你的时间,使用ETL工具.你可以免费下载Pentaho Kettle(社区版) - 它拥有实现这一目标所需的一切.
通常,您不会像将数据插入到普通表单中那样将数据插入到星型模式中,即使用在单个事务中插入/更新所有适当表的存储过程。请记住,星型模式通常是一种只读的非规范化数据模型 - 它(很少)以事务方式处理,并且通常从已经非规范化的平面数据中加载 - 通常每个星形一个平面文件。
正如 Damir 指出的那样,通常,您加载所有维度(处理缓慢变化等),然后加载事实,加入适当的当前维度以查找维度 ID(使用业务键)。