构建基于FoodMart数据库的数据仓库建立与OLAP试验一
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
? (2)选择【项目】 →【SSIS导入和导出向导】 命令,这时会弹出 SSIS导入和导出向导的欢迎界 面,单击【下一步】按钮。
? (3)在“选择数据源”窗口中的“数据源”下拉 列表框中选择 Access数据源选项,如图 2-4所示 。然后在路径选择中选择此项目文件夹中的 foodmart 2000.mdb 文件。
? FoodMart 数据库是SQL Server 以前版本所带的 示例数据库,它模拟了一家大型的食品连锁店的 经营业务所产生的数据。
? 其商业数据保存在一个数据库中,其中包括了 客户管理数据、销售数据、分销数据和库存数据 等。随着业务量的增加,这个食品连锁店的老板 迫切需要多方位地掌握其经营状况,而传统的报 表形式和数据处理方式已经不能满足这一要求, 因此在保留历史数据的基础上构建商业智能应用 已经迫在眉睫。下面就描述满足这一商务需求的 技术实现过程。
? 库存管理业务中的仓库类型存储在 warehouse_class表中
? 具体的仓库存储在warehouse中。
2.1.2 设计数据仓库逻辑模型
? 福马特市场部的商务需求是要对1998年 进行的所有销售业务数据进行多角度分析 ,以便市场分析人员能在查询数据库时获 取快速的响应,高层管理人员也能从总体 上把握影响本年度销售的因素。这需要利 用存储在公司业务数据库中的数据,建立 数据仓库,进而创建可用于分析的多维数 据结构。
? 这里希望用雪花形结构来构建福马特商店 的销售数据仓库,逻辑结构设计图如图2-2
所示
销售数据仓库雪花形结构设计图
? 在数据仓库的逻辑结构中,数据表可以划 分为两类:一类是事实数据表(简称为“ 事实表”),用来存储数据仓库中的实际 数据,如这里存储1998年销售数据的 sales_fact_1998表即为事实表;
2-7
? 这时会让用户选择源表和源视图,如图2-7 所示。按照前面对数据仓库的设计,这里 选择原始表中的time_by_day、promotion 、product、product_class、customer、 store和sales_fact_1998表作为需要输入的 表。
? 这里对原始表中需要导入到数据仓库的数据有很 强的可定制性,对这些已经选择的表中的字段还 可以进行筛选和改变,对不需要的字段进行去除 操作,这就是所谓的数据清洗。当然也可以选择 其他的表一起导入数据仓库中。可以看到,不一 定所有的业务数据库中的数据都必须体现在数据 仓库中,数据仓库中的数据也有可能是经过业务 数据库中的数据运算而得到的,这都取决于具体 商务活动的需求。
2.1.3 创建foodmartsaleDW 数 据仓库
? 数据仓库也是一种数据库,其管理同样是 通过数据库管理系统(DBMS)来进行的。 因此数据仓库可以像普通数据库一样进行 创建、修改和删除。当数据仓库的逻辑结 构设计完后,就可以创建物理数据仓库了
? 这时可以在SQL Server Management ? 。Studio 中按照一般的建立数据库的方法建
立一个名为“foodmartsaleDW”的数据库, 然后把这里设计的表创建好,数据类型依 据原始数据库中的各个表和字段的数据类 型设置
? 但由于这里数据仓库的表结构与原始数据 库中的表结构基本一致,因此,创建 foodmartsaleDW 数据仓库的物理结构过 程也可以在ETL阶段完成
2.2 设计和使用ETL
”对话框,展开“商业智能项目”,在“ 模板”窗格中,单击“Integration Services 项目”,把项目命名为“foodmartsale ETL”,如图2-3所示。
? 这时会在BI Studio环境中打开用于设计 SSIS的各 种工具和窗口,数据提取、转换和加载的操作都 在这个界面下进行。
? 如前所述,这里只着眼于销售方面的数据,因 而把与销售相关的表提炼出来进行分析。在 foodmart 数据库中,销售业务的数据和时间、促 销手段、产品和店铺等都有关系,它们的关系体 现在表与表之间的逻辑关系上。
? 要从业务数据出发设计数据仓库的结构,必须 明确业务数据本身的结构,而业务数据的关系一 般是基于关系数据库设计的范式。数据仓库中表 的关系不受关系数据库设计范式的约束,但也要 遵循一定的结构规范,如星形结构和雪花形结构 即是这种类型的规范。同时这也是数据仓库逻辑 结构的两种类型。。
? 另一类是维度数据表(简称为“维度表” ),用来存储数据仓库中的维度数据,如 这里的关于时间、促销手段和产品等分析 要素的表均为维度表。
? 注意,在本例中设计的维度表和事实表与原始数 据中的表名及结构都一致,这主要是由原始数据 的特点和本章作为入门章节的定位决定的。在实 际设计的时候,通常需要根据需求情况重新建立 与原始数据不同的表结构。这主要是由于传统业 务的数据库是用来进行事务处理的(即 OLTP ), 而数据仓库则Baidu Nhomakorabea用来进行分析处理的(即 OLAP ),用途的不同决定了其结构的不同。这一点在 以后复杂的数据仓库设计中会通过示例体现出来 。
? FoodMart数据库涉及到公司经营的各个方 面,包括产品、库存、人事、客户和销售 等。一个真正的商业智能应用应该对这些 业务需求进行全面地考虑。本章截取这些 需求中的销售部分构建商业智能
? 打开配套文件中附带的foodmart.mdf文件, 可以看到如图2-1所示的表
? 人事管理中的员工信息存储在employee表中 ? 员工所属部门信息存储在department表中 ? 职务信息则存储在position表中
基于FoodMart数据库的福马特商 业智能系统
构建基于FoodMart数据库的福马特商业智能系统。按照 学习理论,“大处着眼,小处着手”是快速学习的好方法, 它既能把握全局,又能掌握细节
内容安排上属于实践中的“务实”,理论上的“务虚”, 只着眼于操作过程而忽略其中的深奥理论,目的在于明确一 个商业智能应用的全貌
? 这里的任务就是要把数据从其他类型数据 库或其他类型数据载体中装载到 foodmartsaleDW数据仓库中。需要使用到 SQL Server Integration Services服务,即 SSIS
? (1)打开Business Intelligence Development Studio,选择【文件】→【 新建】→【项目】命令,弹出“新建项目
? (3)在“选择数据源”窗口中的“数据源”下拉 列表框中选择 Access数据源选项,如图 2-4所示 。然后在路径选择中选择此项目文件夹中的 foodmart 2000.mdb 文件。
? FoodMart 数据库是SQL Server 以前版本所带的 示例数据库,它模拟了一家大型的食品连锁店的 经营业务所产生的数据。
? 其商业数据保存在一个数据库中,其中包括了 客户管理数据、销售数据、分销数据和库存数据 等。随着业务量的增加,这个食品连锁店的老板 迫切需要多方位地掌握其经营状况,而传统的报 表形式和数据处理方式已经不能满足这一要求, 因此在保留历史数据的基础上构建商业智能应用 已经迫在眉睫。下面就描述满足这一商务需求的 技术实现过程。
? 库存管理业务中的仓库类型存储在 warehouse_class表中
? 具体的仓库存储在warehouse中。
2.1.2 设计数据仓库逻辑模型
? 福马特市场部的商务需求是要对1998年 进行的所有销售业务数据进行多角度分析 ,以便市场分析人员能在查询数据库时获 取快速的响应,高层管理人员也能从总体 上把握影响本年度销售的因素。这需要利 用存储在公司业务数据库中的数据,建立 数据仓库,进而创建可用于分析的多维数 据结构。
? 这里希望用雪花形结构来构建福马特商店 的销售数据仓库,逻辑结构设计图如图2-2
所示
销售数据仓库雪花形结构设计图
? 在数据仓库的逻辑结构中,数据表可以划 分为两类:一类是事实数据表(简称为“ 事实表”),用来存储数据仓库中的实际 数据,如这里存储1998年销售数据的 sales_fact_1998表即为事实表;
2-7
? 这时会让用户选择源表和源视图,如图2-7 所示。按照前面对数据仓库的设计,这里 选择原始表中的time_by_day、promotion 、product、product_class、customer、 store和sales_fact_1998表作为需要输入的 表。
? 这里对原始表中需要导入到数据仓库的数据有很 强的可定制性,对这些已经选择的表中的字段还 可以进行筛选和改变,对不需要的字段进行去除 操作,这就是所谓的数据清洗。当然也可以选择 其他的表一起导入数据仓库中。可以看到,不一 定所有的业务数据库中的数据都必须体现在数据 仓库中,数据仓库中的数据也有可能是经过业务 数据库中的数据运算而得到的,这都取决于具体 商务活动的需求。
2.1.3 创建foodmartsaleDW 数 据仓库
? 数据仓库也是一种数据库,其管理同样是 通过数据库管理系统(DBMS)来进行的。 因此数据仓库可以像普通数据库一样进行 创建、修改和删除。当数据仓库的逻辑结 构设计完后,就可以创建物理数据仓库了
? 这时可以在SQL Server Management ? 。Studio 中按照一般的建立数据库的方法建
立一个名为“foodmartsaleDW”的数据库, 然后把这里设计的表创建好,数据类型依 据原始数据库中的各个表和字段的数据类 型设置
? 但由于这里数据仓库的表结构与原始数据 库中的表结构基本一致,因此,创建 foodmartsaleDW 数据仓库的物理结构过 程也可以在ETL阶段完成
2.2 设计和使用ETL
”对话框,展开“商业智能项目”,在“ 模板”窗格中,单击“Integration Services 项目”,把项目命名为“foodmartsale ETL”,如图2-3所示。
? 这时会在BI Studio环境中打开用于设计 SSIS的各 种工具和窗口,数据提取、转换和加载的操作都 在这个界面下进行。
? 如前所述,这里只着眼于销售方面的数据,因 而把与销售相关的表提炼出来进行分析。在 foodmart 数据库中,销售业务的数据和时间、促 销手段、产品和店铺等都有关系,它们的关系体 现在表与表之间的逻辑关系上。
? 要从业务数据出发设计数据仓库的结构,必须 明确业务数据本身的结构,而业务数据的关系一 般是基于关系数据库设计的范式。数据仓库中表 的关系不受关系数据库设计范式的约束,但也要 遵循一定的结构规范,如星形结构和雪花形结构 即是这种类型的规范。同时这也是数据仓库逻辑 结构的两种类型。。
? 另一类是维度数据表(简称为“维度表” ),用来存储数据仓库中的维度数据,如 这里的关于时间、促销手段和产品等分析 要素的表均为维度表。
? 注意,在本例中设计的维度表和事实表与原始数 据中的表名及结构都一致,这主要是由原始数据 的特点和本章作为入门章节的定位决定的。在实 际设计的时候,通常需要根据需求情况重新建立 与原始数据不同的表结构。这主要是由于传统业 务的数据库是用来进行事务处理的(即 OLTP ), 而数据仓库则Baidu Nhomakorabea用来进行分析处理的(即 OLAP ),用途的不同决定了其结构的不同。这一点在 以后复杂的数据仓库设计中会通过示例体现出来 。
? FoodMart数据库涉及到公司经营的各个方 面,包括产品、库存、人事、客户和销售 等。一个真正的商业智能应用应该对这些 业务需求进行全面地考虑。本章截取这些 需求中的销售部分构建商业智能
? 打开配套文件中附带的foodmart.mdf文件, 可以看到如图2-1所示的表
? 人事管理中的员工信息存储在employee表中 ? 员工所属部门信息存储在department表中 ? 职务信息则存储在position表中
基于FoodMart数据库的福马特商 业智能系统
构建基于FoodMart数据库的福马特商业智能系统。按照 学习理论,“大处着眼,小处着手”是快速学习的好方法, 它既能把握全局,又能掌握细节
内容安排上属于实践中的“务实”,理论上的“务虚”, 只着眼于操作过程而忽略其中的深奥理论,目的在于明确一 个商业智能应用的全貌
? 这里的任务就是要把数据从其他类型数据 库或其他类型数据载体中装载到 foodmartsaleDW数据仓库中。需要使用到 SQL Server Integration Services服务,即 SSIS
? (1)打开Business Intelligence Development Studio,选择【文件】→【 新建】→【项目】命令,弹出“新建项目