警务数据仓库的实现

news2024/11/15 13:04:29

目录

    • 一、SQL Server 2008 R2
      • (一)SQL Server 的服务功能
      • (二)SQL Server Management Studio
      • (三)Microsoft Visual Studio
    • 二、创建集成服务项目
    • 三、配置“旅馆_ETL”数据流任务
    • 四、配置“人员_ETL”数据流任务
      • (一)创建“人员_ETL”对象
      • (二)配置“人员_ETL”参数
    • 五、配置“时间_ETL”数据流任务
    • 六、配置“入住_ETL”数据流任务
    • 七、SSIS包package的部署
      • (一)将包另存到SSIS服务器
      • (二)创建作业代理



  本文介绍在警务信息数据仓库分析与设计的基础上,应用 Microsoft SQL Server 2008 R2 的集成服务(SQL Server Integration Services,SSIS)功能, 完成警务信息数据仓库 SSIS 包的配置任务,并最终实现将数据源 OLTPHotel 中的数据, 抽取转化后加载到数据仓库 HuangDW_Hotel 之中。

一、SQL Server 2008 R2

  Microsoft SQL Server 微软公司推出的一款商品化关系型数据库管理系统(RDBMS),因其中包括了数据仓库的管理功能,也是一款关系数据仓库管理系统(RDWMS),在国际国内有广泛用户群。

  Microsoft SQL Server 2008 R2 在 SQL Server 2008 基础上增加了许多新的功能,不仅能为用户的关键商业应用提供可信赖的、高效的、智能的开发平台,支持策略管理和审核、大规模数据仓库、空间数据、高级报告与分析服务等功能,还增强了应用开发能力,提高了可管理性,强化了对商业智能及数据仓库的支持。

  我们的警务信息数据仓库是在 SQL Server 2008 R2 平台上实现的,因此,简单介绍 SQL Server 2008 R2 与警务信息数据仓库实现有关的服务功能。

(一)SQL Server 的服务功能

  1. 数据库引擎(SSDE)是 SQL Server 系统的核心服务,包括传统数据库管理系统(DBMS)和数据仓库管理系统(DWMS)功能。
  2. 集成服务(SSIS)是一个功能强大的数据集成平台,可以完成有关数据的 “提取-转换-加载(ETL)” 功能。
  3. 分析服务(SSAS)提供了 OLAP 多维分析和数据挖掘功能,支持用户对所建立的数据仓库进行商业智能分析。
  4. 报表服务(SSRS)为用户提供了支持企业级的 Web 报表功能。通过使用 SSRS 服务,用户可以方便地定义和发布满足自己需求的报表,且无论是报表的布局格式,还是报表的数据源,用户都可以轻松地实现 Word,PDF,Excel,XML 等格式的报表。

(二)SQL Server Management Studio

  SQL Server Management Studio(SSMS)是一个集成的数据库/数据仓库管理环境,用于访问、配置、管理和创建 SQL Server 数据库/数据仓库有关的所有组件,使如数据库引擎(SSDE)、分析服务(SSAS)、报表服务(SSRS)、集成服务(SSIS)和嵌入式数据库(SSC)协同工作。

  在其【服务器类型】下拉框内有【数据库引擎】、Analysis Services、Reporting Services、Integration Services 和 SQL Server Compact 等5个选项。选择其中任何一个获得相应服务功能。

(三)Microsoft Visual Studio

1、商业智能开发平台简介

  • Microsoft Visual Studio(MVS)是微软公司推出的一个软件集成开发环境,称为商业智能开发平台(SQL Server Business Intelligence Development Studio),是目前最为流行的 Windows 应用程序开发环境之一。
  • SQL Server Integration Services(集成服务,简称SSIS)工具,可完成对数据源的数据抽取、转换并装载到数据仓库的集成项目开发,包括控制流、数据流任务参数配置。
  • SQL Server Analysis Services(分析服务,SSAS)工具,可完成对数据仓库数据的各种多维数据集重构,为 OLAP 分析提供支持。
  • SSIS 是 SQL Server 为用户提供的主要智能服务功能之一,是一个可视化的高性能数据 “抽取-转换-装载”(ETL)集成解决方案的配置和调试平台。
  • 对每一个实际应用问题,可利用 SSIS 为其开发一个数据集成方案(称为一个SSIS包)。SSIS 提供了一系列支持应用开发的内置任务和容器,数据源、数据查找、数据转换、数据目的等配置控件。用户只要配置数据流中各种控件的参数,几乎无需编写一行代码,就可以创建 SSIS 包来解决 ETL 等复杂的商业智能数据集成问题。

