首页 > 代码库 > 分析函数之初体验(二)——环境
分析函数之初体验(二)——环境
参考一本书上的讲解,实验环境使用的是oracle 11g的SH用户下的数据,在创建数据库时勾选“sample schema”,默认会创建一系列的示例用户,包括scott/hr/sh/bi等,但这些用户中除了scott外,其它用户都没有数据,这需要用官方网站下载一个examples的压缩包,把这个包安装上之后,再进行数据导入才会有相应的数据。
安装简单,直接执行安装程序即可,麻烦的是在导入数据上,颇费一番周折。
安装完后,在/u01/oracle/app/oracle/product/11.2.0/demo/schema/sales_history目录中可以找到相关的创建用户和示例数据文件,数据需要用sqlldr来导入。
具体步骤如下:
1. 先以管理员用户身份登录,执行sh_main.sql,这个脚本主要是创建用户、表、视图、索引等。
SQL> @sh_main.sql specify password for SH as parameter 1: Enter value for 1: sh specify default tablespace for SH as parameter 2: Enter value for 2: users specify temporary tablespace for SH as parameter 3: Enter value for 3: temp specify password for SYS as parameter 4: Enter value for 4: memory specify directory path for the data files as parameter 5: Enter value for 5: /u01/oracle/app/oracle/product/11.2.0/demo/schema/sales_history writeable directory path for the log files as parameter 6: Enter value for 6: /u03/dmp specify version as parameter 7: Enter value for 7: v3
注意每5步和第7步,第5步的路径指的是存放sh用户脚本的路径,第7步的版本,可以在sh脚相的目录ls一下,很多文件后面都有一个数字,就是这个版本,不是数据库版本。
2. 导入数据,顺序不能错,因为表中有外键约束,顺序错了导不进数据。
sqlldr userid=sh/sh control=prom_v3.ctl data=prom1v3.dat sqlldr userid=sh/sh control=cust_v3.ctl data=cust1v3.dat sqlldr userid=sh/sh control=cust2v3.ctl data=cust2v3.dat sqlldr userid=sh/sh control=prod_v3.ctl data=prod1v3.dat sqlldr userid=sh/sh control=prod2v3.ctl data=prod2v3.dat sqlldr userid=sh/sh control=sale_v3.ctl data=sale1v3.dat sqlldr userid=sh/sh control=sale2v3.ctl data=sale2v3.dat
3. 创建实验用的数据表
1 CREATE table sales_fact AS 2 SELECT country_name country, 3 country_subRegion region, 4 prod_name product, 5 calendar_year year, 6 calendar_week_number week, 7 SUM(amount_sold) sale, 8 sum(amount_sold * (case 9 when mod(rownum, 10) = 0 then 10 1.4 11 when mod(rownum, 5) = 0 then 12 0.6 13 when mod(rownum, 2) = 0 then 14 0.9 15 when mod(rownum, 2) = 1 then 16 1.2 17 else 18 1 19 end)) receipts 20 FROM sales, times, customers, countries, products 21 WHERE sales.time_id = times.time_id 22 AND sales.prod_id = products.prod_id 23 AND sales.cust_id = customers.cust_id 24 AND customers.country_id = countries.country_id 25 GROUP BY country_name, 26 country_subRegion, 27 prod_name, 28 calendar_year, 29 calendar_week_number;
实验环境完成。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。