SlideShare una empresa de Scribd logo
1 de 11
UNIVERSIDAD NACIONAL DEL CALLAO
Facultad de Ingeniería Industrial y de Sistemas
Escuela Profesional de Ingeniería de Sistemas
• ASIGNATURA: Base de Datos
• DOCENTE: Eddie Malca
• ALUMNOS:
- Bello Sánchez, Giancarlos
2019
EJERCICIOS SQL
Caso 2 – Sistema de Facturación
CLI (Cliente) = {DNI, NYA, SEXO, EDAD, DIR, TEL, ZONA}
RU (Rubros) = {CODR, DESC_RU}
ART (Artículo) = {CODA, DESC_ART, STOCK, PTO_REP (PUNTO DE REPOSICIÓN), CODR, PRECIO (precio actual)}
FAC (Factura) = {NROFACT, FECHA, DNI}
REM (Remito) = {NROREM, FECHA, NROFACT}
LÍ-F (Línea-Factura) = {NROFACT, CODA, CANT, PRECIO (precio al momento de la venta)}
LÍ-R (Línea-Remito) = { NROREM, CODA, CANT}
EJERCICIO
a) Resuelva las consultas planteadas usando el lenguaje SQL.
1. Mostrar el código, la descripción y el stock de los artículos.
Respuesta:
SELECT CODA, DESC_ART, STOCK FROM ARTICULO;
2. Obtener los artículos (código del artículo, descripción y stock) cuyo stock es mayor a 100 y que pertenezcan al rubro
R01.
Respuesta:
SELECT CODA, DESC_ART, STOCK FROM ARTICULO STOCK > 100 AND CODR = 'R01';
3. Obtener los artículos que se deberían reponer (código del artículo, descripción y stock); es decir, el stock es menor o
igual al punto de reposición.
Respuesta:
SELECT CODA, DESC_ART, STOCK FROM ARTICULO WHERE STOCK <= 1;
4. Mostrar a que rubro pertenece cada artículo (obteniendo descripción del artículo y del rubro).
Respuesta:
SELECT DESC_ART, DESC_RU FROM ARTICULO, RUBRO;
5. Obtener el código y la descripción del artículo, de aquellos artículos que pertenecen al rubro limpieza.
Respuesta:
SELECT CODA , DESC_ART , DESC_RU FROM ARTICULO , RUBRO WHERE DESC_RU = 'LIMPIEZA’;
6. Obtener los números de facturas que se emitieron desde el 10/01/2014 hasta el 10/04/2014.
Respuesta:
SELECT NROFACT FROM FACTURA WHERE NROFACT BETWEEN 10/01/2014 AND 10/04/2014;
7. Mostrar el nombre de los clientes que viven en la zona de Santa Lucia.
Respuesta:
SELECT NYA FROM CLIENTE WHERE ZONA = 'SANTA LUCIA';
8. Obtener el nombre de los clientes que viven en la misma zona que Rita Pérez (DNI: 38.498.425).
Respuesta:
SELECT ZONA FROM CLIENTE WHERE NYA ='RITA PEREZ' AND DNI = '38.498.425' ; SELECT NYA FROM CLIENTE WHERE ZONA = 'SURCO';
9. Obtener el nombre de los clientes que han comprado más de un producto; es decir, en la misma factura compro distintos
tipos de productos sin importar la cantidad de c/u de ellos.
Respuesta:
SELECT NYA FROM CLIENTE, LINEA_FACTURA WHERE CODA <> 0;
10. Mostrar el nombre de los clientes que viven en la zona de Santa Lucia o en la zona de Rawson o en la zona de Rivadavia.
Respuesta:
SELECT NYA FROM CLIENTE WHERE ZONA = 'SANTA LUCIA ' OR ZONA = 'RAWSON' OR ZONA = 'RIVADAVIA';
11. Mostrar los clientes (el DNI y el nombre) que han comprado artículos del rubro limpieza y también han comprado
artículos del rubro perfumería.
Respuesta:
SELECT NYA , DNI FROM CLIENTE , RUBRO WHERE DESC_RU='LIMPIEZA' OR DESC_RU= 'PERFUMERIA';
12. Mostrar los clientes (el dni y el nombre) que no viven en la zona de Capital.
Respuesta:
SELECT NYA , DNI FROM CLIENTE WHERE ZONA <> 'CAPITAL';
13. Mostrar los clientes (el dni y el nombre) que no han comprado artículos del rubro librería.
Respuesta:
SELECT NYA , DNI FROM CLIENTE , RUBRO WHERE DESC_RU<> 'LIBERIA';
14. Mostrar las facturas (todos los datos) que posean artículos pendientes; es decir, las facturas que poseen
artículos pendientes (faltan enviar artículos). Considere que siempre se entrega la cantidad total en el remito; es
decir, la cantidad de la factura coincide con la cantidad del remito).
Respuesta:
SELECT NYA , DNI FROM CLIENTE , RUBRO WHERE DESC_RU<> 'LIBERIA';
15. Mostrar los clientes (todos los datos) que entre sus facturas donde han comprado todos los artículos.
Respuesta:
SELECT NYA , DNI, SEXO, EDAD, DIR, TEL , ZONA FROM CLIENTE , FACTURA WHERE NROFACT <> ' ';
16. Mostrar la cantidad total de desodorante Rexona Men que se han vendido.
Respuesta:
SELECT CODA FROM ARTICULO WHERE DESC_ART = 'REXONA MEN '; SELECT CANT FROM LINEA_FACTURA WHERE CODA =
'B03';
17. Mostrar el nombre del artículo mas vendido (en cantidad total).
Respuesta:
SELECT LINEA FACTURA.CODA, SUM(LINEA FACTURA.CANT) AS EXPR1 FROM LINEA FACTURA GROUP BY LINEA
FACTURA.CODA
b) Sobre el esquema de base de dato planteado en el Caso 2 - Sistema de Facturación, enuncie las consultas en SQL para
actualizarla:
1. Inserte nuevos Clientes con los siguientes datos:
< 14895399, Perez Edgar, M, 35, Hipólito Irigoyen 528, 4222935, Rawson >
< 24835599, González Rosa, F, 50, Hipólito Irigoyen 528, 4229115, Rivadavia >
< 34895399, Fernández Luis, M, 28, Hipólito Irigoyen 528, 4293538, Santa Lucia >
< 17895399, Ruiz Analía, F, 18, Hipólito Irigoyen 528, 4258912, Pósito >
INSERT INTO CLIENTE VALUES ('14895399','PEREZ EDGAR','M','35','HIPÓLITO IRIGOYEN 528,','4222935','RAWSON’);
INSERT INTO CLIENTE VALUES ('24835599','GONZÁLEZ ROSA','F','50','HIPÓLITO IRIGOYEN 528','4229115','RIVADAVIA’);
INSERT INTO CLIENTE VALUES ('34895399','FERNÁNDEZ LUIS','M','28','HIPÓLITO IRIGOYEN 528','4293538','SANTA LUCIA’);
INSERT INTO CLIENTE VALUES ('17895399','RUIZ ANALÍA','F','18','HIPÓLITO IRIGOYEN 528','4258912','PÓSITO');
2. Inserte el nuevo rubro con los siguientes datos: < R08 , Lacteos >
Respuesta:
INSERT INTO RUBRO VALUES ('R08','LACTEOS');
3. Inserte el nuevo artículo con los siguientes datos: < A21, Yogurt Entero, 100, 25, R08, 10 >
Respuesta:
INSERT INTO ARTICULO VALUES ('A21','YOGURT ENTERO','100', '25', 'R08', '10');
4. Actualice el teléfono de la Cliente González Rosa por el número 4312548.
Respuesta:
UPDATE CLI SET TEL=«4312548» WHERE NYA=«González Rosa»
c) Sobre el esquema de base de dato planteado en el Caso 2 - Sistema de Facturación, realice las siguientes vistas:
1. Una Vista llamada Reponer que contenga los siguientes atributos: coda, desc_art, stock, pto_rep. La vista deberá obtener los
artículos que se deberán reponer.
Respuesta:
CREATE VIEW REPONER AS SELECT CODA, DESC_ART, STOCK, PTO_REP FROM ARTICULO WHERE PTO_REP <= '1'; SELECT * FROM REPONER;
Caso 4 – Accidentes de Tránsito
COMPSEG (Compañía de Seguros) = {CUIT, NOMC, DOMI, TEL}
VEHI (Vehículos) = {PAT, MODELO, TIPO (MOTO, AUTO, CAMIONETA O CAMIÓN), CUIT, CM, DNI}
MARCAS = {CM, DESCRIP}
PERS (Personas) = {DNI, NOM, EDAD, DOMI, TEL}
ACTA = {NROACTA, LUGAR, FECHA, HORA}
INVO (Involucrados) = {NROACTA, PAT, DNI, CONDUCTOR (SI/NO), DAÑO (SIN DAÑO, LEVE, GRAVE O FATAL)}
a) Resuelva las consultas planteadas usando el lenguaje SQL.
1.Obtener el nombre de las compañías de Seguros que tienen asegurados todos los tipos de vehículos.
Respuesta:
SELECT NOMC FROM COMPSEG, VEHI WHERE TIPO = 'MOTO' OR TIPO = 'AUTO' OR = TIPO 'CAMIONETA ' OR TIPO= ' CAMIÓN';
2. Obtener todos los datos de los vehículos que no han tenido accidentes fatales.
Respuesta:
SELECT PAT, MODELO, TIPO ,CUIT, CM, DNI FROM INVO, VEHI WHERE DAÑO <> 'FATAL';
3. Obtener la patente de los autos involucrados en choques, en los que viajaba solamente el conductor (es decir, no tenía
acompañantes).
Respuesta:
SELECT PAT FROM PERS, INVO; WHERE DAÑO = 'FATAL' OR DAÑO = 'SIN DAÑO' OR DAÑO = 'LEVE' OR DAÑO = 'GRAVE' ; SELECT COUNT
(DISTINCT DNI) FROM PERS;
4. Obtener todos los datos de las personas que han chocado manejando su propio vehículo.
Respuesta:
SELECT DNI, NOM, EDAD, DOMI, TEL FROM PERS, INVO; WHERE DAÑO = 'FATAL' OR DAÑO = 'SIN DAÑO' OR DAÑO = 'LEVE’ OR
DAÑO = 'GRAVE' AND CONDUCTOR='SI' ;
5. Obtener las personas (dni y nombre) que poseen más de un vehículo asegurado en la misma compañía de Seguros.
Respuesta:
SELECT DNI, NOM FROM PERS WHERE DNI IN (SELECT DNI FROMWEHI GROUP BY DNI, CUIT HAVING COUNT(*) >= 2);
6. Obtener las personas (dni y nombre) que estuvieron involucradas en accidentes con daño “leve” y también estuvieron
involucradas en accidentes sin daño. Respuesta:
SELECT DNI, NOM FROM PERS, INVO; WHERE DAÑO = 'SIN DAÑO' OR DAÑO = 'LEVE' ;
b)Sobre el esquema de base de dato planteado en el Caso 4 - Accidentes de Tránsito, enuncie las consultas en SQL
para actualizarla:
1. Inserte nuevas Personas con los siguientes datos:
< 14895399, Ruiz Mathías, 34, Hipólito Irigoyen 528, 4222935 >
< 24835599, González Emiliano, 56, Av. Central 128 -O-, 4229115 >
Respuesta:
INSERT INTO PERS VALUES ('14895399',' RUIZ MATHÍAS','34','HIPÓLITO IRIGOYEN 528,','4222935’);
INSERT INTO PERS VALUES ('24835599',' GONZÁLEZ EMILIANO ','56',' AV. CENTRAL 128 -O-,','4229115');
c) Sobre el esquema de base de dato planteado en el Caso 4 - Accidentes de Tránsito, realice las siguientes vistas:
1. Una Vista llamada AccidentesLeves que contenga los siguientes atributos: dni y nombre. La vista deberá obtener las
personas que estuvieron involucradas en accidentes con daño “leve”.
Respuesta:
CREATE VIEW ACCIDENTESLEVES AS SELECT DNI, NOMBRE FROM PERS WHERE DAÑO = 'LEVE'; SELECT * FROM ACCIDENTESLEVES;
GRACIAS

