如何在SQL Server中构建数据仓库

【导读】本文介绍如何在SQL Server中构建简单的数据仓库,并分析相关的问题。

基本概念:

1.多维数据集:多维数据集是联机分析处理 (OLAP) 中的主要对象,是一项可对数据仓库中的数据进行快速访问的技术。多维数据集是一个数据集合,通常从数据仓库的子集构造,并组织和汇总成一个由一组维度和度量值定义的多维结构。

2.维度:是多维数据集的结构性特性。它们是事实数据表中用来描述数据的分类的有组织层次结构(级别)。这些分类和级别描述了一些相似的成员集合,用户将基于这些成员集合进行分析。

3.度量值:在多维数据集中,度量值是一组值,这些值基于多维数据集的事实数据表中的一列,而且通常为数字。此外,度量值是所分析的多维数据集的中心值。即,度量值是最终用户浏览多维数据集时重点查看的数字数据。您所选择的度量值取决于最终用户所请求的信息类型。一些常见的度量值有 sales、cost、expenditures 和 production count 等。

4.元数据:不同 OLAP 组件中的数据和应用程序的结构模型。元数据描述 OLTP 数据库中的表、数据仓库和数据集市中的多维数据集这类对象,还记录哪些应用程序引用不同的记录块。

5.级别:级别是维度层次结构的一个元素。级别描述了数据的层次结构,从数据的最高(汇总程度最大)级别直到最低(最详细)级别。

6.数据挖掘:数据挖掘使您得以定义包含分组和预测规则的模型,以便应用于关系数据库或多维 OLAP 数据集中的数据。之后,这些预测模型便可用于自动执行复杂的数据分析,以找出帮助识别新机会并选择有获胜把握的机会的趋势。

7.多维 OLAP (MOLAP):MOLAP 存储模式使得分区的聚合和其源数据的复本以多维结构存储在分析服务器计算机上。根据分区聚合的百分比和设计,MOLAP 存储模式为达到最快查询响应时间提供了潜在可能性。总而言之,MOLAP 更加适合于频繁使用的多维数据集中的分区和对快速查询响应的需要。

时间: 2024-11-02 18:45:50

如何在SQL Server中构建数据仓库的相关文章

如何在SQL Server中恢复数据

server|恢复|数据 在SQL server 中恢复数据的几种办法: 1.自然就是 backup 的 恢复方法 backup 这种方法是最安全,最可靠的方法操作起来也很简单,只要在 sql server 的 enterprise manager中选择 restore 就可以了. 用T-SQL 也可以完成: RESTORE DATABASE test FROM DISK = 'c:\mssql7\backup\test.bak' 当然这是用的 文件恢复,如果是 设备恢复 自然也是可以的. 2.

如何在SQL Server中添加WMI alert

SQL Server可以支持WMI alert,因此我们可以使用WMI event 来监控SQL Server中的某些事件发生,并在此时出发SQL Server alert,指定执行我们需要的语句. 以下是WMI alert的一个示例脚本:IF OBJECT_ID('DeadlockEvents', 'U') IS NOT NULL BEGIN &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   DROP TAB

如何在SQL Server中实现 Limit m,n 的功能_Mysql

在MySQL中,可以用 Limit 来查询第 m 列到第 n 列的记录,例如: 复制代码 代码如下: select * from tablename limit m, n 但是,在SQL Server中,不支持 Limit 语句.怎么办呢?解决方案:虽然SQL Server不支持 Limit ,但是它支持 TOP.我们以SQL Server 2005为例,就以它自带的示范数据库 AdventureWorks 作为测试数据: 复制代码 代码如下: select id from tablename

如何在SQL Server中由原子建立分子查询

每位SQL Server开发员都有自己的首选操作方法.我的方法叫做分子查询.这些是由原子查询组合起来的查询,通过它们我可以处理一个表格.将原子组合起来,可以建立分子.当然也会有限制(化学家所称的化合价),但一般来说,这个原理还是适用的. 在本文中,我将探讨这种策略的几种变化.我从最基本的内容开始(即最详细的内容),然后逐步深化.为让你了解这种方法的灵活性,我会在不同层次使用几种技巧.(警告:这并不是唯一的解决方法,我只是在讨论一些可行的选择.) 我从普遍使用的数据库Northwind开始(虽然为

如何在SQL Server中保存和输出图片

server 建表 为了试验这个例子你需要一个含有数据的table(你可以在现在的库中创建它,也可以创建一个新的数据库),下面是它的结构: Column Name Datatype Purpose ID Integer identity column Primary key IMGTITLE Varchar(50) Stores some user friendly title to identity the image IMGTYPE Varchar(50) Stores image cont

技巧:如何在SQL Server中创建全局临时表

全局临时表的生命周期一直持续到创建会话(不是创建级别)才终止.例如,如果你在存储过程中创建 全局临时表,当超出存储过程的范围时,该表并不会被销毁.当创建会话终止后,Sql Server才会自动尝 试删除该表,其他会话中对其提交的所有语句都将结束,并释放它们所保持的所有锁. 但在某些情况下,你可能想创建一个不属于任何会话的全局临时表.这时,无论哪个会话打开或关闭 ,它总数存在,只有显式的删除它才能被移除.为此,可以在一个特殊的存储过程中(使用sp_前缀,在 master中创建)创建该表并使用"st

如何在SQL Server中使用相关子查询

子查询是指将一条SQL Sever语句嵌入到另一条SQL Sever语句中.数据库引擎将子查询做为虚表执行查询操作.子查询可做为连接语句中的一个表,可做为选择语句中的一个值,也可以是SQL Sever查询子句,还可以是SQL Sever查询子句的字句,与数据操作语句混合在一起. 子查询的执行依赖于嵌套查询.查询树从最里层开始,一层一层向外执行.高层的嵌套查询可以访问低层嵌套查询的结果. 什么是相关子查询? 与经典子查询不同,相关子查询依赖于外部查询.外部查询和子查询是有联系的,尤其在子查询的WH

如何在SQL Server中对行进行动态编号

如何在SQL中对行进行动态编号,加行号这个问题,在数据库查询中,是经典的问题.我把现在的方法整理一下,分享一下技巧吧.代码基于pubs样板数据库.在SQL中,一般就这两种方法: 1.使用临时表 可以使用select into 创建临时表,在第一列,加入Identify(int,1,1)作为行号,这样在产生的临时表中,结果集就有了行号.也是目前效率最高的方法.这种方法不能用于视图 代码: set nocount onselect IDentify(int,1,1) 'RowOrder',au_ln

如何在 SQL SERVER 中快速有条件删除海量数据_MsSql

最近有个朋友问我,他说他在SQLSERVER删除几百万到几千万数据是显的很慢,帮他分析了一下,提了一些以下意见,或许对很多人有用.     如果你的硬盘空间小,并且不想设置数据库的日志为最小(因为希望其他正常的日志希望仍然记录),而且对速度要求比较高,并清除所有的数据建议你用turncate table1,因为truncate 是DDL操作,不产生rollback,不写日志速度快一些,然后如果有自增的话,恢复到1开始,而delete会产生rollback,如果删除大数据量的表速度会很慢,同时会占