2、进入商业智能开发平台

  选择 Windows 的【SQL Server Business Intelligence Development Studio】菜单命令,进入 SQL Server 商业智能开发平台 Microsoft Visual Studio(MVS)的【起始页】窗口。

3、本章后续内容

  本章后面几节将要介绍的内容,就是在这个 MVS 平台上完成如下两项工作。

(1)创建集成服务项目

  每一个集成服务项目至少有一个 SSIS 包,所以,当 HuangDC_ETL 成功创建后,它有一个默认的 SSIS 包名称 Package.dtsx。

(2)配置数据流任务

  一个 SSIS 包通常由若干个数据流任务连接起来的控制流组成,它们是从数据源中抽取数据,并将其清理、合并转换后加载到数据仓库的一个集成解决方案。下图显示的是已经完成配置的教程实例 SSIS 包,它由7个数据流任务组成,其中的箭头表明了它们的执行顺序。

在这里插入图片描述
① 旅馆_ETL。负责将数据源 OLTPHotel 中旅馆信息表 LGXX 的数据抽取出来,经过转换后,加载到数据仓库 HuangDW_Hotel 目的表 DimHotel(旅馆维度表)之中。
OLTPHotel.LGXX → HuangDW_Hotel.DimHotel

② 人员_ETL。将 OLTPHotel 中常住人口表 CZRK、暂住人口表 ZZRK 和人员前科表 RYQK,加载到数据仓库 HuangDW_Hotel 目的表 DimPeople(人员维度表)之中。
OLTPHotel.CZRK, ZZRK, RYQK → HuangDW_Hotel. RYQK

③ 时间_ETL。将 OLTPHotel 中旅馆入住表 LGRZ 的入住时间 RZSJ 和离店时间 LDSJ 抽取出来,派生出年、月、日、时等新列,加载到数据仓库 HuangDW_Hotel 目的表 DimDate(时间维度表)之中。
OLTPHotel. LGRZ → HuangDW_Hotel.DimDate

④ 入住_ETL。将 OLTPHotel 旅馆入住表 LGRZ 的数据抽取出来,派生出年、月、日、时等新列,加载到数据仓库 HuangDW_Hotel 目的表 FactHotel(旅馆事实表)之中。
OLTPHotel.LGRZ → HuangDW_Hotel.FactHotel

⑤ 犯罪_ETL。将 OLTPHotel 中犯罪类型表 FZLX 的数据抽取出来,加载到 HuangDW_Hotel 目的表 DimCaseType(犯罪类型维度表)之中。
OLTPHotel.FZLX → HuangDW_Hotel.DimCaseType

⑥ 地址_ETL。将 OLTPHotel 中所属辖区表 SSXQ 的数据抽取出来,加载到 HuangDW_Hotel 目的表 DimAddress(地址维度表)之中。
OLTPHotel.SSXQHuangDW_Hotel.DimAddress

⑦ 派出所_ETL。将 OLTPHotel 中派出所表 PCS 的数据抽取出来,加载到 HuangDW_Hotel 目的表 DimPolice(派出所维度表)之中。
OLTPHotel.PCS → HuangDW_Hotel. DimPolice

二、创建集成服务项目

  在 MVS【起始页】窗口【文件】菜单中依次选择【新建】-【项目】菜单命令,弹出如图所示的【新建项目】窗口。

在这里插入图片描述
说明 SSIS 包的设计窗口主要有4个区域。

1、菜单命令及其快捷按钮区域,分布在窗口的第一行和第二行;