Más contenido relacionado

Similar a Ejercicios sql

Trabajo de base de datos ♥ ANA PAULINA HERNANDEZ RAMOS ♥
Trabajo de base de datos ♥ ANA PAULINA HERNANDEZ RAMOS ♥Trabajo de base de datos ♥ ANA PAULINA HERNANDEZ RAMOS ♥
Trabajo de base de datos ♥ ANA PAULINA HERNANDEZ RAMOS ♥Isabel Vlz MoOrales
 
Proyecto 3er. parcial (navicat) (1)
Proyecto 3er. parcial (navicat) (1)Proyecto 3er. parcial (navicat) (1)
Proyecto 3er. parcial (navicat) (1)yourenotsorry
 
Base de datos para empresas
Base de datos para empresasBase de datos para empresas
Base de datos para empresasPaulinaHdz1
 
Proyecto1 Bases de Datos
Proyecto1 Bases de DatosProyecto1 Bases de Datos
Proyecto1 Bases de DatosElisabet Cuevas
 
Soluciones ejercicios 3
Soluciones ejercicios 3Soluciones ejercicios 3
Soluciones ejercicios 3yover01
 
Ejercicios Modelamiento E-R y normalización
Ejercicios Modelamiento E-R y normalizaciónEjercicios Modelamiento E-R y normalización
Ejercicios Modelamiento E-R y normalizaciónRicardo Alvarez
 
