solucion_laboratorio_sql

Upload: manuel-salazar

Post on 28-Feb-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Solucion_Laboratorio_SQL

    1/13

  • 7/25/2019 Solucion_Laboratorio_SQL

    2/13

    edi_art varchar(300) not null,prec_art int not null,Primary key(id_art))auto_increment=1;

    create table pedidos(id_ped int auto_increment not null,id_cli_ped varchar(11) not null,fec_ped Date not null,val_ped int not null,Primary key(id_ped),Foreign key (id_cli_ped) references clientes(id_cli))auto_increment=1;

    create table articuloxpedido(id_ped_artped int not null,id_art_artped int not null,can_art_artped int not null,val_ven_art_artped int not null,Foreign key (id_ped_artped) references pedidos(id_ped),Foreign key (id_art_artped) references articulos(id_art));

    create table compaia(

    com_nit varchar(11) not null,com_nombre varchar(30) not null,com_aofun int not null,com_replegal varchar(100) not null,Primary key(com_nit));

    create table tiposautomotores(aut_tipo int not null,aut_nombre varchar(30) not null,Primary key(aut_tipo));

    create table automotores(autoplaca varchar(6) not null,automarca varchar(30) not null,autotipo int not null,automodelo int not null,autonumpasajeros int not null,autocilindraje int not null,autonumchasis varchar(20) not null,Primary key(autoplaca),Foreign key (autotipo) references tiposautomotores(aut_tipo));

    create table aseguramientos(

    asecodigo int(6) auto_increment not null,asefechainicio date not null,asefechaespiracion date not null,asevalorasegurado int not null,aseestado varchar(30) not null,asecosto int not null,aseplaca varchar(6) not null,Primary key(asecodigo),Foreign key (aseplaca) references automotores(autoplaca))auto_increment=1;

  • 7/25/2019 Solucion_Laboratorio_SQL

    3/13

    create table incidentes(incicodigo int auto_increment not null,incifecha date not null,inciplaca varchar(6) not null,incilugar varchar(40) not null,incicantheridos int not null,incicanfatalidades int not null,incicanautosinvolucrados int not null,Primary key(incicodigo),Foreign key (inciplaca) references automotores(autoplaca));

    3. Insertar Registros

    TABLA PROFESORESinsert into profesores(doc_prof,nom_prof,ape_prof,cate_prof,sal_prof)Values('63.502.720','Martha','Rojas','2','690000');

    Modificar registrosUPDATE profesores SET sal_prof="690000" WHERE doc_prof="63.502.720";

    insert into profesores(doc_prof,nom_prof,ape_prof,cate_prof,sal_prof)Values('91.216.904','Carlos','Prez','3','950000');

    insert into profesores(

    doc_prof,nom_prof,ape_prof,cate_prof,sal_prof)Values('13.826.789','Maritza','Angarita','1','550000');

    insert into profesores(doc_prof,nom_prof,ape_prof,cate_prof,sal_prof)

    Values('1.098.765.789','Alejandra','Torres','4','1100000');

    Cambio de propiedad de columnaAlter Table profesores modify column doc_prof varchar(15);

    TABLA CURSOSinsert into cursos(nom_curs,horas_curs,

  • 7/25/2019 Solucion_Laboratorio_SQL

    4/13

    valor_curs)Values('Fundamentos de Bases de datos','40','500000');

    insert into cursos(nom_curs,horas_curs,valor_curs)Values('Fundamentos de SQL','20','700000');

    insert into cursos(nom_curs,horas_curs,valor_curs)Values('Manejo de Mysql','45','550000');

    insert into cursos(nom_curs,horas_curs,valor_curs)Values('Fundamentals of Oracle','60','3000000');

    TABLA ESTUDIANTESinsert into estudiantes(

    doc_est,nom_est,ape_est,edad_est)Values('63.502.720','Maria','Perez','23');

    Alter Table estudiantes modify column doc_est varchar(15);

    insert into estudiantes(doc_est,nom_est,ape_est,edad_est)

    Values('91.245.678','Carlos Jos','Lopez','25');

    insert into estudiantes(doc_est,nom_est,ape_est,edad_est)Values('1.098.098.097','Jonatan','Ardila','17');

    insert into estudiantes(doc_est,nom_est,ape_est,

    edad_est)Values('1.098.765.678','Carlos','Martinez','19');

    TABLA ESTUDIANTESXCURSOinsert into estudiantexcurso(cod_curs_estcur,doc_est_estcur,fec_ini_estcur)Values('3','1.098.765.678','2011-02-01');

  • 7/25/2019 Solucion_Laboratorio_SQL

    5/13

    Alter Table estudiantexcurso modify column doc_est_estcur varchar(15);

    insert into estudiantexcurso(cod_curs_estcur,doc_est_estcur,fec_ini_estcur)Values('2','63.502.720','2011-03-01');

    insert into estudiantexcurso(cod_curs_estcur,doc_est_estcur,fec_ini_estcur)Values('3','1.098.098.097','2011-02-01');

    insert into estudiantexcurso(cod_curs_estcur,doc_est_estcur,fec_ini_estcur)Values('4','63.502.720','2011-04-01');

    TABLA CLIENTEAlter Table clientes modify column id_cli varchar(15);

    insert into clientes(id_cli,nom_cli,ape_cli,dir_cli,dep_cli,mes_cum_cli)Values('63.502.718','Maritza','Rojas','Calle 34 No.14-45','Santander','Abril');

    insert into clientes(id_cli,nom_cli,

    ape_cli,dir_cli,dep_cli,mes_cum_cli)Values('13.890.234','Roger','Ariza','Cra 30 No.13-45','Antioquia','Junio');

    insert into clientes(id_cli,nom_cli,ape_cli,dir_cli,dep_cli,mes_cum_cli)

    Values('77.191.956','Juan Carlos','Arenas','Diagonal 23 No.12-34 apto 101','Valle','Marzo');

    insert into clientes(id_cli,nom_cli,ape_cli,dir_cli,dep_cli,mes_cum_cli)

  • 7/25/2019 Solucion_Laboratorio_SQL

    6/13

    Values('1.098.765.789','Catalina','Zapata','Av el Libertador No.30-14','Cauca','Marzo');

    TABLA ARTICULOinsert into articulos(tit_art,aut_art,edi_art,prec_art)Values('Redes cisco','Ernesto Arigasello','Alfaomega-Rama','60000');

    insert into articulos(tit_art,aut_art,edi_art,prec_art)Values('Facebook y twitter para adultos','Veloso Claudio','Alfaomega','52000');

    insert into articulos(tit_art,aut_art,edi_art,prec_art)

    Values('Creacin de un portal con php y mysql','Jacobo Pavn Puertas','Alfaomega-Rama','40000');

    insert into articulos(tit_art,aut_art,edi_art,prec_art)Values('Administracin de sistemas operativos','Julio Gmez Lpez','Alfaomega-Rama','55000');

    TABLA PEDIDOinsert into pedidos(id_cli_ped,fec_ped,val_ped)Values('63.502.718','2012-05-02','120000');

    insert into pedidos(id_cli_ped,fec_ped,val_ped)Values('77.191.956','2012-04-30','55000');

    insert into pedidos(id_cli_ped,fec_ped,val_ped)Values('63.502.718','2011-12-10','260000');

    Alter Table pedidos modify column id_cli_ped varchar(15);

    insert into pedidos(id_cli_ped,

  • 7/25/2019 Solucion_Laboratorio_SQL

    7/13

    fec_ped,val_ped)Values('1.098.765.789','2012-02-05','1800000');

    TABLA ARTICULOXPEDIDOinsert into articuloxpedido(id_ped_artped,id_art_artped,can_art_artped,val_ven_art_artped)Values('1','3','5','40000');

    insert into articuloxpedido(id_ped_artped,id_art_artped,can_art_artped,val_ven_art_artped)Values('1','4','12','55000');

    insert into articuloxpedido(id_ped_artped,id_art_artped,can_art_artped,

    val_ven_art_artped)Values('2','1','5','65000');

    insert into articuloxpedido(id_ped_artped,id_art_artped,can_art_artped,val_ven_art_artped)Values('3','2','10','55000');

    insert into articuloxpedido(id_ped_artped,id_art_artped,

    can_art_artped,val_ven_art_artped)Values('3','3','12','45000');

    insert into articuloxpedido(id_ped_artped,id_art_artped,can_art_artped,val_ven_art_artped)Values('4','1','20','65000');

    TABLA COMPAIAinsert into compaia(com_nit,com_nombre,com_aofun,com_replegal)Values('800890890-2','Seguros Atlantida','1998','Carlos Lpez');

    insert into compaia(com_nit,

  • 7/25/2019 Solucion_Laboratorio_SQL

    8/13

    com_nombre,com_aofun,com_replegal)Values('899999999-1','Aseguradora Rojas','1991','Luis Fernando Rojas');

    insert into compaia(com_nit,com_nombre,com_aofun,com_replegal)Values('899999999-5','Seguros del Estadio','2001','Maria Margarita Prez');

    TABLA AUTOMOTORESagragar un campoalter table tiposautomotores add aut_nombre varchar(30) not null;

    insert into tiposautomotores(aut_tipo,aut_nombre)Values('1','Automviles');

    insert into tiposautomotores(

    aut_tipo,aut_nombre)Values('2','Camperos');

    insert into tiposautomotores(aut_tipo,aut_nombre)Values('3','Camiones');

    TABLA AUTOMOTORESinsert into automotores(

    autoplaca,automarca,autotipo,automodelo,autonumpasajeros,autocilindraje,autonumchasis)Values('FLL420','chevroletcorsa','1','2003','5','1400','wywzzz167kk009d25');

    insert into automotores(autoplaca,automarca,autotipo,

    automodelo,autonumpasajeros,autocilindraje,autonumchasis)Values('DKZ820','chevroletcorsa','1','2008','5','1600','wywwzz157kk009d45');

    insert into automotores(autoplaca,automarca,autotipo,

  • 7/25/2019 Solucion_Laboratorio_SQL

    9/13

    automodelo,autonumpasajeros,autocilindraje,autonumchasis)Values('KJQ920','kiasportage','2','2009','7','2000','wywzzz157kk009d25');

    TABLA ASEGURAMIENTOSinsert into aseguramientos(asecodigo,asefechainicio,asefechaespiracion,asevalorasegurado,aseestado,asecosto,aseplaca)Values('1','2012-09-30','2013-09-30','30000000','Vigente','500000','FLL420');

    insert into aseguramientos(asecodigo,asefechainicio,asefechaespiracion,asevalorasegurado,

    aseestado,asecosto,aseplaca)Values('2','2012-09-27','2013-09-27','35000000','Vigente','600000','DKZ820');

    insert into aseguramientos(asecodigo,asefechainicio,asefechaespiracion,asevalorasegurado,aseestado,asecosto,aseplaca)

    Values('3','2011-09-28','2012-09-28','50000000','Vencido','800000','KJQ920');

    TABLA INCIDENTESinsert into incidentes(incicodigo,incifecha,inciplaca,incilugar,incicantheridos,incicanfatalidades,incicanautosinvolucrados)Values('1','2012-09-30','DKZ820','Bucaramanga','0','0','2');

    insert into incidentes(incicodigo,incifecha,inciplaca,incilugar,incicantheridos,incicanfatalidades,incicanautosinvolucrados)Values('2','2012-09-27','FLL420','Giron','1','0','1');

  • 7/25/2019 Solucion_Laboratorio_SQL

    10/13

    insert into incidentes(incicodigo,incifecha,inciplaca,incilugar,incicantheridos,incicanfatalidades,incicanautosinvolucrados)Values('3','2011-09-28','FLL420','Bucaramanga','1','0','2');

    4.Realice las siguientes consultas:Muestre los salarios de los profesores ordenados por categora .select cate_prof, sal_prof from profesores where sal_prof order by cate_prof asc;

    Muestre los cursos cuyo valor sea mayor a $500.000.select nom_curs, valor_curs from cursos where valor_curs >500000 order by valor_curs asc;

    Cuente el nmero de estudiantes cuya edad sea mayor a 22.

    select count(edad_est) from estudiantes where edad_est >22;

    Muestre el nombre y la edad del estudiante ms joven.select nom_est, min(edad_est) from estudiantes;

    Calcule el valor promedio de los cursos cuyas horas sean mayores a 40.select avg(valor_curs) from cursos where horas_curs >40;

    Obtener el sueldo promedio de los profesores de la categora 1.select avg(sal_prof) from profesores where cate_prof =1;

    Muestre todos los campos de la tabla curso en orden ascendente segnel valor.

    select * from cursos order by valor_curs asc;

    Muestre el nombre del profesor con menor sueldo.select nom_prof, min(sal_prof) from profesores;

    Visualizar todos los estudiantes (cdigo y nombre) que iniciaron cursos el 01/02/2011, del curso debe mostrarse el nombre, las horas y el valor.select doc_est_estcur,nom_est,nom_curs,horas_curs,valor_cursFrom estudiantexcurso,estudiantes,cursosWhere fec_ini_estcur="2011-02-01"and doc_est_estcur=doc_estand cod_curs_estcur=cod_curs;

    Visualice los profesores cuyo sueldo este entre $500.000 y $700.000.select nom_curs, valor_curs from cursos where valor_curs >500000 and valor_curs

  • 7/25/2019 Solucion_Laboratorio_SQL

    11/13

    Listar todos los pedidos realizados incluyendo el nombre del articulo.select id_ped,id_cli_ped,fec_ped,val_ped, tit_artFrom pedidos,articulos,articuloxpedidoWhere id_ped_artped=id_pedAnd id_art_artped=id_art;

    Visualizar los clientes que cumplen aos en marzo.select nom_cli nombre from clientes where mes_cum_cli ="Marzo";

    Visualizar los datos del pedido 1, incluyendo el nombre del cliente, la direccindel mismo, el nombre y el valor de los artculos que tiene dicho pedido.select id_ped,nom_cli nombre,fec_ped,val_pedfrom clientes,pedidoswhere id_ped=1And id_cli_ped=id_cli;

    Visualizar el nombre del cliente, la fecha y el valor del pedido ms costoso.select id_ped,nom_cli nombre,fec_ped, min(val_ped)from clientes,pedidoswhere id_cli_ped=id_cli;

    Mostrar cuantos artculos se tienen de cada editorial.select count(edi_art) cantidad, edi_art editorial

    from articulosgroup by edi_art;

    Mostrar los pedidos con los respectivos artculos(cdigo, nombre, valor y cantidad pedida).select id_ped_artped,id_art_artped,can_art_artped,val_ven_art_artped,tit_art,prec_artfrom articuloxpedido, pedidos,articuloswhere id_ped_artped=id_pedand id_art_artped=id_art;

    Visualizar todos los clientes organizados por apellido.select *

    from clientesorder by ape_cli asc;

    Visualizar todos los artculos organizados por autor.select *from articulosorder by aut_art asc;

    Visualizar los pedidos que se han realizado para el articulo con id 2,el listado debe mostrar el nombre y direccin del cliente, el respectivonmero de pedido y la cantidad solicitada.select nom_cli nombre,ape_cli apellido,dir_cli direccion,id_ped,can_art_artpedFrom clientes,pedidos,articuloxpedido

    Where id_ped="2"And id_ped_artped=id_pedAnd id_cli_ped=id_cli;

    select nom_cli nombre,ape_cli apellido,dir_cli direccion,id_ped,can_art_artpedFrom clientes,pedidos,articuloxpedidoWhere id_ped="4"And id_ped_artped=id_pedAnd id_cli_ped=id_cli;

  • 7/25/2019 Solucion_Laboratorio_SQL

    12/13

    Visualizar los datos de las empresas fundadas entre el ao 1991 y 1998.select *from compaiaWhere com_aofun >=1991 and com_aofun

  • 7/25/2019 Solucion_Laboratorio_SQL

    13/13

    Visualizar los datos de la pliza cuyo valor asegurado es el mscostoso, este reporte adems de visualizar todos los datos de la pliza,debe presentar todos los datos del vehculo que tiene dicha pliza.select *from aseguramientos,automotoreswhere asevalorasegurado=(select max(asevalorasegurado) from aseguramientos)and aseplaca=autoplaca;

    Visualizar los datos de las plizas de los automotores tipo 1, estereporte debe incluir placa, marca, modelo, cilindraje del vehculo juntocon la fecha de inicio, de finalizacin y estado de la pliza.select *from aseguramientos,automotoreswhere autotipo="1"and aseplaca=autoplaca;