数据仓库课程设计pubs出版物分析系统.docx

上传人:b****2 文档编号:1617919 上传时间:2023-05-01 格式:DOCX 页数:39 大小:2.54MB
下载 相关 举报
数据仓库课程设计pubs出版物分析系统.docx_第1页
第1页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第2页
第2页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第3页
第3页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第4页
第4页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第5页
第5页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第6页
第6页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第7页
第7页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第8页
第8页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第9页
第9页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第10页
第10页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第11页
第11页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第12页
第12页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第13页
第13页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第14页
第14页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第15页
第15页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第16页
第16页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第17页
第17页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第18页
第18页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第19页
第19页 / 共39页
数据仓库课程设计pubs出版物分析系统.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据仓库课程设计pubs出版物分析系统.docx

《数据仓库课程设计pubs出版物分析系统.docx》由会员分享,可在线阅读,更多相关《数据仓库课程设计pubs出版物分析系统.docx(39页珍藏版)》请在冰点文库上搜索。

数据仓库课程设计pubs出版物分析系统.docx

数据仓库课程设计pubs出版物分析系统

 

数据仓库课程设计说明书

题目pubs出版物分析系统

系(部)信息与计算科学

专业(班级)信息与计算科学

(2)班

姓名

学号

指导教师

起止日期2011-5-20到2011-5-24

数据仓库课程设计任务书

 

专业信息与计算科学

班级09级1、2班

指导老师

任务书发出时间2012-5-9

 

信息与计算科学系

2012年5月9日

课程设计任务书

课程

数据仓库课程设计

题目

pubs出版物分析系统

序号

8

基于pubs数据库,创建数据库仓库并进行数据分析,要求满足以下分析需求。

(说明:

销售情况指销售总额、销售数量)

1.按时间级别分析不同出版社(按国家、洲、城市、具体出版社)的销售情况;

2.按时间级别分析各书店(按国家、洲、城市、具体出版社)的销售情况;

3.按时间级别分析不同作者的销售情况;

4.按时间级别分析不同雇员的销售情况;

5.按时间级别分析不同折扣的销售情况;

6.通过浏览器和报表方式分析以上需求。

基本要求

1.按需求完成详细的设计,包括事实表和维度的设计;

2.按设计方案选择相关数据表以及各表的字段,表之间的关系;

3.有详细的数据准备方案,包括验证、清理、转换、装载等;

4.合并employee中lname和fname字段为name;

5.将discounts的discount字段值划分为高、中、低、无等四个等级;

6.按设计方案构建多维数据集;

7.按需求分析数据。

高级要求

可分析销售总额的年增长率;

工作计划

及进度

提前两周:

分组、选题;

提前一周:

明确需求分析、组内分工;

第一天:

与指导老师讨论,确定需求、分工,并开始设计;

第二~四天:

构建多维数据集、分析数据;

第五天:

完成设计说明书,答辩;

第六天:

针对答辩意见修改设计说明书,打印、上交。

指导教师签字谭义红陈治平赵碧海

2012年5月3日

教研室

审定意见

同意实施

签字陈治平

2012年5月5日

长沙学院课程设计鉴定表

姓名

学号

专业

信息与计算科学

班级

2

设计题目

pubs出版物分析系统

指导教师

指导教师意见:

 

评定等级:

教师签名:

日期:

答辩小组意见:

 

评定等级:

     答辩小组长签名:

     日期:

    

教研室意见:

 

教研室主任签名:

日期:

 

系(部)意见:

 

系主任签名:

        日期:

     

说明

课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类;

长沙学院课程设计鉴定表

姓名

学号

专业

信息与计算科学

班级

2

设计题目

Pubs出版物分析系统

指导教师

指导教师意见:

 

评定等级:

教师签名:

日期:

答辩小组意见:

 

评定等级:

     答辩小组长签名:

     日期:

    

教研室意见:

 

教研室主任签名:

日期:

 

系(部)意见:

 

系主任签名:

        日期:

     

说明

课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类;

第1章系统需求

1.1系统背景

本系统是对pubs出版物的数据进行多维分析.该数据库包括authors、discounts、sales等数据表.这些表所记录的主要信息如下表所示:

表1.1pubs数据库中的表信息

序号

表名

名称

含义

1

authors

作者表

记录作者的基本信息,例如作者的电话

2

discounts

折扣表

记录折扣的基本信息,例如折扣的金额

3

employee

雇员表

记录雇员的基本信息,例如雇员的姓名

4

jobs

工作表

记录工作的基本信息,例如工作职位

5

publishers

出版社表

记录出版社的基本信息,例如出版社的名称

