码迷,mamicode.com
首页 > 其他好文 > 详细

sakila_dwh_schema

时间:2015-04-19 11:18:58      阅读:996      评论:0      收藏:0      [点我收藏+]

标签:

 

sakila_dwh_schema为sakila样例数据库的一个星型的数据仓库实现。

Mysql版本

create_sakila_dwh_account

技术分享
CREATE USER sakila_dwh IDENTIFIED BY sakila_dwh;
GRANT ALL PRIVILEGES ON sakila_dwh.* TO sakila_dwh;
View Code

sakila_dwh_schema.sql

技术分享
-- MySQL dump 10.13  Distrib 5.1.37, for debian-linux-gnu (i486)
--
-- Host: localhost    Database: sakila_dwh
-- ------------------------------------------------------
-- Server version    5.1.37-1ubuntu5.1

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE=‘+00:00‘ */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=‘NO_AUTO_VALUE_ON_ZERO‘ */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Current Database: ‘sakila_dwh‘
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ sakila_dwh /*!40100 DEFAULT CHARACTER SET utf8 */;

USE sakila_dwh`;

--
-- Table structure for table dim_actor
--

DROP TABLE IF EXISTS dim_actor`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE dim_actor (
  actor_key int(10) NOT NULL AUTO_INCREMENT,
  actor_last_update datetime NOT NULL,
  actor_last_name varchar(45) NOT NULL,
  actor_first_name varchar(45) NOT NULL,
  actor_id int(11) NOT NULL,
  PRIMARY KEY (`actor_key`)
) ENGINE=MyISAM AUTO_INCREMENT=201 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table ‘dim_customer‘
--