Atención al riesgo. Matrices de riesgo - Visita de intercambio a la Agencia E...
Atención al riesgo. Matrices de riesgo - Visita de intercambio a la Agencia E...Atención al riesgo. Matrices de riesgo - Visita de intercambio a la Agencia E...
Atención al riesgo. Matrices de riesgo - Visita de intercambio a la Agencia E...EUROsociAL II
 
Taller Transact SQL ITProsDC - T2
Taller Transact SQL ITProsDC - T2Taller Transact SQL ITProsDC - T2
Taller Transact SQL ITProsDC - T2Julián Castiblanco
 
Base de datos avanzados cb tis 172
Base de datos avanzados cb tis 172Base de datos avanzados cb tis 172
Base de datos avanzados cb tis 172MRR2013
 
Taller Consultas Básicas SQL Server No 1
Taller Consultas Básicas SQL Server No 1Taller Consultas Básicas SQL Server No 1
Taller Consultas Básicas SQL Server No 1Julián Castiblanco
 
Manual sobre visual c++ (1) blogspot
Manual sobre visual c++ (1) blogspotManual sobre visual c++ (1) blogspot
Manual sobre visual c++ (1) blogspotramosmendezshura
 

Similar a Ejercicios sql (20)

Trabajo de base de datos ♥ ANA PAULINA HERNANDEZ RAMOS ♥
Trabajo de base de datos ♥ ANA PAULINA HERNANDEZ RAMOS ♥Trabajo de base de datos ♥ ANA PAULINA HERNANDEZ RAMOS ♥
Trabajo de base de datos ♥ ANA PAULINA HERNANDEZ RAMOS ♥
 