6

sales

销售表

记录销售的基本信息,例如销售的日期

7

stores

书店表

记录书店的基本信息,例如书店的地址

8

titles

图书表

记录图书的基本信息,例如图书的价格

9

roysched

版税表

记录版税的基本信息

10

titleauthor

图书和作者关系表

记录图书和作者的关系

11

pub_info

出版社

描述表

记录对出版社的描述信息

12

sales_s

事实表

记录各表之间的联系

1.2系统需求

基于pubs数据库,创建数据库仓库并进行数据分析,要求满足以下分析需求.

1.按时间级别分析不同出版社(按国家、洲、城市、具体出版社)的销售情况;

2.按时间级别分析各书店(按国家、洲、城市、具体出版社)的销售情况;

3.按时间级别分析不同作者的销售情况;

4.按时间级别分析不同雇员的销售情况;

5.按时间级别分析不同折扣的销售情况;

6.通过浏览器和报表方式分析以上需求。

组内分工

曾杉清:

主要负责需求分析、数据准备以及事实表构建

刘大泽:

主要负责多维数据集的构建以及报表打印

第2章数据仓库设计

2.1问题域的确定

从以上的系统需求可以得到以下信息:

(1)分析的主题

pubs出版物的数据分析.

(2)分析的数值(事实)

按时间级别分析不同出版社、不同书店、不同作者、不同雇员、不同折扣的销售情况,包括销售金额和销售数量.

(3)分析的角度(维度)

出版社维度、书店维度、作者维度、雇员维度、折扣维度.

(4)分析的粒度(维度级别)

出版社:

pbu_id、pub_name、country、state、city.

书店:

stor_id、stor_name、state、city.

作者:

au_id、au_fname、state、city.

雇员:

emp_id、qname.

折扣:

discount、discountrype.

根据对需求进行分析,得到pubs事实模式图,如图2.1所示.

图2.1pubs事实模式图

2.2识别事实数据和维度数据

识别pubs数据库的事实数据和维度数据.

pubslishers表:

pub_id基于事实表

pub_name,city,state,country属于出版社维度的字段

stores表:

stor_id属于主键

stor_name属于书店维度字段

authors表:

au_id属于主键

au_name属于作者维度的字段。

employee表:

emp_id基于事实表

name属于雇员维度的字段。

discounts表:

discount属于折扣维度的字段

store_id属于书店维度字段。

sales_s表:

pub_id属于出版社维度字段

stor_id属于书店维度字段

au_id属于作者维度字段

emp_id属于雇员维度字段

ora_date属于时间维度字段

discount属于折扣维度

Price,qty,total基于事实表

2.3事实表设计

表2.1事实表的设计

字段

数据类型

来源

功能描述

 

连接字段

ord_num

varchar(20)

sales

订单编号

stor_id

char(4)

store

商店编号

title_id

varchar(8)

sales

书本编号

pub_id

char(4)

publisher

出版社编号

ord_date

datetime

sales

销售时间

au_id

varchar(11)

authors

作者编号

emp_id

char(9)

employee

雇员编号

discount

decimal(4,2)

discounts

折扣

度量值

qty

smallint

sales

销售数量

total

real

sales

销售总额

price

money

sales

商品单价

2.4粒度设计

出版社:

pbu_id、pub_name、country、state、city.

书店:

stor_id、stor_name、state、city.

作者:

au_id、au_fname、state、city.

雇员:

emp_id、qname.

折扣:

discount、discountrype.

2.5维度设计

出版社表

表2.2出版社维度

字段

数据类型

功能描述

pub_id

char(4)

出版社ID

pub_name

varchar(40)

出版社名称

city

varchar(20)

出版社所在城市

state

char

(2)

出版社所在州

country

varchar(30)

出版社所在国家

书店表

表2.3书店维度

字段

数据类型

功能描述

ctor_id

char(4)

书店ID

stor_name

varchar(40)

书店名称

city

varchar(20)

书店所在城市

state

char

(2)

书店所在州

雇员表

表2.4雇员维度

字段

数据类型

功能描述

Emp_id

char(9)

雇员ID

qname

varchar(50)

雇员名字

折扣表

表2.5折扣维度

字段

数据类型

功能描述

discounttype

varchar(40)

折扣类型

discount

decimal(4,2)

折扣

第3章数据准备

3.1数据表的筛选

根据事实表和维度表的设计,从pubs数据库中选出有用的数据,用SQL语句建立事实表.并从pubs数据库中选出authors,discounts,employee,jobs,

pub-infopublishers,sales,stores,titleauthors,titles等有用的数据表并对数据进行分析.