2、功能设计区域,在窗口的正中央——包括【控制流】,【数据流】、【事件处理程序】和【包资源管理器】等功能选项卡,是配置SSIS包的操作和显示区域。实例仅使用【控制流】和【数据流】选项卡。

3、【工具箱】区域位于【控制流】选项卡的左边,可折叠/展开窗口。
(1)SSIS 包要想完成从数据源抽取数据,并将其转换和加载到数据仓库等各种操作步骤,都需要借助工具箱中的特定控件来实现。
(2)多个控件组成的一个执行顺序就构成一个数据流任务,多个数据流任务按照执行顺序连接起来称为一个控制流。

4、【解决方案资源管理器】区域分布在窗口的右边,显示了整个项目拥有的对象,如数据源,数据源视图、SSIS 包和杂项等,以方便用户随时查看和引用。

说明:在 SSIS 包的配置实验过程中,可随时停止配置并退出 SQL Server 商业智能开发平台(MVS)。重新启动商业智能开发环境,在【起始页】窗口的【最近的项目】区域内单击 HuangDC_ETL,可重新进入 SSIS 包的设计窗口。

三、配置“旅馆_ETL”数据流任务

  配置将数据源 OLTPHotel 中旅馆信息表 LGXX 的数据,抽取、转化并加载到数据仓库 HuangDW_Hotel 目的表 DimHotel 之中所需要的操作控件、操作顺序和相关参数。比如数据源 LGXX 所在的服务器名称、数据库名称,还有目的表 DimHotel 所属数据库名称,以及数据库所在的服务器名称等。

在这里插入图片描述

四、配置“人员_ETL”数据流任务

(一)创建“人员_ETL”对象

  添加 “数据流任务” 并重命名为 “人员_ETL”。

(二)配置“人员_ETL”参数

  “人员_ETL” 对象包括 “ADO NET源”、“数据转换”、“派生列”、“查找”、“排序”、“合并”、“合并联接” 和 “ADO NET Destination” 等多种控件组成。

在这里插入图片描述

五、配置“时间_ETL”数据流任务

  配置 “时间_ETL” 数据流任务,就是配置将旅馆入住信息表 LGRZ 的入住时间 RZSJ 和离店时间 LDSJ 两个数据,抽取到数据仓库目的表 DimDate 之中所需要的操作控件、操作顺序和相关参数。

在这里插入图片描述

六、配置“入住_ETL”数据流任务

  “入住_ETL” 对象创建的步骤和操作方法与前面创建 “人员_ETL” 对象完全相同。可以模仿完成 “入住_ETL” 对象的创建。

在这里插入图片描述

  此外,我们还需 “犯罪_ETL” 数据流任务,“地址_ETL” 数据流任务和 “派出所_ETL” 数据流任务,且其配置过程与旅馆_ETL、入住_ETL的类似。下图所示分别展示了每个数据流任务中所需的控件。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、SSIS包package的部署

  前面已成功创建了一个集成服务项目 HuangDC_ETL,并为该项目的 SSIS 包 package.dtsx 配置了 “旅馆_ETL”、“人员_ETL” 等7个数据流任务。将把包 package.dtsx 部署到 SQL Server 的 SSIS 服务器中,使其能够根据指定的时间节点自动运行这个包,完成从 OLTPHotel 不断抽取数据并追加到数据仓库 HuangDW_Hotel 的任务。

SSIS 包的部署包括如下2项工作。
(1)将 SSIS 包 package.dtsx 另存到 SSIS 服务器,并将其命名为 HDC_ETL_Hotel,使其成为一个 “已存储的包” 对象存储在 SSIS 服务器之中;
(2)配置包的运行作业参数,包括周期和时间,使代理能够在指定时间内执行该包。

(一)将包另存到SSIS服务器

1、进入 SSIS 包文件所在的文件夹

2、打开 SSIS 包的设计窗口

3、指定 SSIS 包另存的服务器

4、为 SSIS 包副本命名

5、配置包保护级别

6、将包另存到服务器

7、查看包另存的结果

  服务器类型选择 Integration Services 登录 SSMS。

