DAW Desenvolupament d'aplicacions web ( Informàtica )
Exercici de DAW-MP02-UF2 - Llenguatges SQL: DML i DDL

#FpInfor #Daw #Dam #Asix #DawMp02 #DamMp02 #AsixMp02 #DamMp02Uf02 #DawMp02Uf02 #AsixMp02Uf02

(etiquetes - hashtags)
Selects, complexitat mitjana. Servei tècnic

Observa aquestes taules:

create table tecnic ( 
 idTecnic int, 
 nom varchar(100), 
 constraint tecnic_pk primary key (idTecnic) 
) ;
create table producte ( 
 idProducte int, 
 nom varchar(100), 
 constraint producte_pk primary key (idProducte) 
) ;
create table client ( 
 idClient int, 
 nom varchar(100), 
 esPrincipal char(1),
 constraint client_pk primary key (idClient) 
) ;
create table incidencia( 
  idIncidencia int  not null, 
  data date  not null, 
  idTecnicQueAten int not null, 
  idTecnicQueResol int null, 
  idClient int not null, 
  idProducte int not null, 
  constraint incidencia_pk primary key (idIncidencia ), 
  constraint incidencia_ak unique ( data, idProducte ), 
  constraint incidencia_a_tecnic_aten_fk 
  foreign key (idTecnicQueAten) references tecnic( idTecnic ), 
  constraint incidencia_a_tecnic_resol_fk 
  foreign key (idTecnicQueResol) references tecnic( idTecnic ), 
  constraint incidencia_a_client_fk 
  foreign key (idClient) references client( idClient ), 
  constraint incidencia_a_producte_fk 
  foreign key (idProducte) references producte( idProducte ) 
);
  1. Fés el MCD per poder tenir una visió global de l'estructura de la base de dades:
  2. Inserta els tècnics: 'Marta', 'Carles', 'Jaume' i 'Miren'. Inserta 3 clients principals (esPrincipal='S'), 3 productes, 8 incidències no resoltes ( sense idTecnicResol ) i 2 de resoltes.
  3. Selecciona tots els tècnics que el seu nom contingui la lletra 'A'
  4. Selecciona el número total d'incidències no resoltes (idTecnicResol valdrà null) dels clients principals (esPrincipal = 'S') amb més de 2 incidències no resoltes. Es demana idClient, nomClient i número d'incidències.
  5. Selecciona tots els tècnics (id i nom) acompanyats del total d'incidències que han resolt. Cal que apareguin tots els tècnis, hagin o no resolt alguna la incidència. Ordenat per número d'incidències resoltes de més a menys.
  6. Total de incidències gestionades per tècnic i producte (nom tècnic, nom producte, total). Ordenat per número incidències descendent. Cal que aparegui el nom del tècnic que resol, i si no està resolta, el nom del tècnic que aten.
  7. Diferents noms del tècnic que resol i nom del tècnic que aten de totes les incidències on el tècnic que resol és diferent al tècnic que aten i estan resoltes. Es demana: tecnic que aten, tecnic que resol, nom producte sense fileres duplicades.
  8. Afegeix el camp stock int not null default 0 a producte.
  9. Posa l'stock a 100 a tots els productes que continguin la lletra 'A'.
  10. Inicia una transacció, esborra totes les fileres de la taula de incidències, comprova que està buida, desfés la transacció.
  11. Incrementa en un 10% l'stock de tots els productes.
  12. Posa a 0 els productes sobre els quals hi ha incidències no tancades.
  13. Escriu les instruccions SQL per a insertar dos tècnics, un prunducte, un client i una incidència.
  14. "No te olvides de poner el where en el Delete From"
Resultats d'aprenentatge:
Continguts:

Editat 15 de febrer de 2018 a les 19:09
per daniel herrera

Pujat el 7 de setembre de 2013 a les 16:39
per daniel herrera

Consulteu nota legal i condicions