Sunteți pe pagina 1din 12

AP6-AA1-Ev1-Construcción de modelos de base de datos

JHON ALEXANDER PATIÑO VEGA

SERVICIO NACIONAL DE APRENDIZAJE - SENA

CENTRO DE FORMACION VIRTUAL

CALI, 2017
1. Cree una base de datos llamada Laboratorio SQL.

Creación Base de datos Laboratorio SQL

2. Ubicado en la base de datos que se acaba de crear, construya las siguientes tablas
con sus respectivos campos y tipos de datos,
Usar base de datos Laboratorio SQL

Tablas creadas
2. Inserte los siguientes registros según las tablas que se presentan:

Tabla Profesor:

Tabla Curso:

Tabla Estudiante:

Tabla Estudiante por Curso

Tabla Cliente:
Tabla Artículo:

Tabla Pedido:

Tabla Artículo por pedido

Tabla Compañía

Tabla Tipos Automotores:


Tabla Automotores

Tabla Aseguramientos

Tabla Incidentes

4. Realice las siguientes consultas:

1 Salarios profesores ordenados por categorías

SELECT `sal_prof` FROM `profesor` order by `sal_prof`


2 Mostrar valor cursos mayores a 500 mil:
SELECT * FROM `curso` WHERE `valor_cur`>'500000'

3 Mostrar estudiantes mayores de 22 años:


SELECT count(`doc_est`) FROM `estudiante` WHERE `edad_est`>'22'

4 Muestre el nombre y la edad del estudiante más joven:


SELECT `nom_est`, min(`edad_est`) FROM `estudiante`

5 Calcule el valor promedio de los cursos cuyas horas sean mayores a 40:
SELECT AVG(`valor_cur`) FROM curso WHERE `horas_cur`>'40'

6 Obtener el sueldo promedio de los profesores de la categoría 1:


SELECT AVG(`sal_prof`) FROM `profesor` WHERE `cate_prof`='1'
7 Muestre todos los campos de la tabla curso en orden ascendente según el valor:
Select * from curso order by `valor_cur` asc

8 Muestre el nombre del profesor con menor sueldo:


SELECT `nom_prof`, min(`sal_prof`) FROM `profesor`

Visualizar todos los estudiantes (código y nombre) que iniciaron cursos el


01/02/2011, del curso debe mostrarse el nombre, las horas y el valor.
select estudiante.`doc_est`, estudiante.`nom_est`, estudiantexcurso.`fec_ini_est
cur`, curso.`nom_curs`, curso.horas_cur, curso.valor_cur From estudiante,estud
iantexcurso,cursowhere estudiantexcurso.`fec_ini_estcur`='2011-02-01'

10 Visualize los profesores cuyo sueldo este entre $500.000 y $700.000:

SELECT * FROM `profesor` WHERE `sal_prof`>'500000' and `sal_prof`<'70000


0'
11 Visualizar el nombre, apellido y dirección de todos aquellos clientes que
hayan realizado un pedido el día 2012-02-25:

select cliente.nom_cli, cliente.ape_cli, cliente.dir_cli, pedido.fec_ped


from cliente inner join pedido
on cliente. id_cli=pedido.id_cli_ped
where pedido.fec_ped='2012-02-25' group by id_cli;

12 Listar todos los pedidos realizados incluyendo el nombre del artículo:

SELECT pedido.id_ped, articulo.tit_art, pedido.id_cli_ped, pedido.fec_ped, pedi


do.val_ped FROM pedido, articulo WHere 1

13 Visualizar el nombre del cliente, la fecha y el valor del pedido más costoso.
SELECT MAX(pedido.val_ped), cliente.nom_cli,pedido.fec_ped, pedido.val_ped
FROM cliente, pedido WHERE1
14 Mostrar cuantos artículos se tienen en cada editorial:
select edi_art, count(*) from articulo group by edi_art;

15 Mostrar los pedidos con los respectivos artículos (código, nombre, valor y
cantidad pedida).
SELECT articulo.id_art, articulo.tit_art,articulo.prec_art, articuloxpedido.can_art
_artped FROMarticulo, articuloxpedido WHERE 1

16 Visualizar todos los clientes organizados por apellido.


SELECT * FROM `cliente` ORDER BY `ape_cli`

17 Visualizar todos los artículos organizados por autor.


SELECT * FROM `articulo` ORDER by `aut_art`