Virtualidad
VirtualidadVirtualidad
Virtualidad
 
Proyecto 3er. parcial (navicat) (1)
Proyecto 3er. parcial (navicat) (1)Proyecto 3er. parcial (navicat) (1)
Proyecto 3er. parcial (navicat) (1)
 
Base de datos para empresas
Base de datos para empresasBase de datos para empresas
Base de datos para empresas
 
Proyecto1 Bases de Datos
Proyecto1 Bases de DatosProyecto1 Bases de Datos
Proyecto1 Bases de Datos
 
Soluciones ejercicios 3
Soluciones ejercicios 3Soluciones ejercicios 3
Soluciones ejercicios 3
 
Ejercicios Modelamiento E-R y normalización
Ejercicios Modelamiento E-R y normalizaciónEjercicios Modelamiento E-R y normalización
Ejercicios Modelamiento E-R y normalización
 
Proyecto
Proyecto Proyecto
Proyecto
 
Ejercicios SQL
Ejercicios SQLEjercicios SQL
Ejercicios SQL
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Atención al riesgo. Matrices de riesgo - Visita de intercambio a la Agencia E...
Atención al riesgo. Matrices de riesgo - Visita de intercambio a la Agencia E...Atención al riesgo. Matrices de riesgo - Visita de intercambio a la Agencia E...
Atención al riesgo. Matrices de riesgo - Visita de intercambio a la Agencia E...
 
Taller Básico Sentencias SQL
Taller Básico Sentencias SQL Taller Básico Sentencias SQL
Taller Básico Sentencias SQL
 
Ejercicios SQL
Ejercicios SQLEjercicios SQL
Ejercicios SQL
 
Taller Transact SQL ITProsDC - T2
Taller Transact SQL ITProsDC - T2Taller Transact SQL ITProsDC - T2
Taller Transact SQL ITProsDC - T2
 
