- 1、本文档共73页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库system概念6版高级SQL
多维数据模型OLAP操作 查询 例:找出2000年各月的销售总额和销售总量 Select 月,商品名 ,商店名,城市,SUM(R:销售金额), SUM(R:销售量) from 销售事实表,时间 ,商品,地区,商店 where 年=“2000” Cube by (月,商品名 ,商店名,城市:R) 多维数据模型的OLAP操作 说明: Cube by子句对后面的属性月,商品名 ,商店名,城市,所有可能的集合计算聚集 例:找出各季度的销售总额和销售总量 Select 商品键,商店键,季度,SUM(销售金额), SUM(销售量) from 销售事实表 as A,时间 as B Where A.时间键=B.时间键 Cube by (商品键,商店键,季度) 多维数据模型的OLAP操作 同样,聚集的方式有: Cube by (“电视”,“济南”,“银座”,“一季度”) Cube by (all, “济南”,“银座”, “一季度”) Cube by( all, all, “银座”,“一季度”) Cube by (all, all, all, all) 多维数据模型的OLAP操作 同样,聚集的方式有: Cube by (“电视”,“济南”,“银座”,“一季度”)+ Cube by(“音响”,“济南”,“银座”,“一季度”) Cube by (all, all, “银座”,“一季度”)/ Cube by( all, all, all, all)*100% 多维数据模型的OLAP操作 上卷: Select 商品键,商店键,日期键,SUM(销售金额), SUM(销售量) from 销售事实表 Where A.时间键=B.时间键 Cube by 商品键,商店键,日期键 ROLLUP 多维数据模型的OLAP操作 说明: Cube by 商品键,商店键,日期键 ROLLUP 依次生成零维、一维、二维、三维的各个立方体的值。 例:找出2007-2008每个城市各季度各商品的销售总额和销售总量 多维数据模型的OLAP操作 Select 商品键,城市,季度,SUM(销售金额), SUM(销售量) from 销售事实表 as A,日期 as B, 商店 as C Where A.时间键=B.时间键 and A.商店键=C.商店键 and 年 between 2007 AND 2008 Cube by (商品键,城市,季度) 多维数据模型的OLAP操作 例:找出2007-2008每个城市按月、季度、年的销售总额和销售总量 Select 商品键,商店键,日期键,SUM(销售金额), SUM(销售量) from 销售事实表 as A,日期 as B, Where A.时间键=B.时间键 and A.商店键=C.商店键 and 年 between 2007 AND 2008 Cube by (商品键,商店键,日期键) ROLLUP 日,月,季度,年 SQL server的多维数据模型 安装SQL server中的组件 插入 SQL server 2000 光盘 选“安装 SQL server 2000 组件” 选“安装 Analysisi service ” 进入“选择组件”对话框,全选 完成 SQL server的多维数据模型 进入 Analysisi Manager 建立维度表 创建多维数据集 在Analysisi Manager,进入多维数据集浏览集 可以完成: 1. 维度的替换 SQL server的多维数据模型 2 . 维度添加 3. 上卷与下钻 4. 切片与切块 * 嵌入式 SQL 编程举例 }; }; EXEC SQL CLOSE SX; End ; UPDATE语句分为CURRENT形式和非CURRENT形式,非CURRENT形式是集合操作,一次修改所有满足条件的记录。CURRENT形式只修改其中某个记录。 嵌入式 SQL 编程举例 例 删除某些学生的记录。 ...... EXEC SQL DECLARE SX CURSOR FOR SELECT Sno,Sname,Ssex,Sage FROM Student WHERE SDept=:deptname; EXEC SQL OPEN SX WHILE(1) { 嵌入式 SQL 编程举例 EXEC SQL FETCH SX INTO :HSno, :HSname, :HSsex, :HSage, :HSdept; if(sqlca.sqlcodeSUCCESS) break; printf(%s, %
文档评论(0)