18 Visualizar los pedidos que se han realizado para el articulo con id 2, el listado debe
mostrar el nombre y dirección del cliente, el respectivo número de pedido y la cantidad
solicitada.
select cliente.nom_cli, cliente.dir_cli, articulo.id_art, pedido.id_ped,
articuloxpedido.can_art_artped
from cliente inner join articulo
inner join pedido on pedido.id_cli_ped = cliente.id_cli
inner join articuloxpedido on articuloxpedido. id_art_artped = pedido.id_ped
where id_art='2' group by id_art
;
19 Visualizar los datos de las empresas fundadas entre el año 1991 y 1998.
SELECT * FROM `compañia` WHERE `comañofun`>='1991' and `comañofun`<
='1998'

20 Listar los todos datos de los automotores cuya póliza expira en octubre de 2013,
este reporte debe visualizar la placa, el modelo, la marca, número de pasajeros,
cilindraje nombre de automotor, el valor de la póliza y el valor asegurado.

SELECT automotores.autoplaca, automotores.automodelo, automotores.automarca, a


utomotores.autonunpasajeros, automotores.autocilindraje, automotores.auttipo,asegur
amientos.asecosto, aseguramientos.asevalorasegurado FROM aseguramientos, auto
motores WHERE `asefechaexpiracion`>'2013-08-31' and `asefechaexpiracion`<'2013-
10-01'

21 Visualizar los datos de los incidentes ocurridos el 30 de septiembre


de 2012, con su respectivo número de póliza, fecha de inicio de la póliza, valor
asegurado y valor de la póliza.

SELECT aseguramientos.asecodigo,aseguramientos.asefechainicio,asegurami
entos.asevalorasegurado, aseguramientos.asecostoFROM incidentes, asegura
mientos WHERE `incifecha`='2012-09-30'
22 Visualizar los datos de los incidentes que han tenido un(1) herido,
este reporte debe visualizar la placa del automotor, con los respectivos datos
de la póliza como son fecha de inicio, valor, estado y valor asegurado.

select inciplaca, asefechainicio, asecosto, asevalorasegurado, aseestado,


incicantheridos, incicodigo, incifecha from aseguramientos join incidentes on
incicantheridos='1' group by incifecha;

23 Visualizar todos los datos de la póliza más costosa.

SELECT * FROM `aseguramientos` where 1 ORDER BY `asevalorasegurado`


desc

24 Visualizar los incidentes con el mínimo número de autos involucrados, de


este incidente visualizar el estado de la póliza y el valor asegurado.

SELECT MIN(`incicanautosinvolucrados`),aseguramientos.aseestado,asegura
mientos.asevalorasegurado FROM aseguramientos,incidentes WHERE 1

25 Visualizar los incidentes del vehículo con placas " FLL420", este reporte debe
visualizar la fecha, el lugar, la cantidad de heridos del incidente, la fecha de inicio la de
expiración de la póliza y el valor asegurado.

select incifecha, inciplaca, incilugar, incicantheridos, asefechainicio,


asefechaexpiracion, asevalorasegurado from incidentes join aseguramientos on
inciplaca=aseplaca and inciplaca='fll420';

26 Visualizar los datos de la empresa con nit 899999999-5.


select * from compañia where comnit='8999999995';

27 Visualizar los datos de la póliza cuyo valor asegurado es el más costoso, este
reporte además de visualizar todos los datos de la póliza, debe presentar todos
los datos del vehículo que tiene dicha póliza.
SELECT MAX(aseguramientos.asevalorasegurado), aseguramientos.asecodigo
, aseguramientos.asefechainicio, aseguramientos.asefechaexpiracion, asegura
mientos.asevalorasegurado,aseguramientos.aseestado, aseguramientos.aseco
sto, automotores.autoplaca, automotores.automarca, automotores.auttipo, auto
motores.automodelo,automotores.autonunpasajeros,automotores.autocilindraje
, automotores.autonumchasis FROM aseguramientos, automotores WHERE 1

28 Visualizar los datos de las pólizas de los automotores tipo 1, este reporte debe incluir
placa, marca, modelo, cilindraje del vehículo junto con la fecha de inicio, de finalización
y estado de la póliza.

select auttipo, autoplaca, automarca, automodelo, autocilindraje, asefechainicio,


asefechaexpiracion, aseestado from automotores join aseguramientos on aseplaca=autoplaca
and auttipo='1';

S-ar putea să vă placă și