SQL语句编写:

createviewsales_v

asselectord_num,stor_id,a.title_id,b.pub_id,ord_date,qty,b.price,total=(qty*b.price)fromsalesajointitlesbona.title_id=b.title_id

createviewsales_b

asselectord_num,a.stor_id,a.title_id,a.pub_id,ord_date,qty,price,total,

b.emp_id,c.au_idfromsales_va,employeeb,titleauthorcwherea.pub_id=b.pub_idanda.title_id=c.title_id

createviewsales_c

asselectord_num,a.stor_id,a.title_id,a.pub_id,ord_date,qty,price,total,

a.emp_id,a.au_id,b.discountfromsales_baleftjoindiscountsbona.stor_id=b.stor_id

select*intosales_sfromsales_c

3.2数据验证

在建立多维数据集之前需对数据的参照完整性进行验证,并对不完整的数据进行必要的处理,如补充主码值或删除不符合参照完整性约束的外键内容.

(1)对authors数据表的参照完整性验证

SELECTDISTINCTau_idFROMauthorsWHEREau_id

NOTIN(SELECTau_idFROMtitleauthor)

(2)对discounts数据表的参照完整性验证

SELECTDISTINCTstor_idFROMdiscountsWHERE

stor_idNOTIN(SELECTstor_idFROMstores)

(3)对employee数据表的参照完整性验证

SELECTDISTINCTpub_idFROMemployeeWHEREpub_id

NOTIN(SELECTpub_idFROMpublishers)

(4)对jobs数据表的参照完整性验证

SELECTDISTINCTjob_idFROMjobsWHEREjob_idNOTIN(SELECTjob_idFROMemployee)

(5)对pub_info数据表的参照完整性验证

SELECTDISTINCTpub_idFROMpub_infoWHEREpub_id

NOTIN(SELECTpub_idFROMpublishers)

(6)对publishers数据表的参照完整性验证

SELECTDISTINCTpub_idFROMpublishersWHEREpub_idNOTIN(SELECTstor_idFROMpub_info)

(7)对sales数据表的参照完整性验证

SELECTDISTINCTtitle_idFROMsalesWHEREtitle_idNOTIN(SELECTtitle_idFROMtitles)

(8)对stores数据表的参照完整性验证

SELECTDISTINCTstor_idFROMstoreWHEREstor_idNOTIN(SELECTstor_idFROMsales_a)

(9)对titleauthor数据表的参照完整性验证

SELECTDISTINCTtitle_idFROMtitleauthorWHEREtitle_idNOTIN(SELECTtitle_idFROMtitles)

(10)对titles数据表的参照完整性验证

SELECTDISTINCTpub_idFROMtitlesWHEREpub_idNOTIN

(SELECTpub_idFROMpublishers)

3.2数据清理

3.2.1冗余数据的处理

以authors表为例

select*fromauthors--查询authors表中的所有记录数

selectdistinct*fromauthors--查询authors表中去除重复行后的记录数看两次查询的记录数是否统一,依次对其他表进行查询,显示结果均为记录数相同,说明所有数据表中不存在重复行.

3.2.2空值的处理

编写SQL语句,检查分析所需要的数值、维度字段是否包含空值,如果包含,则采用相应策略替换空值

使用“select*from表名”查找各表中是否有空值

查询结果显示,discounts表中lowqty和highqty存在空值,将lowqty列都替换成100、highqty列替换成1000代码为

UPDATEdiscountsSETlowqty=100

WHERElowqtyISNULL

UPDATEdiscountsSEThighqty=1000

WHERElowqtyISNULL

Publishers表中state列中存在空值,处理方案是若CITY相同,则STATE相同,SQL语句:

Selecet*frompublishers

Updatepublisherssetstate=(selectstatefrompublisherswherecity(selectdityfrompublisherswherestateisnull)andstateisnotnull)wherestateisnull.

Titles表中存在空值,因为单条记录空值太多,而且不存在依赖关系,处理方案为删除该条记录,代码为:

Deletefromtitleswheretitle_id=’mca3026’

其他表没有空值

3.2.3不规范数据的处理

编写SQL语句,检查分析所需要的数值、维度字段是否包含缺失数据、无用空格数据,如果包含,则采用相应策略处理.

使用“select*from表名”查找各表中是否有不规范数据.

查询结果显示employee表中存在不规范数据,替换方案为将所有minit列中的不规范数据替换成V,SQL语句:

Updateemployeesetminit=’V’.

3.3数据转换

3.3.1数据类型的转换

检查日期字段均为标准格式,所以不需要再转换格式.

3.3.2对象名的转换

