Taller Relaciones Ternarias Frank Flores

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 4

CREATE USER RELACIONES_TERNARIAS_COMPUESTAS_MECANICA3TI IDENTIFIED BY FRANK123;

GRANT CONNECT, RESOURCE, UNLIMITED TABLESPACE TO


RELACIONES_TERNARIAS_COMPUESTAS_3TI;

CREATE TABLE CLIENTES


(CED_CLI VARCHAR(10) PRIMARY KEY,
NOM_CLI VARCHAR(20) NOT NULL,
APE_CLI VARCHAR(20) NOT NULL);

CREATE TABLE EMPLEADOS


(CED_EMP VARCHAR(10) PRIMARY KEY,
NOM_EMP VARCHAR (20) NOT NULL,
APE_EMP VARCHAR (20) NOT NULL,
SUE_EMP NUMBER(7,2) NOT NULL);

CREATE TABLE CATEGORIAS


(COD_CAR VARCHAR(10) PRIMARY KEY,
NOM_CAT VARCHAR(10) NOT NULL,
DES_CAT VARCHAR(20));

CREATE TABLE REFACCIONES


(COD_REF VARCHAR(10) PRIMARY KEY,
NOM_REF VARCHAR(10) NOT NULL,
PRE_REF VARCHAR (10) NOT NULL
CAT_PER_REF VARCHAR(10) NOT NULL REFERENCES(COD_CAT));

CREATE TABLE VENTAS


(NUM_VEN NUMBER PRIMARY KEY,
FEC_HOR_VEN DATE NOT NULL,
CED_ CLI_COM VARCHAR(10) NOT NULL REFERENCES(CED_CLI),
CED_EMP_VEN VARCHAR(10) NOT NULL REFERENCES(CED_EMP),
COD_REF_VEN VARCHAR (10) NOT NULL REFERENCES (COD_REF));

-----------------------------------------------------------------------------------
----------------------------------
INSERT INTO CLIENTES VALUES('1801','FRANK','FLORES');
INSERT INTO CLIENTES VALUES('1802','SUSANA','HORIA');
INSERT INTO CLIENTES VALUES('1803','ARMANDO','PAREDES');
INSERT INTO CLIENTES VALUES('1804','ARMANDO','GUERRA');
INSERT INTO CLIENTES VALUES('1805','ANA','CASUELA');

INSERT INTO EMPLEADOS VALUES('1901','DAYANA','FLORES',450);


