text: -- Cria o schema starea
  
  -- ************** Conectado como usuário system **************
  
  -- Cria a tablespace
  CREATE TABLESPACE TBS_STAGE
  LOGGING DATAFILE '/u01/app/oracle/oradata/orcl/TBS_STAGE.dbf' 
  SIZE 1M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;   
  
  -- Caso seja necessário remover o usuário e recriá-lo
  -- Drop user starea cascade;
  
  -- Cria o schema
  CREATE USER starea IDENTIFIED BY starea0123;
  GRANT CONNECT, RESOURCE TO starea;
  GRANT UNLIMITED TABLESPACE TO starea;
  
  # Garante privilégios para o usuário starea copiar dados das tabelas do usuário source (caso não seja utilizado o Pentaho)
  grant select on source.TB_CADASTRO_CLIENTE  to starea;
  grant select on source.TB_ENDERECO to starea;
  grant select on source.TB_PRODUTO  to starea;
  grant select on source.TB_CATEGORIA to starea;
  grant select on source.TB_LOCALIDADE to starea;
  grant select on source.TB_PEDIDOS to starea;
  grant select on source.TB_ITENS_PEDIDO to starea;
  
  
  -- ************** Conectado como usuário starea **************
  
  CREATE TABLE ST_CADASTRO_CLIENTE 
  (
    ID_CLIENTE INTEGER  NOT NULL 
  , NOME_CLIENTE VARCHAR2(255) 
  , EMAIL_CLIENTE VARCHAR2(255) 
  );
  
  CREATE TABLE ST_ENDERECO 
  (
    ID_ENDERECO INTEGER NOT NULL 
  , LOGRADOURO VARCHAR2(255) 
  , NUMERO NUMBER 
  , CIDADE VARCHAR2(2255) 
  , ESTADO VARCHAR2(255) 
  , PAIS VARCHAR2(255) 
  , CEP VARCHAR2(255) 
  , ID_CLIENTE INTEGER
  );
  
  
  CREATE TABLE ST_PRODUTO 
  (
    ID_PRODUTO INTEGER NOT NULL 
  , SKU VARCHAR2(255) 
  , NOME_PRODUTO VARCHAR2(255) 
  , ID_CATEGORIA INTEGER
  );
  
  CREATE TABLE ST_CATEGORIA 
  (
    ID_CATEGORIA INTEGER NOT NULL 
  , NOME_CATEGORIA VARCHAR2(255) 
  , NOME_SUB_CATEGORIA VARCHAR2(255) 
  );
  
  CREATE TABLE ST_LOCALIDADE 
  (
    ID_LOCALIDADE INTEGER NOT NULL 
  , NOME_LOCALIDADE VARCHAR2(255) 
  , CIDADE_LOCALIDADE VARCHAR2(255) 
  );
  
  
  CREATE TABLE ST_PEDIDOS 
  (
    ID_TRANSACAO INTEGER NOT NULL 
  , DATA_TRANSACAO TIMESTAMP 
  , DATA_ENTREGA TIMESTAMP 
  , STATUS_PAGAMENTO VARCHAR2(255) 
  , ID_CLIENTE INTEGER 
  , ID_LOCALIDADE INTEGER 
  );
  
  
  CREATE TABLE ST_ITENS_PEDIDO 
  (
    ID_TRANSACAO INTEGER NOT NULL 
  , ID_PRODUTO INTEGER NOT NULL 
  , QUANTIDADE INTEGER 
  , PRECO_UNITARIO DOUBLE PRECISION 
  );
  
  
  -- Carga de dados na Staging Area (caso não seja utilizado o Pentaho)
  TRUNCATE TABLE ST_CADASTRO_CLIENTE;
  INSERT INTO ST_CADASTRO_CLIENTE
  SELECT * FROM source.TB_CADASTRO_CLIENTE;
  commit;
  
  TRUNCATE TABLE ST_ENDERECO;
  INSERT INTO ST_ENDERECO
  SELECT * FROM source.TB_ENDERECO;
  commit;
  
  TRUNCATE TABLE ST_PRODUTO;
  INSERT INTO ST_PRODUTO
  SELECT * FROM source.TB_PRODUTO;
  commit;
  
  TRUNCATE TABLE ST_CATEGORIA;
  INSERT INTO ST_CATEGORIA
  SELECT * FROM source.TB_CATEGORIA;
  commit;
  
  TRUNCATE TABLE ST_LOCALIDADE;
  INSERT INTO ST_LOCALIDADE
  SELECT * FROM source.TB_LOCALIDADE;
  commit;
  
  TRUNCATE TABLE ST_PEDIDOS;
  INSERT INTO ST_PEDIDOS
  SELECT * FROM source.TB_PEDIDOS;
  commit;
  
  TRUNCATE TABLE ST_ITENS_PEDIDO;
  INSERT INTO ST_ITENS_PEDIDO
  SELECT * FROM source.TB_ITENS_PEDIDO;
  commit;
  
  
  
  
  
  
  
  
  