Base de datos avanzados cb tis 172
Base de datos avanzados cb tis 172Base de datos avanzados cb tis 172
Base de datos avanzados cb tis 172
 
Ejercicios 2 y 4
Ejercicios 2 y 4Ejercicios 2 y 4
Ejercicios 2 y 4
 
Taller Consultas Básicas SQL Server No 1
Taller Consultas Básicas SQL Server No 1Taller Consultas Básicas SQL Server No 1
Taller Consultas Básicas SQL Server No 1
 
G modelo E/R
G modelo E/RG modelo E/R
G modelo E/R
 
Manual sobre visual c++
Manual sobre visual c++Manual sobre visual c++
Manual sobre visual c++
 
Manual sobre visual c++ (1) blogspot
Manual sobre visual c++ (1) blogspotManual sobre visual c++ (1) blogspot
Manual sobre visual c++ (1) blogspot
 

Último

Logística internacional y legislación aduana
Logística internacional y legislación aduanaLogística internacional y legislación aduana
Logística internacional y legislación aduanaluisColon57
 
-PEIC-NUEVO de plantel educativo Venezuela
-PEIC-NUEVO de plantel educativo Venezuela-PEIC-NUEVO de plantel educativo Venezuela
-PEIC-NUEVO de plantel educativo VenezuelaJESUS341998
 
FASES DE LA CONSULTORÍA- parte 1aa.pptx
FASES DE LA CONSULTORÍA- parte 1aa.pptxFASES DE LA CONSULTORÍA- parte 1aa.pptx
FASES DE LA CONSULTORÍA- parte 1aa.pptx10ColungaFloresJosSa
 
EMBARQUE Y DESEMBARQUE VEHICULOS MILITARES .pptx
EMBARQUE Y DESEMBARQUE VEHICULOS MILITARES .pptxEMBARQUE Y DESEMBARQUE VEHICULOS MILITARES .pptx
EMBARQUE Y DESEMBARQUE VEHICULOS MILITARES .pptxdaryel2
 
CONTRATO DE TRABAJO, remuneraciones y otros datos
CONTRATO DE TRABAJO, remuneraciones y otros datosCONTRATO DE TRABAJO, remuneraciones y otros datos
CONTRATO DE TRABAJO, remuneraciones y otros datosJENNIFERBERARDI1
 
GUIA DOCENTE NEUMOLOGIA 2024 guia guia.pdf
GUIA DOCENTE NEUMOLOGIA 2024 guia guia.pdfGUIA DOCENTE NEUMOLOGIA 2024 guia guia.pdf
GUIA DOCENTE NEUMOLOGIA 2024 guia guia.pdfIsaacRobertoRamrezLe
 
NOM-011-STPS-2001 NORMATIVA PRESENTACION
NOM-011-STPS-2001 NORMATIVA PRESENTACIONNOM-011-STPS-2001 NORMATIVA PRESENTACION
NOM-011-STPS-2001 NORMATIVA PRESENTACIONKarina224599
 

Último (7)

Logística internacional y legislación aduana
Logística internacional y legislación aduanaLogística internacional y legislación aduana
Logística internacional y legislación aduana
 
-PEIC-NUEVO de plantel educativo Venezuela
-PEIC-NUEVO de plantel educativo Venezuela-PEIC-NUEVO de plantel educativo Venezuela
-PEIC-NUEVO de plantel educativo Venezuela
 
FASES DE LA CONSULTORÍA- parte 1aa.pptx
FASES DE LA CONSULTORÍA- parte 1aa.pptxFASES DE LA CONSULTORÍA- parte 1aa.pptx
FASES DE LA CONSULTORÍA- parte 1aa.pptx
 
EMBARQUE Y DESEMBARQUE VEHICULOS MILITARES .pptx
EMBARQUE Y DESEMBARQUE VEHICULOS MILITARES .pptxEMBARQUE Y DESEMBARQUE VEHICULOS MILITARES .pptx
EMBARQUE Y DESEMBARQUE VEHICULOS MILITARES .pptx
 
CONTRATO DE TRABAJO, remuneraciones y otros datos
CONTRATO DE TRABAJO, remuneraciones y otros datosCONTRATO DE TRABAJO, remuneraciones y otros datos
CONTRATO DE TRABAJO, remuneraciones y otros datos
 