编写SQL语句,对英文表名或字段转换为中文

将authors字段改为“作者”,SQL语句:

execsp_renameauthors,’作者’;

将discounts字段改为“折扣”,SQL语句:

execsp_renamediscounts,’折扣’;

将employee字段改为“雇员”,SQL语句:

execsp_renameemployee,’雇员’;参照如上形式,以及表1.1的信息将对应英文表名或字段转换为中文.

第4章多维数据集构建

4.1创建项目

使用VisualStudio创建项目

图4.1新建项目

4.2创建多维数据集

1、新建多维数据集

图4.2新建数据集

2、定义度量值

图4.3定义度量值

3、定义维度

图4.4定义维度

4、定义时间段

图4.5定义时间段

5、指定日历

图4.6指定日历

6、定义维度用法

图4.7定义维度用法

7、完成并立即生成架构

图4.8完成创建多维数据集并立即生成架构

4.3创建数据源和视图

1、选择定义连接

图4.9选择定义连接

2、连接数据库

图4.10连接数据库

3、使用服务账户

图4.11选择使用服务账户

4、主题区域数据库架构选项设置

图4.12主题区域数据库架构选项设置

5、成功生成架构

图4.13成功生成架构

4.4替换数据表和建立关系

1、选择所要替换的表,右键如图

图4.14开始替换表

2、选择所要替换成的表

图4.15选择目的表

3、完成所有表的替换

图4.16所有表替换完成

4、点击事实表新建关系

4.17新建关系

5、创建关系具体操作

4.18选择关系

6、依次建立事实表与出版社、书店表、作者表、雇员表、折扣表、时间表之间的关系,如图:

4.19关系建立完成

4.5修改事实和维度属性

1、右击,选择属性

4.20修改度量值属性

2、修改Source属性

4.21修改Source属性

3、依次修改qty、total、unitprice属性值

4、将右表中的各列拖入左边,如图:

4.22将所需字段拖入左边

5、修改维度属性,右击,选择属性

4.23修改维度属性

6、分别修改KeyClumns属性

4.24修改KeyClumns属性

7、修改NameClumns属性

4.25修改NameClumns属性

8、依照步骤4、5、6、7分别修改出版社、书店、作者、雇员、折扣维度属性.

4.6修改维度用法

1、点击图中所圈

4.26修改维度用法

2、下拉,选择度量值

4.27选择度量值

3、按照上述两步,分别修改日期、出版社、书店、作者、雇员、折扣维度

4.7修改分区

1、选择分区栏,点击存储设置

4.28存储设置

2、将滑动条从右拉至HOLAP

4.29存储设置具体操作

4.8部署及多维数据集

1、部署成功

图4.30部署成功

2、构建多维数据集,根据需求设计相应的数据集

图4.31构建多维数据集

第5章数据分析

5.1MDX分析

1、按时间级别分析不同出版社(按国家、洲、城市、具体出版社)的销售情况

select

crossjoin({[时间].[年].[年]},{[Measures].[qty],[Measures].[total]})oncolumns,

crossjoin([出版社].[PubName].[PubName],[出版社].[Country].[Country],

[出版社].[State].[State],[出版社].[City].[City])onrows

from[新建多维数据集]

图5.1MDX查询1

2、按时间级别分析各书店(按国家、洲、城市、具体出版社)的销售情况

select

crossjoin({[时间].[年].[年]},{[Measures].[total]})oncolumns,

crossjoin([书店].[StorName].[StorName],[书店].[State].[State],[书店].[City].[City])onrows

from[新建多维数据集]

图5.2MDX查询2

3、按时间级别分析不同作者的销售情况

select

([作者].[AuFname].[AuFname])oncolumns,

crossjoin([时间].[年].[年],[Measures].[total])onrows

from[新建多维数据集]

图5.3MDX查询3

4、按时间级别分析不同雇员的销售情况

select

crossjoin({[时间].[年].[年]},{[Measures].[qty],[Measures].[total]})oncolumns,

[雇员].[Qname].[Qname]onrows

from[新建多维数据集]

图5.4MDX查询4

5、按时间级别分析不同折扣的销售情况

select

crossjoin({[时间].[年].[年]},{[Measures].[qty],[Measures].[total]})oncolumns,

crossjoin({[折扣].[Discounttype].[Discounttype]},{[折扣].[Discount].[Discount]})onrows

from[新建多维数据集]

图5.5MDX查询5

5.2报表分析

1.按时间级别分析不同出版社(按国家、洲、城市、具体出版社)的销售情况;

2.按时间级别分析各书店(按国家、洲、城市、具体出版社)的销售情况;

3.按

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2