DROP TABLE IF EXISTS dim_customer`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE dim_customer (
  customer_key int(8) NOT NULL AUTO_INCREMENT,
  customer_last_update datetime NOT NULL DEFAULT 1970-01-01 00:00:00,
  customer_id int(8) DEFAULT NULL,
  customer_first_name varchar(45) DEFAULT NULL,
  customer_last_name varchar(45) DEFAULT NULL,
  customer_email varchar(50) DEFAULT NULL,
  customer_active char(3) DEFAULT NULL,
  customer_created date DEFAULT NULL,
  customer_address varchar(64) DEFAULT NULL,
  customer_district varchar(20) DEFAULT NULL,
  customer_postal_code varchar(10) DEFAULT NULL,
  customer_phone_number varchar(20) DEFAULT NULL,
  customer_city varchar(50) DEFAULT NULL,
  customer_country varchar(50) DEFAULT NULL,
  customer_version_number smallint(5) DEFAULT NULL,
  customer_valid_from date DEFAULT NULL,
  customer_valid_through date DEFAULT NULL,
  PRIMARY KEY (`customer_key`),
  KEY customer_id (`customer_id`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=601 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table dim_date
--

DROP TABLE IF EXISTS dim_date`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE dim_date (
  date_key int(8) NOT NULL,
  date_value date NOT NULL,
  date_short char(12) NOT NULL,
  date_medium char(16) NOT NULL,
  date_long char(24) NOT NULL,
  date_full char(32) NOT NULL,
  day_in_year smallint(5) NOT NULL,
  day_in_month tinyint(3) NOT NULL,
  is_first_day_in_month char(10) NOT NULL,
  is_last_day_in_month char(10) NOT NULL,
  day_abbreviation char(3) NOT NULL,
  day_name char(12) NOT NULL,
  week_in_year tinyint(3) NOT NULL,
  week_in_month tinyint(3) NOT NULL,
  is_first_day_in_week char(10) NOT NULL,
  is_last_day_in_week char(10) NOT NULL,
  month_number tinyint(3) NOT NULL,
  month_abbreviation char(3) NOT NULL,
  month_name char(12) NOT NULL,
  year2 char(2) NOT NULL,
  year4 smallint(5) NOT NULL,
  quarter_name char(2) NOT NULL,
  quarter_number tinyint(3) NOT NULL,
  year_quarter char(7) NOT NULL,
  year_month_number char(7) NOT NULL,
  year_month_abbreviation char(8) NOT NULL,
  PRIMARY KEY (`date_key`),
  UNIQUE KEY date (`date_value`) USING BTREE,
  UNIQUE KEY date_value (`date_value`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table ‘dim_film‘
--

DROP TABLE IF EXISTS dim_film`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE dim_film (
  film_key int(8) NOT NULL AUTO_INCREMENT,
  film_last_update datetime NOT NULL,
  film_title varchar(64) NOT NULL,
  film_description text NOT NULL,
  film_release_year smallint(5) NOT NULL,
  film_language varchar(20) NOT NULL,
  film_original_language varchar(20) NOT NULL,
  film_rental_duration tinyint(3) DEFAULT NULL,
  film_rental_rate decimal(4,2) DEFAULT NULL,
  film_duration int(8) DEFAULT NULL,
  film_replacement_cost decimal(5,2) DEFAULT NULL,
  film_rating_code char(5) DEFAULT NULL,
  film_rating_text varchar(30) DEFAULT NULL,
  film_has_trailers char(4) DEFAULT NULL,
  film_has_commentaries char(4) DEFAULT NULL,
  film_has_deleted_scenes char(4) DEFAULT NULL,
  film_has_behind_the_scenes char(4) DEFAULT NULL,
  film_in_category_action char(4) DEFAULT NULL,
  film_in_category_animation char(4) DEFAULT NULL,
  film_in_category_children char(4) DEFAULT NULL,
  film_in_category_classics char(4) DEFAULT NULL,
  film_in_category_comedy char(4) DEFAULT NULL,
  film_in_category_documentary char(4) DEFAULT NULL,
  film_in_category_drama char(4) DEFAULT NULL,
  film_in_category_family char(4) DEFAULT NULL,
  film_in_category_foreign char(4) DEFAULT NULL,
  film_in_category_games char(4) DEFAULT NULL,
  film_in_category_horror char(4) DEFAULT NULL,
  film_in_category_music char(4) DEFAULT NULL,
  film_in_category_new char(4) DEFAULT NULL,
  film_in_category_scifi char(4) DEFAULT NULL,
  film_in_category_sports char(4) DEFAULT NULL,
  film_in_category_travel char(4) DEFAULT NULL,
  film_id int(11) NOT NULL,
  PRIMARY KEY (`film_key`)
) ENGINE=MyISAM AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table dim_film_actor_bridge
--

DROP TABLE IF EXISTS dim_film_actor_bridge`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE dim_film_actor_bridge (
  film_key int(8) NOT NULL,
  actor_key int(10) NOT NULL,
  actor_weighting_factor decimal(3,2) NOT NULL,
  PRIMARY KEY (`film_key`,`actor_key`),
  KEY dim_actor_dim_film_actor_bridge_fk (`actor_key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table ‘dim_staff‘
--

DROP TABLE IF EXISTS dim_staff`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE dim_staff (
  staff_key int(8) NOT NULL AUTO_INCREMENT,
  staff_last_update datetime NOT NULL DEFAULT 1970-01-01 00:00:00,
  staff_first_name varchar(45) DEFAULT NULL,
  staff_last_name varchar(45) DEFAULT NULL,
  staff_id int(8) DEFAULT NULL,
  staff_store_id int(8) DEFAULT NULL,
  staff_version_number smallint(5) DEFAULT NULL,
  staff_valid_from date DEFAULT NULL,
  staff_valid_through date DEFAULT NULL,
  staff_active char(3) DEFAULT NULL,
  PRIMARY KEY (`staff_key`),
  KEY staff_id (`staff_id`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table dim_store
--

DROP TABLE IF EXISTS dim_store`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE dim_store (
  store_key int(8) NOT NULL AUTO_INCREMENT,
  store_last_update datetime NOT NULL DEFAULT 1970-01-01 00:00:00,
  store_id int(8) DEFAULT NULL,
  store_address varchar(64) DEFAULT NULL,
  store_district varchar(20) DEFAULT NULL,
  store_postal_code varchar(10) DEFAULT NULL,
  store_phone_number varchar(20) DEFAULT NULL,
  store_city varchar(50) DEFAULT NULL,
  store_country varchar(50) DEFAULT NULL,
  store_manager_staff_id int(8) DEFAULT NULL,
  store_manager_first_name varchar(45) DEFAULT NULL,
  store_manager_last_name varchar(45) DEFAULT NULL,
  store_version_number smallint(5) DEFAULT NULL,
  store_valid_from date DEFAULT NULL,
  store_valid_through date DEFAULT NULL,
  PRIMARY KEY (`store_key`),
  KEY store_id (`store_id`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table ‘dim_time‘
--

DROP TABLE IF EXISTS dim_time`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE dim_time (
  time_key int(8) NOT NULL,
  time_value time NOT NULL,
  hours24 tinyint(3) NOT NULL,
  hours12 tinyint(3) DEFAULT NULL,
  minutes tinyint(3) DEFAULT NULL,
  seconds tinyint(3) DEFAULT NULL,
  am_pm char(3) DEFAULT NULL,
  PRIMARY KEY (`time_key`),
  UNIQUE KEY time_value (`time_value`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table fact_rental
--

DROP TABLE IF EXISTS fact_rental`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE fact_rental (
  customer_key int(8) NOT NULL,
  staff_key int(8) NOT NULL,
  film_key int(8) NOT NULL,
  store_key int(8) NOT NULL,
  rental_date_key int(8) NOT NULL,
  return_date_key int(10) NOT NULL,
  rental_time_key int(8) NOT NULL,
  count_returns int(10) NOT NULL,
  count_rentals int(8) NOT NULL,
  rental_duration int(11) DEFAULT NULL,
  rental_last_update datetime DEFAULT NULL,
  rental_id int(11) DEFAULT NULL,
  KEY dim_store_fact_rental_fk (`store_key`),
  KEY dim_staff_fact_rental_fk (`staff_key`),
  KEY dim_time_fact_rental_fk (`rental_time_key`),
  KEY dim_film_fact_rental_fk (`film_key`),
  KEY dim_date_fact_rental_fk (`rental_date_key`),
  KEY dim_customer_fact_rental_fk (`customer_key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2010-03-04  1:00:33
View Code

Oracle版本

create_sakila_dwh_account

技术分享
/*第1步:创建临时表空间  */
create temporary tablespace odi_temp 
tempfile C:\app\ORACLE\oradata\orcl\odi_temp.dbf
size 50m 
autoextend on 
next 50m maxsize 20480m 
extent management local; 
  
/*第2步:创建数据表空间  */
create tablespace odi_data 
logging 
datafile C:\app\ORACLE\oradata\orcl\odi_data.dbf
size 50m 
autoextend on 
next 50m maxsize 20480m 
extent management local; 
  

/*第3步:创建用户并指定表空间  */
create user sakila_dwh identified by sakila_dwh
default tablespace odi_data 
temporary tablespace odi_temp
quota unlimited on odi_data
profile default ;

/*第4步:给用户授予权限  */
grant connect,resource to sakila_dwh;
grant create view to sakila_dwh;
View Code

sakila_dwh_schema.sql

技术分享
  1 /*
  2 Oracle Client Version : 12.1.0.1.0
  3 
  4 Source Server         : sakila_dwh
  5 Source Server Version : 120100
  6 Source Host           : localhost:1521
  7 Source Schema         : SAKILA_DWH
  8 
  9 Date: 2015-04-18 18:37:10
 10 */
 11 
 12 
 13 -- ----------------------------
 14 -- Table structure for DIM_ACTOR
 15 -- ----------------------------
 16 DROP TABLE "SAKILA_DWH"."DIM_ACTOR";
 17 CREATE TABLE "SAKILA_DWH"."DIM_ACTOR" (
 18 "ACTOR_KEY" NUMBER(11) NOT NULL ,
 19 "ACTOR_LAST_UPDATE" DATE NOT NULL ,
 20 "ACTOR_LAST_NAME" VARCHAR2(45) NOT NULL ,
 21 "ACTOR_FIRST_NAME" VARCHAR2(45) NOT NULL ,
 22 "ACTOR_ID" NUMERIC  NOT NULL ,
 23 PRIMARY KEY ("ACTOR_KEY")
 24 );
 25 
 26 -- ----------------------------
 27 -- Table structure for DIM_CUSTOMER
 28 -- ----------------------------
 29 DROP TABLE "SAKILA_DWH"."DIM_CUSTOMER";
 30 CREATE TABLE "SAKILA_DWH"."DIM_CUSTOMER" (
 31 "CUSTOMER_KEY" NUMBER(11) NOT NULL ,
 32 "CUSTOMER_LAST_UPDATE" DATE DEFAULT TO_DATE (1970-01-01 00:00:00,SYYYY-MM-DD HH24:MI:SS)  NOT NULL ,
 33 "CUSTOMER_ID" NUMBER(11)  ,
 34 "CUSTOMER_FIRST_NAME" VARCHAR2(45)  ,
 35 "CUSTOMER_LAST_NAME" VARCHAR2(45)  ,
 36 "CUSTOMER_EMAIL" VARCHAR2(50)  ,
 37 "CUSTOMER_ACTIVE" CHAR(3)  ,
 38 "CUSTOMER_CREATED" DATE  ,
 39 "CUSTOMER_ADDRESS" VARCHAR2(64)  ,
 40 "CUSTOMER_DISTRICT" VARCHAR2(20)  ,
 41 "CUSTOMER_POSTAL_CODE" VARCHAR2(10)  ,
 42 "CUSTOMER_PHONE_NUMBER" VARCHAR2(20)  ,
 43 "CUSTOMER_CITY" VARCHAR2(50)  ,
 44 "CUSTOMER_COUNTRY" VARCHAR2(50)  ,
 45 "CUSTOMER_VERSION_NUMBER" NUMBER(6)  ,
 46 "CUSTOMER_VALID_FROM" DATE  ,
 47 "CUSTOMER_VALID_THROUGH" DATE  ,
 48 PRIMARY KEY ("CUSTOMER_KEY")
 49 );
 50 -- ----------------------------
 51 -- Indexes structure for table DIM_CUSTOMER
 52 -- ----------------------------
 53 CREATE  INDEX "SAKILA_DWH"."IDX_CUSTOMER_ID"  ON "SAKILA_DWH"."DIM_CUSTOMER" ("CUSTOMER_ID");
 54 
 55 
 56 -- ----------------------------
 57 -- Table structure for DIM_DATE
 58 -- ----------------------------
 59 DROP TABLE "SAKILA_DWH"."DIM_DATE";
 60 CREATE TABLE "SAKILA_DWH"."DIM_DATE" (
 61 "DATE_KEY" NUMBER(11) NOT NULL ,
 62 "DATE_VALUE" DATE NOT NULL ,
 63 "DATE_SHORT" CHAR(12) NOT NULL ,
 64 "DATE_MEDIUM" CHAR(16) NOT NULL ,
 65 "DATE_LONG" CHAR(24) NOT NULL ,
 66 "DATE_FULL" CHAR(32) NOT NULL ,
 67 "DAY_IN_YEAR" NUMBER(6) NOT NULL ,
 68 "DAY_IN_MONTH" NUMBER(4) NOT NULL ,
 69 "IS_FIRST_DAY_IN_MONTH" CHAR(10) NOT NULL ,
 70 "IS_LAST_DAY_IN_MONTH" CHAR(10) NOT NULL ,
 71 "DAY_ABBREVIATION" CHAR(3) NOT NULL ,
 72 "DAY_NAME" CHAR(12) NOT NULL ,
 73 "WEEK_IN_YEAR" NUMBER(4) NOT NULL ,
 74 "WEEK_IN_MONTH" NUMBER(4) NOT NULL ,
 75 "IS_FIRST_DAY_IN_WEEK" CHAR(10) NOT NULL ,
 76 "IS_LAST_DAY_IN_WEEK" CHAR(10) NOT NULL ,
 77 "MONTH_NUMBER" NUMBER(4) NOT NULL ,
 78 "MONTH_ABBREVIATION" CHAR(3) NOT NULL ,
 79 "MONTH_NAME" CHAR(12) NOT NULL ,
 80 "YEAR2" CHAR(2) NOT NULL ,
 81 "YEAR4" NUMBER(6) NOT NULL ,
 82 "QUARTER_NAME" CHAR(2) NOT NULL ,
 83 "QUARTER_NUMBER" NUMBER(4) NOT NULL ,
 84 "YEAR_QUARTER" CHAR(7) NOT NULL ,
 85 "YEAR_MONTH_NUMBER" CHAR(7) NOT NULL ,
 86 "YEAR_MONTH_ABBREVIATION" CHAR(8) NOT NULL ,
 87 PRIMARY KEY ("DATE_KEY")
 88 );
 89 
 90 -- ----------------------------
 91 -- Indexes structure for table DIM_DATE
 92 -- ----------------------------
 93 CREATE  INDEX "SAKILA_DWH"."IDX_DATE_VALUE"  ON "SAKILA_DWH"."DIM_DATE" ("DATE_VALUE" );
 94 
 95 
 96 
 97 -- ----------------------------
 98 -- Table structure for DIM_FILM
 99 -- ----------------------------
100 DROP TABLE "SAKILA_DWH"."DIM_FILM";
101 CREATE TABLE "SAKILA_DWH"."DIM_FILM" (
102 "FILM_KEY" NUMBER(11) NOT NULL ,
103 "FILM_LAST_UPDATE" DATE NOT NULL ,
104 "FILM_TITLE" VARCHAR2(64) NOT NULL ,
105 "FILM_DESCRIPTION" NCLOB NOT NULL ,
106 "FILM_RELEASE_YEAR" NUMBER(6) NOT NULL ,
107 "FILM_LANGUAGE" VARCHAR2(20) NOT NULL ,
108 "FILM_ORIGINAL_LANGUAGE" VARCHAR2(20) NOT NULL ,
109 "FILM_RENTAL_DURATION" NUMBER(4)  ,
110 "FILM_RENTAL_RATE" NUMBER  ,
111 "FILM_DURATION" NUMBER(11)  ,
112 "FILM_REPLACEMENT_COST" NUMBER  ,
113 "FILM_RATING_CODE" CHAR(5)  ,
114 "FILM_RATING_TEXT" VARCHAR2(30)  ,
115 "FILM_HAS_TRAILERS" CHAR(4)  ,
116 "FILM_HAS_COMMENTARIES" CHAR(4)  ,
117 "FILM_HAS_DELETED_SCENES" CHAR(4)  ,
118 "FILM_HAS_BEHIND_THE_SCENES" CHAR(4)  ,
119 "FILM_IN_CATEGORY_ACTION" CHAR(4)  ,
120 "FILM_IN_CATEGORY_ANIMATION" CHAR(4)  ,
121 "FILM_IN_CATEGORY_CHILDREN" CHAR(4)  ,
122 "FILM_IN_CATEGORY_CLASSICS" CHAR(4)  ,
123 "FILM_IN_CATEGORY_COMEDY" CHAR(4)  ,
124 "FILM_IN_CATEGORY_DOCUMENTARY" CHAR(4)  ,
125 "FILM_IN_CATEGORY_DRAMA" CHAR(4)  ,
126 "FILM_IN_CATEGORY_FAMILY" CHAR(4)  ,
127 "FILM_IN_CATEGORY_FOREIGN" CHAR(4)  ,
128 "FILM_IN_CATEGORY_GAMES" CHAR(4)  ,
129 "FILM_IN_CATEGORY_HORROR" CHAR(4)  ,
130 "FILM_IN_CATEGORY_MUSIC" CHAR(4)  ,
131 "FILM_IN_CATEGORY_NEW" CHAR(4)  ,
132 "FILM_IN_CATEGORY_SCIFI" CHAR(4)  ,
133 "FILM_IN_CATEGORY_SPORTS" CHAR(4)  ,
134 "FILM_IN_CATEGORY_TRAVEL" CHAR(4)  ,
135 "FILM_ID" NUMBER(11) NOT NULL ,
136 PRIMARY KEY ("FILM_KEY")
137 );
138 
139 -- ----------------------------
140 -- Table structure for DIM_FILM_ACTOR_BRIDGE
141 -- ----------------------------
142 DROP TABLE "SAKILA_DWH"."DIM_FILM_ACTOR_BRIDGE";
143 CREATE TABLE "SAKILA_DWH"."DIM_FILM_ACTOR_BRIDGE" (
144 "FILM_KEY" NUMBER(11) NOT NULL ,
145 "ACTOR_KEY" NUMBER(11) NOT NULL ,
146 "ACTOR_WEIGHTING_FACTOR" NUMBER NOT NULL ,
147 PRIMARY KEY ("FILM_KEY", "ACTOR_KEY")
148 );
149 
150 -- ----------------------------
151 -- Indexes structure for table DIM_FILM_ACTOR_BRIDGE
152 -- ----------------------------
153 CREATE INDEX "SAKILA_DWH"."IDX_ACTOR_KEY" ON "SAKILA_DWH"."DIM_FILM_ACTOR_BRIDGE" ("ACTOR_KEY" );
154 
155 
156 
157 -- ----------------------------
158 -- Table structure for DIM_STAFF
159 -- ----------------------------
160 DROP TABLE "SAKILA_DWH"."DIM_STAFF";
161 CREATE TABLE "SAKILA_DWH"."DIM_STAFF" (
162 "STAFF_KEY" NUMBER(11) NOT NULL ,
163 "STAFF_LAST_UPDATE" DATE DEFAULT TO_DATE (1970-01-01 00:00:00,SYYYY-MM-DD HH24:MI:SS)  NOT NULL ,
164 "STAFF_FIRST_NAME" VARCHAR2(45)  ,
165 "STAFF_LAST_NAME" VARCHAR2(45)  ,
166 "STAFF_ID" NUMBER(11)  ,
167 "STAFF_STORE_ID" NUMBER(11)  ,
168 "STAFF_VERSION_NUMBER" NUMBER(6)  ,
169 "STAFF_VALID_FROM" DATE  ,
170 "STAFF_VALID_THROUGH" DATE  ,
171 "STAFF_ACTIVE" CHAR(3)  ,
172 PRIMARY KEY ("STAFF_KEY")
173 );
174 
175 -- ----------------------------
176 -- Indexes structure for table DIM_STAFF
177 -- ----------------------------
178 CREATE INDEX "SAKILA_DWH"."IDX_STAFF_ID" ON "SAKILA_DWH"."DIM_STAFF" ("STAFF_ID");
179 
180 
181 
182 -- ----------------------------
183 -- Table structure for DIM_STORE
184 -- ----------------------------
185 DROP TABLE "SAKILA_DWH"."DIM_STORE";
186 CREATE TABLE "SAKILA_DWH"."DIM_STORE" (
187 "STORE_KEY" NUMBER(11) NOT NULL ,
188 "STORE_LAST_UPDATE" DATE DEFAULT TO_DATE (1970-01-01 00:00:00,SYYYY-MM-DD HH24:MI:SS)  NOT NULL ,
189 "STORE_ID" NUMBER(11)  ,
190 "STORE_ADDRESS" VARCHAR2(64)  ,
191 "STORE_DISTRICT" VARCHAR2(20)  ,
192 "STORE_POSTAL_CODE" VARCHAR2(10)  ,
193 "STORE_PHONE_NUMBER" VARCHAR2(20)  ,
194 "STORE_CITY" VARCHAR2(50)  ,
195 "STORE_COUNTRY" VARCHAR2(50)  ,
196 "STORE_MANAGER_STAFF_ID" NUMBER(11)  ,
197 "STORE_MANAGER_FIRST_NAME" VARCHAR2(45)  ,
198 "STORE_MANAGER_LAST_NAME" VARCHAR2(45)  ,
199 "STORE_VERSION_NUMBER" NUMBER(6)  ,
200 "STORE_VALID_FROM" DATE  ,
201 "STORE_VALID_THROUGH" DATE  ,
202 PRIMARY KEY ("STORE_KEY")
203 );
204 
205 -- ----------------------------
206 -- Indexes structure for table DIM_STORE
207 -- ----------------------------
208 CREATE INDEX "SAKILA_DWH"."IDX_STORE_ID" ON "SAKILA_DWH"."DIM_STORE" ("STORE_ID");
209 
210 -- ----------------------------
211 -- Table structure for DIM_TIME
212 -- ----------------------------
213 DROP TABLE "SAKILA_DWH"."DIM_TIME";
214 CREATE TABLE "SAKILA_DWH"."DIM_TIME" (
215 "TIME_KEY" NUMBER(11) NOT NULL ,
216 "TIME_VALUE" VARCHAR2(255 BYTE) NOT NULL ,
217 "HOURS24" NUMBER(4) NOT NULL ,
218 "HOURS12" NUMBER(4)  ,
219 "MINUTES" NUMBER(4)  ,
220 "SECONDS" NUMBER(4)  ,
221 "AM_PM" CHAR(3)  ,
222 PRIMARY KEY ("TIME_KEY")
223 );
224 -- ----------------------------
225 -- Indexes structure for table DIM_TIME
226 -- ----------------------------
227 CREATE  INDEX "SAKILA_DWH"."IDX_TIME_VALUE"  ON "SAKILA_DWH"."DIM_TIME" ("TIME_VALUE");
228 
229 
230 -- ----------------------------
231 -- Table structure for FACT_RENTAL
232 -- ----------------------------
233 DROP TABLE "SAKILA_DWH"."FACT_RENTAL";
234 CREATE TABLE "SAKILA_DWH"."FACT_RENTAL" (
235 "CUSTOMER_KEY" NUMBER(11) NOT NULL ,
236 "STAFF_KEY" NUMBER(11) NOT NULL ,
237 "FILM_KEY" NUMBER(11) NOT NULL ,
238 "STORE_KEY" NUMBER(11) NOT NULL ,
239 "RENTAL_DATE_KEY" CHAR(8) NOT NULL ,
240 "RETURN_DATE_KEY" CHAR(10) NOT NULL ,
241 "RENTAL_TIME_KEY" CHAR(8) NOT NULL ,
242 "COUNT_RETURNS" NUMBER(11) NOT NULL ,
243 "COUNT_RENTALS" NUMBER(11) NOT NULL ,
244 "RENTAL_DURATION" NUMBER(11)  ,
245 "RENTAL_LAST_UPDATE" DATE  ,
246 "RENTAL_ID" NUMBER(11)  
247 );
248 
249 -- ----------------------------
250 -- Indexes structure for table FACT_RENTAL
251 -- ----------------------------
252 CREATE  INDEX "SAKILA_DWH"."DIM_CUSTOMER_FACT_RENTAL_FK"
253 ON "SAKILA_DWH"."FACT_RENTAL" ("CUSTOMER_KEY" )
254 ;
255 CREATE  INDEX "SAKILA_DWH"."DIM_DATE_FACT_RENTAL_FK"
256 ON "SAKILA_DWH"."FACT_RENTAL" ("RENTAL_DATE_KEY" )
257 ;
258 CREATE  INDEX "SAKILA_DWH"."DIM_FILM_FACT_RENTAL_FK"
259 ON "SAKILA_DWH"."FACT_RENTAL" ("FILM_KEY" )
260 ;
261 CREATE  INDEX "SAKILA_DWH"."DIM_STAFF_FACT_RENTAL_FK"
262 ON "SAKILA_DWH"."FACT_RENTAL" ("STAFF_KEY" )
263 ;
264 CREATE  INDEX "SAKILA_DWH"."DIM_STORE_FACT_RENTAL_FK"
265 ON "SAKILA_DWH"."FACT_RENTAL" ("STORE_KEY" )
266 ;
267 CREATE  INDEX "SAKILA_DWH"."DIM_TIME_FACT_RENTAL_FK"
268 ON "SAKILA_DWH"."FACT_RENTAL" ("RENTAL_TIME_KEY" )
269 ;
View Code

 

sakila_dwh_schema

标签:

原文地址:http://www.cnblogs.com/xqzt/p/4438749.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!