GUIA DOCENTE NEUMOLOGIA 2024 guia guia.pdf
GUIA DOCENTE NEUMOLOGIA 2024 guia guia.pdfGUIA DOCENTE NEUMOLOGIA 2024 guia guia.pdf
GUIA DOCENTE NEUMOLOGIA 2024 guia guia.pdf
 
NOM-011-STPS-2001 NORMATIVA PRESENTACION
NOM-011-STPS-2001 NORMATIVA PRESENTACIONNOM-011-STPS-2001 NORMATIVA PRESENTACION
NOM-011-STPS-2001 NORMATIVA PRESENTACION
 

Ejercicios sql

  • 1. UNIVERSIDAD NACIONAL DEL CALLAO Facultad de Ingeniería Industrial y de Sistemas Escuela Profesional de Ingeniería de Sistemas • ASIGNATURA: Base de Datos • DOCENTE: Eddie Malca • ALUMNOS: - Bello Sánchez, Giancarlos 2019 EJERCICIOS SQL
  • 2. Caso 2 – Sistema de Facturación CLI (Cliente) = {DNI, NYA, SEXO, EDAD, DIR, TEL, ZONA} RU (Rubros) = {CODR, DESC_RU} ART (Artículo) = {CODA, DESC_ART, STOCK, PTO_REP (PUNTO DE REPOSICIÓN), CODR, PRECIO (precio actual)} FAC (Factura) = {NROFACT, FECHA, DNI} REM (Remito) = {NROREM, FECHA, NROFACT} LÍ-F (Línea-Factura) = {NROFACT, CODA, CANT, PRECIO (precio al momento de la venta)} LÍ-R (Línea-Remito) = { NROREM, CODA, CANT} EJERCICIO a) Resuelva las consultas planteadas usando el lenguaje SQL. 1. Mostrar el código, la descripción y el stock de los artículos. Respuesta: SELECT CODA, DESC_ART, STOCK FROM ARTICULO;
  • 3. 2. Obtener los artículos (código del artículo, descripción y stock) cuyo stock es mayor a 100 y que pertenezcan al rubro R01. Respuesta: SELECT CODA, DESC_ART, STOCK FROM ARTICULO STOCK > 100 AND CODR = 'R01'; 3. Obtener los artículos que se deberían reponer (código del artículo, descripción y stock); es decir, el stock es menor o igual al punto de reposición. Respuesta: SELECT CODA, DESC_ART, STOCK FROM ARTICULO WHERE STOCK <= 1; 4. Mostrar a que rubro pertenece cada artículo (obteniendo descripción del artículo y del rubro). Respuesta: SELECT DESC_ART, DESC_RU FROM ARTICULO, RUBRO; 5. Obtener el código y la descripción del artículo, de aquellos artículos que pertenecen al rubro limpieza. Respuesta: SELECT CODA , DESC_ART , DESC_RU FROM ARTICULO , RUBRO WHERE DESC_RU = 'LIMPIEZA’; 6. Obtener los números de facturas que se emitieron desde el 10/01/2014 hasta el 10/04/2014. Respuesta: SELECT NROFACT FROM FACTURA WHERE NROFACT BETWEEN 10/01/2014 AND 10/04/2014;
  • 4. 7. Mostrar el nombre de los clientes que viven en la zona de Santa Lucia. Respuesta: SELECT NYA FROM CLIENTE WHERE ZONA = 'SANTA LUCIA'; 8. Obtener el nombre de los clientes que viven en la misma zona que Rita Pérez (DNI: 38.498.425). Respuesta: SELECT ZONA FROM CLIENTE WHERE NYA ='RITA PEREZ' AND DNI = '38.498.425' ; SELECT NYA FROM CLIENTE WHERE ZONA = 'SURCO'; 9. Obtener el nombre de los clientes que han comprado más de un producto; es decir, en la misma factura compro distintos tipos de productos sin importar la cantidad de c/u de ellos. Respuesta: SELECT NYA FROM CLIENTE, LINEA_FACTURA WHERE CODA <> 0; 10. Mostrar el nombre de los clientes que viven en la zona de Santa Lucia o en la zona de Rawson o en la zona de Rivadavia. Respuesta: SELECT NYA FROM CLIENTE WHERE ZONA = 'SANTA LUCIA ' OR ZONA = 'RAWSON' OR ZONA = 'RIVADAVIA'; 11. Mostrar los clientes (el DNI y el nombre) que han comprado artículos del rubro limpieza y también han comprado artículos del rubro perfumería. Respuesta: SELECT NYA , DNI FROM CLIENTE , RUBRO WHERE DESC_RU='LIMPIEZA' OR DESC_RU= 'PERFUMERIA';
  • 5. 12. Mostrar los clientes (el dni y el nombre) que no viven en la zona de Capital. Respuesta: SELECT NYA , DNI FROM CLIENTE WHERE ZONA <> 'CAPITAL'; 13. Mostrar los clientes (el dni y el nombre) que no han comprado artículos del rubro librería. Respuesta: SELECT NYA , DNI FROM CLIENTE , RUBRO WHERE DESC_RU<> 'LIBERIA'; 14. Mostrar las facturas (todos los datos) que posean artículos pendientes; es decir, las facturas que poseen artículos pendientes (faltan enviar artículos). Considere que siempre se entrega la cantidad total en el remito; es decir, la cantidad de la factura coincide con la cantidad del remito). Respuesta: SELECT NYA , DNI FROM CLIENTE , RUBRO WHERE DESC_RU<> 'LIBERIA'; 15. Mostrar los clientes (todos los datos) que entre sus facturas donde han comprado todos los artículos. Respuesta: SELECT NYA , DNI, SEXO, EDAD, DIR, TEL , ZONA FROM CLIENTE , FACTURA WHERE NROFACT <> ' '; 16. Mostrar la cantidad total de desodorante Rexona Men que se han vendido. Respuesta: SELECT CODA FROM ARTICULO WHERE DESC_ART = 'REXONA MEN '; SELECT CANT FROM LINEA_FACTURA WHERE CODA = 'B03';
  • 6. 17. Mostrar el nombre del artículo mas vendido (en cantidad total). Respuesta: SELECT LINEA FACTURA.CODA, SUM(LINEA FACTURA.CANT) AS EXPR1 FROM LINEA FACTURA GROUP BY LINEA FACTURA.CODA b) Sobre el esquema de base de dato planteado en el Caso 2 - Sistema de Facturación, enuncie las consultas en SQL para actualizarla: 1. Inserte nuevos Clientes con los siguientes datos: < 14895399, Perez Edgar, M, 35, Hipólito Irigoyen 528, 4222935, Rawson > < 24835599, González Rosa, F, 50, Hipólito Irigoyen 528, 4229115, Rivadavia > < 34895399, Fernández Luis, M, 28, Hipólito Irigoyen 528, 4293538, Santa Lucia > < 17895399, Ruiz Analía, F, 18, Hipólito Irigoyen 528, 4258912, Pósito > INSERT INTO CLIENTE VALUES ('14895399','PEREZ EDGAR','M','35','HIPÓLITO IRIGOYEN 528,','4222935','RAWSON’); INSERT INTO CLIENTE VALUES ('24835599','GONZÁLEZ ROSA','F','50','HIPÓLITO IRIGOYEN 528','4229115','RIVADAVIA’); INSERT INTO CLIENTE VALUES ('34895399','FERNÁNDEZ LUIS','M','28','HIPÓLITO IRIGOYEN 528','4293538','SANTA LUCIA’); INSERT INTO CLIENTE VALUES ('17895399','RUIZ ANALÍA','F','18','HIPÓLITO IRIGOYEN 528','4258912','PÓSITO'); 2. Inserte el nuevo rubro con los siguientes datos: < R08 , Lacteos > Respuesta: INSERT INTO RUBRO VALUES ('R08','LACTEOS');
  • 7. 3. Inserte el nuevo artículo con los siguientes datos: < A21, Yogurt Entero, 100, 25, R08, 10 > Respuesta: INSERT INTO ARTICULO VALUES ('A21','YOGURT ENTERO','100', '25', 'R08', '10'); 4. Actualice el teléfono de la Cliente González Rosa por el número 4312548. Respuesta: UPDATE CLI SET TEL=«4312548» WHERE NYA=«González Rosa» c) Sobre el esquema de base de dato planteado en el Caso 2 - Sistema de Facturación, realice las siguientes vistas: 1. Una Vista llamada Reponer que contenga los siguientes atributos: coda, desc_art, stock, pto_rep. La vista deberá obtener los artículos que se deberán reponer. Respuesta: CREATE VIEW REPONER AS SELECT CODA, DESC_ART, STOCK, PTO_REP FROM ARTICULO WHERE PTO_REP <= '1'; SELECT * FROM REPONER;
  • 8. Caso 4 – Accidentes de Tránsito COMPSEG (Compañía de Seguros) = {CUIT, NOMC, DOMI, TEL} VEHI (Vehículos) = {PAT, MODELO, TIPO (MOTO, AUTO, CAMIONETA O CAMIÓN), CUIT, CM, DNI} MARCAS = {CM, DESCRIP} PERS (Personas) = {DNI, NOM, EDAD, DOMI, TEL} ACTA = {NROACTA, LUGAR, FECHA, HORA} INVO (Involucrados) = {NROACTA, PAT, DNI, CONDUCTOR (SI/NO), DAÑO (SIN DAÑO, LEVE, GRAVE O FATAL)} a) Resuelva las consultas planteadas usando el lenguaje SQL.
  • 9. 1.Obtener el nombre de las compañías de Seguros que tienen asegurados todos los tipos de vehículos. Respuesta: SELECT NOMC FROM COMPSEG, VEHI WHERE TIPO = 'MOTO' OR TIPO = 'AUTO' OR = TIPO 'CAMIONETA ' OR TIPO= ' CAMIÓN'; 2. Obtener todos los datos de los vehículos que no han tenido accidentes fatales. Respuesta: SELECT PAT, MODELO, TIPO ,CUIT, CM, DNI FROM INVO, VEHI WHERE DAÑO <> 'FATAL'; 3. Obtener la patente de los autos involucrados en choques, en los que viajaba solamente el conductor (es decir, no tenía acompañantes). Respuesta: SELECT PAT FROM PERS, INVO; WHERE DAÑO = 'FATAL' OR DAÑO = 'SIN DAÑO' OR DAÑO = 'LEVE' OR DAÑO = 'GRAVE' ; SELECT COUNT (DISTINCT DNI) FROM PERS; 4. Obtener todos los datos de las personas que han chocado manejando su propio vehículo. Respuesta: SELECT DNI, NOM, EDAD, DOMI, TEL FROM PERS, INVO; WHERE DAÑO = 'FATAL' OR DAÑO = 'SIN DAÑO' OR DAÑO = 'LEVE’ OR DAÑO = 'GRAVE' AND CONDUCTOR='SI' ; 5. Obtener las personas (dni y nombre) que poseen más de un vehículo asegurado en la misma compañía de Seguros. Respuesta: SELECT DNI, NOM FROM PERS WHERE DNI IN (SELECT DNI FROMWEHI GROUP BY DNI, CUIT HAVING COUNT(*) >= 2); 6. Obtener las personas (dni y nombre) que estuvieron involucradas en accidentes con daño “leve” y también estuvieron involucradas en accidentes sin daño. Respuesta: SELECT DNI, NOM FROM PERS, INVO; WHERE DAÑO = 'SIN DAÑO' OR DAÑO = 'LEVE' ;
  • 10. b)Sobre el esquema de base de dato planteado en el Caso 4 - Accidentes de Tránsito, enuncie las consultas en SQL para actualizarla: 1. Inserte nuevas Personas con los siguientes datos: < 14895399, Ruiz Mathías, 34, Hipólito Irigoyen 528, 4222935 > < 24835599, González Emiliano, 56, Av. Central 128 -O-, 4229115 > Respuesta: INSERT INTO PERS VALUES ('14895399',' RUIZ MATHÍAS','34','HIPÓLITO IRIGOYEN 528,','4222935’); INSERT INTO PERS VALUES ('24835599',' GONZÁLEZ EMILIANO ','56',' AV. CENTRAL 128 -O-,','4229115'); c) Sobre el esquema de base de dato planteado en el Caso 4 - Accidentes de Tránsito, realice las siguientes vistas: 1. Una Vista llamada AccidentesLeves que contenga los siguientes atributos: dni y nombre. La vista deberá obtener las personas que estuvieron involucradas en accidentes con daño “leve”. Respuesta: CREATE VIEW ACCIDENTESLEVES AS SELECT DNI, NOMBRE FROM PERS WHERE DAÑO = 'LEVE'; SELECT * FROM ACCIDENTESLEVES;