0% encontró este documento útil (0 votos)
3 vistas17 páginas

Ejercicios SQL

El documento presenta una serie de prácticas relacionadas con bases de datos, enfocándose en consultas y procedimientos almacenados sobre pilotos, circuitos y carreras. Incluye ejercicios para obtener información específica, crear procedimientos y funciones, así como implementar triggers para restricciones en la base de datos. Se abordan temas como la obtención de datos de pilotos, circuitos, y la gestión de la información de manera estructurada.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas17 páginas

Ejercicios SQL

El documento presenta una serie de prácticas relacionadas con bases de datos, enfocándose en consultas y procedimientos almacenados sobre pilotos, circuitos y carreras. Incluye ejercicios para obtener información específica, crear procedimientos y funciones, así como implementar triggers para restricciones en la base de datos. Se abordan temas como la obtención de datos de pilotos, circuitos, y la gestión de la información de manera estructurada.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Practicas Base de Datos

1. Obtener el nombre y apellidos de los pilotos españoles.

2. Obtener todos los datos de los circuitos alemanes

3. Obtener los paises en los que se disputaron carreras en el año 2010.


4. Obtener el nombre de los pilotos que han participado en al menos 1
carrera del año 2016. Aquí funcionan las 2 opciones, por eso he puesto las 2

5. Nombre de los constructores con los que han disputado carreras m´as de
50 pilotos diferentes.
Que pasa si quiero sacar aquí también el numero de pilotos: Esto no me va

6. Nombre y apellidos de los pilotos que nunca han ganado una carrera.
7. Obtener el nombre y apellidos de los pilotos que durante el a˜ no 2017
han participado en todas las carreras.
Hay dos maneras de hacer una división, la primera:

La segunda: Aquí tiene sentido así porque la equivalencia de una división es


la doble resta
8. Obtener el nombre, localización, país y año para cada circuito de las
carreras que se han disputado entre 2015 y 2017, ordenado por el id del
circuito.

9. Obtener los constructores que no han participado en alguna clasificación


10. Obtener nombres, apellidos de los pilotos que han ganado más de 30
grandes premios así como el número de grandes premios que han ganado.

11. Nombre y apellidos del piloto que obtuvo la vuelta con velocidad media
más alta así como el circuito y el año en el que se obtuvo.
12. Obtener el nombre, apellidos y la velocidad media del piloto que obtuvo
la vuelta con velocidad media más alta en el gran premio de Japón de 2009.

13. Obtener el nombre de los pilotos que durante el año 2017 consiguieron
puntos en todas las carreras.
CASO PARTICULAR: los que han sacado

14. Obtener el nombre de los pilotos, el circuito y el total de paradas, para


aquellos pilotos que entre todos los grandes premios disputados han
realizado en alguno de ellos el mayor número de paradas y también los que
han realizado el menor número de ellas.
17. Obtener el nombre y apellidos de los pilotos y el n´ umero de vueltas
totales recorridas en el a˜no 2011 siempre y cuando sea mayor que la
media del n´umero de vueltas totales recorridas el a˜no anterior por todos
los pilotos.

17,5. Sacar lospilotos que han dado mas vueltas que el año anterior mas
vueltas en 2011 que en 2010:
HAY QUE RECORDAR QUE LO QUE ESTE EN EL GROPU BY TIENE QUE ESTAR
EN EL SELECT
18. Obtener el nombre y a˜ no de las carreras en las que se disput´o una
clasificaci´on (qualifying) pero no se realizaron pitstops.

19. Obtener la nacionalidad de los pilotos que han disputado todas las
ediciones del gran premio ‘Australian Grand Prix’.

28. Obtener toda la información de los constructores que en todas las


carreras del año 2006, consiguieron que alguno de sus pilotos quedara entre
los diez primeros de la clasificación.
EJERCICIOS GUARDAR LOS RESULTADOS
1. Crear un procedimiento almacenado de nombre getRacesInYear, que
obtenga como salida los nombres de las carreras y el numero total de
constructores que han participado en la carrera, para un año concreto
que se pasará como parámetro de entrada. En el procedimiento no se
definirán parámetros de salida.

2.
3. Cree un procedimiento que reciba una nacionalidad como parámetro de
entrada y realice una consulta sobre la tabla drivers para obtener todos los
pilotos de esa nacionalidad.

Con cursor:
FUNCIONES ALMACENADAS
1. Escribe una función que devuelva el número de puntos que se ha
conseguido el campeón de ese año en cada mundial.

2.
3. Escribe una función que dado el driverId de un piloto devuelva el
número total de años en activo que ha estado compitiendo
TRIGGERS:
1. A partir de este momento la FIA no va a permitir que haya equipos
con más de 2 pilotos, por ello se debe desarrollar un trigger que
impida que se puedan incorporar en un mismo equipo más de 2
pilotos a la base de datos. Para ello, se debe impedir toda
operación que haga que un 3 o más pilotos pasen a formar parte
del mismo equipo de constructores, ya sea mediante inserción o
actualización de los datos.v
2. Crea un trigger para impedir que en un mismo año un piloto esté
en dos equipos de constructores diferentes.

También podría gustarte