在这里插入图片描述

(二)创建作业代理

1、登录数据库服务器

  【服务器类型】选择 “数据库引擎” 登录SSMS。

2、启动 SQL Server 代理

3、配置新建的作业

(1)打开 “新建作业” 窗口。
(2)配置 “常规” 属性。
(3)打开作业 “步骤” 窗口。
(4)配置 “新建作业步骤” 参数。
(5)打开作业 “计划” 窗口。
(6)配置 “新建作业计划”。

在这里插入图片描述
4、查看新建作业

  在图窗口中右击【SQL Server代理】对象,并在快捷菜单中选择【刷新】命令,再展开【SQL Server代理】,即可在【作业】对象下面看见一个名为 “旅馆数据抽取作业” 的对象。这表明存储在 SSIS 服务器中的包 HDC_ETL_Hotel,已作为 SQL Server 数据库服务器中的一个代理作业。至此以后会,它将在规定时间节点(每天凌晨2点)自动抽取事务数据库 OLTPHotel 中新增加的数据,并将其追加到数据仓库 HuangDW_Hotel 之中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1544454.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构·二叉树(1)

目录 1 树的概念及结构 1.1 树的结构 1.2 树的概念 1.3树的表示 2 二叉树的概念及结构 2.1二叉树的概念 2.2 特殊的二叉树 2.3 二叉树的存储结构 1 树的概念及结构 1.1 树的结构 前面所学到的顺序表链表等,都是线性的数据结构,今天介绍的树&am…

Android Native Crash奔溃

一.Native Crash 简介 从 Android 系统全局来说,Crash 通常分为 App/Framework Crash,Native Crash,以及 Kernel Crash。 对于 App 层或者 Framework 层的 Crash(即 Java 层面 Crash),那么往往是通过抛出未捕获异常而导致的 Cras…

FPGA电平标准

1.LVTTL:(3.3v) 2.LVCOMS:(1.8v) 3.LVDS(1.8v):LVDS_25(2.5v) 4:如果是ddr3与fpga相连接fpga的vcco推荐(1.5v)…

flask_restful的基本使用

优势: Flask-Restful 是一个专门用来写 restful api 的一个插件。 使用它可以快速的集成restful api 接口功能。 在系统的纯api 的后台中,这个插件可以帮助我们节省很多时间。 缺点: 如果在普通的网站中,这个插件就没有优势了&…

【SQL】1517. 查找拥有有效邮箱的用户(正则表达式regexp)

前述 sql-正则表达式SQL学习笔记 – REGEXP 题目描述 leetcode 题目:1517. 查找拥有有效邮箱的用户 Code select * from Users where mail regexp ^[a-zA-Z][a-zA-Z0-9_.-]*leetcode\\.com$图片引用自 MySQL正则表达式

后端常问面经之操作系统

请简要描述线程与进程的关系,区别及优缺点? 本质区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位 在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之…

flask_restful规范返回值

使用方法 导入 flask_restful.marshal_with 装饰器 定义一个字典变量来指定需要返回的标准化字段,以及该字段的数据类型 在请求方法中,返回自定义对象的时候, flask_restful 会自动的读 取对象模型上的所有属性。 组装成一个符合标准化参…

定时器 c++ 基于时间线

获取当前时间std::chrono::system_clock::now(); std::chrono::time_point_cast<std::chrono::milliseconds>(now) 是 std::chrono 标准库中的一个函数调用&#xff0c;用于将时间点 now 转换为毫秒级别精度的时间点。 friend class timermanger; 表示将类 timermanger …

数据结构入门学习③——栈和队列

前言&#xff1a; 本篇博客主要介绍有关栈和队列数据结构相关知识 思维导图介绍&#xff1a; 开始之前&#xff0c;先介绍一下这篇博客主要介绍的主体内容&#xff1a; 栈和队列&#xff1a; 回顾线性表&#xff1a; 在刚才的思维导图里我们也了解到了——栈和队列都属于线性…

【vscode打开多文件夹】

