/* Nicolás A. Ortega Froysa*/ ALTER SESSION SET "_ORACLE_SCRIPT" = TRUE; CREATE TABLESPACE TBSP_COMERCIAL DATAFILE 'C:\ABD\TS\tbsp_comercial.dbf' SIZE 1M; CREATE TABLESPACE TBSP_FABRICA DATAFILE 'C:\ABD\TS\tbsp_fabrica.dbf' SIZE 1M; CREATE USER COMERCIAL IDENTIFIED BY COMERCIAL DEFAULT TABLESPACE TBSP_COMERCIAL; CREATE USER FABRICA IDENTIFIED BY FABRICA DEFAULT TABLESPACE TBSP_FABRICA; DROP TABLE COMERCIAL.clientes; CREATE TABLE COMERCIAL.clientes( codigo INT, nombre VARCHAR(50), fecha_registro DATE); CREATE TABLESPACE TBSP_PEDIDOS DATAFILE 'C:\ABD\TS\tbsp_pedidos.dbf' SIZE 1M AUTOEXTEND ON MAXSIZE 10M; DROP TABLE COMERCIAL.pedidos; CREATE TABLE COMERCIAL.pedidos( num_pedido INT, cliente_codigo INT, articulo_codigo VARCHAR2(20), precio_total NUMBER, fecha_pedido DATE) TABLESPACE TBSP_PEDIDOS; DROP TABLE FABRICA.articulos; CREATE TABLE FABRICA.articulos( codigo_articulo VARCHAR2(20), fecha_registro_cliente DATE, nombre VARCHAR2(20) NOT NULL, precio NUMBER(2), fecha_pedido DATE); REVOKE ALL ON COMERCIAL.pedidos FROM PUBLIC; GRANT READ ON COMERCIAL.pedidos TO COMERCIAL; REVOKE ALL ON COMERCIAL.clientes FROM FABRICA; GRANT READ,INSERT,UPDATE,DELETE ON FABRICA.articulos TO COMERCIAL WITH GRANT OPTION; CREATE USER JEFE_COMERCIAL IDENTIFIED BY JEFE_COMERCIAL DEFAULT TABLESPACE TBSP_COMERCIAL; GRANT ALL ON COMERCIAL.pedidos TO JEFE_COMERCIAL WITH GRANT OPTION; GRANT ALL ON COMERCIAL.clientes TO JEFE_COMERCIAL WITH GRANT OPTION; SELECT c.nombre, SUM(p.precio_total) FROM COMERCIAL.pedidos p JOIN COMERCIAL.clientes c ON p.cliente_codigo=c.codigo GROUP BY c.nombre;