INSERT INTO EMPLEADOS VALUES('1902','JOHANNA','SANCHEZ',600);
INSERT INTO EMPLEADOS VALUES('1903','ISABEL','ACOSTA',600);
INSERT INTO EMPLEADOS VALUES('1904','PATRICIA','LLANGARI',500);
INSERT INTO EMPLEADOS VALUES('1905','RODRIGO,'GALLEGOS',500);

INSERT INTO CATEGORIAS VALUES('LL','LLANTAS');


INSERT INTO CATEGORIAS VALUES('AC','ACCESORIOS');
INSERT INTO CATEGORIAS VALUES('IL','ILUMINACION');
INSERT INTO CATEGORIAS VALUES('FR','FRENOS');
INSERT INTO CATEGORIAS VALUES('SP','SUSPENSION_DIRECCIÓN');
INSERT INTO REFACCIONES VALUES('RF1','RIN14',20,'LL');
INSERT INTO REFACCIONES VALUES('RF2','RIN16',40,'LL');
INSERT INTO REFACCIONES VALUES('RF3','KID_LED',50,'AC');
INSERT INTO REFACCIONES VALUES('RF4','KID_HID',67,'AC');
INSERT INTO REFACCIONES VALUES('RF5','PAR_FOCOS_AMBAR',200,'IL');
INSERT INTO REFACCIONES VALUES('RF6','CUARTO_LATERAL',150,'IL');
INSERT INTO REFACCIONES VALUES('RF7','ZAPATAS_TRASERAS',300,'FR');
INSERT INTO REFACCIONES VALUES('RF8','BALATAS_SEMIMETALICAS',400,'FR');
INSERT INTO REFACCIONES VALUES('RF9','KID_AMORTIGUADORES',200,'SD');
INSERT INTO REFACCIONES VALUES('RF10','PAR_BASES_AMORTUGIADOR_TRASERO',278,'SD');

CREATE SEQUENCE NUM_VEN


INCREMENT BY 1
START WITH 1
MAXVAUE 1000
NOCYCLE
NOCACHE;

INSERT INTO VENTAS VALUES(NUM_VEN.NEXTVAL,TO_DATE('09/01/2021 07:00 AM' ,


'DD/MM/YYYY HH:MI AM'),'1801',1902','RF1');

INSERT INTO VENTAS VALUES(NUM_VEN.NEXTVAL,TO_DATE('09/01/2021 11:00 AM' ,


'DD/MM/YYYY HH:MI AM'),'1801',1904','RF5');

INSERT INTO VENTAS VALUES(NUM_VEN.NEXTVAL,TO_DATE('09/01/2021 12:00 AM' ,


'DD/MM/YYYY HH:MI AM'),'1801',1905','RF6');

INSERT INTO VENTAS VALUES(NUM_VEN.NEXTVAL,TO_DATE('09/01/2021 13:00 PM' ,


'DD/MM/YYYY HH:MI PM'),'1803',1901','RF3');

INSERT INTO VENTAS VALUES(NUM_VEN.NEXTVAL,TO_DATE('09/01/2021 13:40 PM' ,


'DD/MM/YYYY HH:MI PM'),'1805',1901','RF9');

INSERT INTO VENTAS VALUES(NUM_VEN.NEXTVAL,TO_DATE('09/01/2021 13:50 PM' ,


'DD/MM/YYYY HH:MI PM'),'1804',1901','RF8');

INSERT INTO VENTAS VALUES(NUM_VEN.NEXTVAL,TO_DATE('09/01/2021 16:34 PM' ,


'DD/MM/YYYY HH:MI PM'),'1803',1902','RF1');

INSERT INTO VENTAS VALUES(NUM_VEN.NEXTVAL,TO_DATE('15/01/2021 08:00 AM' ,


'DD/MM/YYYY HH:MI AM'),'1801',1902','RF3');

INSERT INTO VENTAS VALUES(NUM_VEN.NEXTVAL,TO_DATE('16/01/2021 09:00 AM' ,


'DD/MM/YYYY HH:MI AM'),'1801',1903','RF1');

INSERT INTO VENTAS VALUES(NUM_VEN.NEXTVAL,TO_DATE('16/01/2021 11:20 AM' ,


'DD/MM/YYYY HH:MI AM'),'1804',1904','RF10');

-----------------------------------------------------------------------------------
-----------------------------------------------------------

SENTENCIAS SQL
MOSTRAR TODOS LOS DATOS DEL EMPLEADO CON MAYOR NUMERO VENTAS

SELECT *
FROM EMPLEADO
WHERE CED_EMP IN(SELECT CED_EMP_VEN
FROM VENTAS
GRUOP BY CED_EMP_VEN
HAVING COUNT(CED_EMP_VEN)= (SELECT MAX(COUNT(CED_EMP_VEN))
FROM VENTAS
GROUP BY
CED_EMP_VEN);

MOSTRAR TODOS LOS DATOS DEL EMPLEADO CON MENOR NUMERO DE VENTAS

SELECT *
FROM EMPLEADO
WHERE CED_EMP IN(SELECT CED_EMP_VEN
FROM VENTAS
GRUOP BY CED_EMP_VEN
HAVING COUNT(CED_EMP_VEN)= (SELECT MIN(COUNT(CED_EMP_VEN))
FROM VENTAS
GROUP BY
CED_EMP_VEN);

MOSTRAR TODOS LOS DATOS DE LA REFACCION MAS VENDIDA

SELECT *
FROM REFACCIONES
WHERE COD_REF IN (SELECT COD_REF_VEN
FROM VENTAS
GRUOP BY COD_REF_VEN
HAVING COUNT(COD_REF_VEN)= (SELECT MAX(COUNT(COD_REF_VEN))
FROM VENTAS
GROUP BY
COD_REF_VEN);

MOSTRAR TODOS LOS DATOS DE LA REFACCION MENOS VENDIDA

SELECT *
FROM REFACCIONES
WHERE COD_REF IN (SELECT COD_REF_VEN
FROM VENTAS
GRUOP BY COD_REF_VEN
HAVING COUNT(COD_REF_VEN)= (SELECT MIN(COUNT(COD_REF_VEN))
FROM VENTAS
GROUP BY
COD_REF_VEN);

MOSTRAR LOS DAOTS DEL EMPLEADO QUE GANA MAS QUE TODOS EMPLEADOS

SELECT *
FROM EMPLEADOS
WHERE SUE_EMP = (SELECT SUEL_EMP
FROM EMPLEADOS
GROUP BY SUE_EMP
HAVING MAX(SUEL_EMP) ;

You might also like