1)将文件夹添加到工作空间中 2)文件夹方式展开 3)最终效果 小技巧&#xff1a; 文件夹的位置不对的话&#xff0c;可以拖动进行调整。

3.24作业

基于UDP的网络聊天室 项目需求&#xff1a; 如果有用户登录&#xff0c;其他用户可以收到这个人的登录信息如果有人发送信息&#xff0c;其他用户可以收到这个人的群聊信息如果有人下线&#xff0c;其他用户可以收到这个人的下线信息服务器可以发送系统信息 服务器端代码 #in…

数据结构 之 队列习题 力扣oj(附加思路版)

优先级队列 #include<queue> --队列 和 优先级队列的头文件 优先级队列&#xff1a; 堆结构 最大堆 和 最小堆 相关函数&#xff1a; front() 获取第一个元素 back() 获取最后一个元素 push() 放入元素 pop() 弹出第一个元素 size() 计算队列中元素…

<网络>初识计算机网络

目录 一、网络发展 &#xff08;一&#xff09;背景 &#xff08;二&#xff09;类型 二、网络协议 &#xff08;一&#xff09;认识协议 &#xff08;二&#xff09;协议分层 &#xff08;三&#xff09;OSI七层模型 &#xff08;四&#xff09;TCP/IP五层模型 &…

[音视频学习笔记]八、FFMpeg结构体分析 -上一个项目用到的数据结构简单解析:AVFrame、AVFormatContext、AVCodecContext

前言 上次我们做了一个简单的视频解码&#xff0c;MediaPlay-FFmpeg - Public 这一次简单对这个代码进行一个剖析&#xff0c;对其中的数据结构进行一个解析。 这些数据结构之间的关系 AVFrame 、AVFormatContext 、AVCodecContext 、AVIOContext 、AVCodec 、AVStream 、AV…

Pillow教程01:初识Pillow模块(创建Image对象+查看属性+图片的保存与缩放)

--------------Pillow教程集合--------------- Python项目18&#xff1a;使用Pillow模块&#xff0c;随机生成4位数的图片验证码 Python教程93&#xff1a;初识Pillow模块&#xff08;创建Image对象查看属性图片的保存与缩放&#xff09; Pillow教程02&#xff1a;图片的裁剪…

【算法专题--双指针算法】leecode-15.三数之和(medium)、leecode-18. 四数之和(medium)

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 前言1. 三数之和2. 解法&…

如何使用PHP和RabbitMQ实现延迟队列(方式二)?

前言 前几天写了一篇关于PHP和RabbitMQ如何通过插件实现延迟队列的功能。 今天写另外一篇不需要插件的方式&#xff0c;使用RabbitMQ的死信队列&#xff08;Dead-Letter-Exchanges, DLX&#xff09;和消息TTL&#xff08;Time-To-Live&#xff09;。 这种方法涉及到设置消息…

OpenHarmony 源码解析之SystemUi—Statusbar(TS)

作者&#xff1a;董伟 简介 SystemUI应用是OpenHarmony中预置的系统应用&#xff0c;为用户提供系统相关信息展示及交互界面&#xff0c;包括系统状态、系统提示、系统提醒等&#xff0c;例如系统时间、电量信息。 本文主要分析batterycomponent、clockcomponent、wificompo…

C#自定义控件 生成 与 加入到项目

C#自定义控件生成 在C#中&#xff0c;自定义控件通常是通过继承现有的控件类&#xff08;如UserControl、Form等&#xff09;并添加或修改其属性和方法来实现的。以下是一个简单的示例&#xff0c;演示如何创建一个自定义控件&#xff1a; 首先&#xff0c;创建一个新的Window…

陪诊小程序成品|陪诊系统功能|陪诊小程序研发功能和流程

近年来&#xff0c;随着人们健康意识的提升和医疗行业的不断发展&#xff0c;陪诊小程序在医疗领域中扮演着越来越重要的角色。那么&#xff0c;什么是陪诊小程序&#xff1f;它具有怎样的功能和流程呢&#xff1f;本文将为您详细解读。 陪诊小程序是一种通过手机应用程序进行…