You are on page 1of 27

I.E.S. GRAN CAPITN.

DEPARTAMENTO DE INFORMTICA.

CS DESARROLLO DE APLICACIONES WEB.


MDULO: BASES DE DATOS.

CUADERNO DE PRCTICAS.
UNIDAD DE REPASO.
Horas programadas: 25.
Propuesta de planificacin: m(3)-mi(2)-j(3)-v(2)-s(5)-d(5)-l(3)-m(4)--> 27

Requisitos:
Documento pdf con la solucin a todas las prcticas planteadas.
Presentacin de pantallazos de resultados con marcas personales.
Incluir calendario de trabajo.

1. PRCTICA 1. <1 hora>

Contesta las siguientes preguntas:

1. Indica las diferencias existentes entre las funciones de manipulacin y de descripcin.


2. Qu tipos de usuarios interaccionan con una base de datos?
3. Indica que es un lenguaje husped y un lenguaje anfitrin.
4. La gestin del espacio de almacenamiento, a qu nivel de la arquitectura ANSI/SPARC
pertenece?
5. Dibujar un diagrama de la arquitectura de sistemas de bases de datos (ANSI/SPARC).
6. Indica las principales funciones realizadas por el SGDB.
7. Explica la diferencia entre la independencia fsica y lgica de los datos.
8. Qu es el diccionario de datos?
9. Diferencias entre el LDD y LMD de un sistema gestor de base de datos.
10. Indica los componentes principales de un sistema gestor de base de datos.
11. Qu es un modelo de datos?
12. Qu son los lenguajes de cuarta generacin? Pon ejemplos.
13. Indica las principales ventajas de un sistema de bases de datos. Existen algunas
desventajas?
14. Puede una clave fornea almacenar nulos en todos sus componentes?
15. Puede un mismo atributo ser clave ajena y primaria de una misma relacin? Si la respuesta
fuese afirmativa pon un ejemplo, y si fuese negativa explica las razones.
16. Es cierto que toda relacin con dos atributos est siempre en segunda forma normal?, y en
tercera?
17. Puede estar una clave ajena y su correspondiente clave primaria definida sobre dominios
diferentes? En qu condiciones?
18. Es cierto que en la transformacin del esquema conceptual al relacional todo tipo de
interrelacin N:M se traduce en el fenmeno de propagacin de clave? Justifica la respuesta.
19. Es cierto que en el modelo relacional los dominios representan propiedades de la relacin?
Justifica la respuesta.
20. Haz un esquema detallado del proceso de diseo de un sistema de informacin utilizando
bases de datos.
2. PRCTICA 2. <1 horas>

Requisitos:
No utilizar herramientas de modelado.

Para el supuesto propuesto realiza:


Diseo conceptual.
Diseo lgico.

Supuesto.

La Consejera de Cultura de la Comunidad Gallega ha decidido guardar informacin referente al


Camino de Santiago en una Base de Datos. La informacin que desea almacenar es la siguiente:

Teniendo en cuenta que la peregrinacin a Santiago se puede realizar por distintos caminos (el
camino francs, el aragons, etc.), se quiere guardar informacin acerca de stos. Esta informacin
se refiere al nombre (que los identifica), el nmero de kilmetros totales y el tiempo estimado para
la realizacin del camino.

Cada camino se compone de distintas etapas que se identifican por un nmero correlativo dentro de
cada camino, y para cada una de ellas se desea saber el nmero de kilmetros, el tiempo estimado y
las distintas localidades por las que pasa. Adems se quiere recoger la localidad de salida y de
llegada de la correspondiente etapa.

Se recogern las distintas localidades por la que pasa cada camino. La informacin que se recoger
de cada localidad ser: nombre de la misma, Comunidad Autnoma a la que pertenece y cdigo
postal. Se debe tener en cuenta que pueden existir localidades comunes a distintos caminos.

Se desea guardar informacin sobre los albergues para peregrinos que existen en algunas de las
localidades que pertenecen al camino. Esta informacin consta de: nombre de albergue, capacidad y
precio (si lo tuvieran)

Por ltimo, se quiere registrar los peregrinos que realizan el camino. Para llevar este control cada
uno de ellos lleva un carnet que consta de un nmero de identificacin, el nombre completo del
peregrino, su direccin y las localidades por las que ha ido pasando a lo largo del recorrido junto
con el da que llegaron a dicha localidad.
3. PRCTICA 3. <1 horas>

Requisitos:
No utilizar herramientas de modelado.

Para el supuesto propuesto realiza:


Diseo conceptual.
Diseo lgico.

Supuesto

Se pretende llevar a cabo un control sobre la energa elctrica que se produce y consume en un
determinado pas. Se parte de las siguientes hiptesis.
Existen productores bsicos de electricidad que se identifican por un nombre, de los cuales interesa
su produccin media, produccin mxima y fecha de entrada en funcionamiento. Estos productores
bsicos pertenecen a algunas de las siguientes categoras: Central Hidroelctrica, Central Solar,
Central Nuclear o Central Trmica. De una central hidroelctrica o presa interesa saber su
ocupacin, capacidad mxima y nmero de turbinas. De una central solar interesa saber la
superficie total de paneles solares, la media anual de horas de sol y el tipo (fotovoltaica o
termodinmica). De una central nuclear, interesa saber el nmero de reactores que posee, el
volumen de plutonio consumido y el de residuos nucleares que produce. De una central trmica,
interesa saber el nmero de hornos que posee, el volumen de carbn consumido y el volumen de su
emisin de gases.

Por motivos de seguridad nacional interesa controlar el plutonio de que se provee una central
nuclear. Este control se refiere a la cantidad de plutonio que compra a cada uno de sus posibles
suministradores (nombre y pas) y que porta un determinado transportista (nombre y matrcula). Ha
de tenerse en cuenta que un mismo suministrador puede vender plutonio a distintas centrales
nucleares y que cada porte (un nico porte por compra) puede realizarlo un transportista diferente.
Cada da, los productores entregan la energa producida a una o varias estaciones primarias, las
cuales pueden recibir diariamente una cantidad distinta de energa de cada uno de esos productores.
Los productores entregan siempre el total de su produccin. Las estaciones primarias se identifican
por su nombre y tienen un nmero de transformadores de baja a alta tensin y son cabecera de una o
varias redes de distribucin.

Una red de distribucin se identifica por un nmero de red y slo puede tener una estacin primaria
como cabecera. La propiedad de una red puede ser compartida por varias compaas elctricas. A
cada compaa elctrica se le identifica por su nombre.

La energa sobrante en una de las redes puede enviarse a otra red. Se registra el volumen total de
energa intercambiada entre dos redes.

Una red est compuesta por una seria de lneas, cada lnea se identifica por un nmero secuencial
dentro del nmero de red y tiene una determinada longitud. La menor de las lneas posibles
abastecer al menos a dos subestaciones. Una subestacin es abastecida slo por una lnea y
distribuye a una o varias zonas de servicio. A estos efectos, las provincias (cdigo y nombre), se
encuentran divididas en tales zonas de servicio, aunque no puede haber zonas de servicio que
pertenezcan a ms de una provincia. Cada zona de servicio puede ser atendida por ms de una
subestacin.

En cada zona de servicio se desea registrar el consumo medio y el nmero de consumidores finales
de cada una de las siguientes categoras: particulares, empresas e instituciones.
4. PRCTICA 4. <4 horas>

Requisitos:
No utilizar herramientas de modelado.
Consultar datos en:
http://es.wikipedia.org/wiki/Anexo:Campeones_de_torneos_de_Grand_Slam_
%28individual_masculino%29#Campeones_por_a.C3.B1o

Para el supuesto propuesto realiza:


Diseo conceptual.
Diseo lgico.
Script SQL de creacin del esquema.
Script SQL de introduccin de datos.

Supuesto

La Federacin Internacional de Tenis nos contrata para disear una base de datos para dar
soporte a los torneos de Grand Slam.
El sistema debe memorizar todos los encuentros que se han desarrollado desde que existe el
torneo, as como las siguientes caractersticas de estos. Descripcin: El Grand Slam se
compone de cuatro torneos anuales que se celebran en Gran Bretaa, Estados Unidos,
Francia y Australia. En cada pas se pueden desarrollar en distintos lugares (p. ej., en EE.
UU. puede desarrollarse en Forest Hill o en Flashing Meadows). Cada partido tiene asociado
un premio de consolacin para el perdedor que depender de la fase en que se encuentre el
torneo (p. ej., el perdedor de octavos de final puede ganar 5.000 dlares). El ganador de a
final recibir el premio correspondiente al torneo. Cada torneo tiene cinco modalidades:
Individual masculino, individual femenino, dobles masculino, dobles femenino y dobles
mixtos. Tambin hay que tener en cuenta la nacionalidad de un jugador, de forma que ste
puede ser aptrida o tener varias nacionalidades.

Resultados a considerar: El sistema debe dar respuesta a las siguientes preguntas:


1. Dado un ao y un torneo, composicin y resultado de los partidos.
2. Lista de rbitros que participaron en el torneo.
3. Ganancias percibidas en premios por un jugador a lo largo del torneo.
4. Lista de entrenadores que han entrenado a un jugador a lo largo del torneo y fechas en las
que lo hizo.

Ejemplos de acceso a la base de datos.

1. Connors gan a Gerulaitis en Roland Garros en 1979 en cuartos de final en individuales


masculinos por 6-3 4-6/7-5 6-0.
2. El seor Wilkinson arbitro ese partido.
3. Alemania ha ganado dos veces las individuales masculinas de Wimbledon.
4. Borg ha ganado 2.000.000 de dlares a lo largo de su participacin en el Grand Slam.
5. El ganador de Roland Garros de 1987 gan 20.000 dlares.
6. Noah ha jugado cuatro veces en dobles mixtos con Mandlikova.
5. PRCTICA 5. <1 horas>

Requisitos:
No utilizar herramientas de modelado.

Para el supuesto propuesto realiza:


Diseo conceptual.
Diseo lgico.

Supuesto.

Se desea disear un sistema de control de vuelos adaptado a las siguientes reglas de gestin.
a) De cada aeropuerto se conoce su cdigo, nombre, ciudad y pas.
b) En cada aeropuerto pueden tomar tierra diversos modelos de aviones (el modelo de un avin
determina su capacidad, es decir, el nmero de plazas.
c) En cada aeropuerto existe una coleccin de programas de vuelo. En cada programa de vuelo
se indica el nmero de vuelo, lnea area y das de la semana en que existe dicho vuelo.
d) Cada programa de vuelo despega de un aeropuerto y aterriza en otro.
e) Los nmeros de vuelo son nicos para todo el mundo.
f) En cada aeropuerto hay mltiples aterrizajes y despegues. Todos los aeropuertos
contemplados estn en activo, es decir, tienen algn aterrizaje y algn despegue.
g) Cada vuelo realizado pertenece a un cierto programa de vuelo. Para cada vuelo se quiere
conocer su fecha, plazas vacas y el modelo de avin utilizado.
h) Algunos programas de vuelo incorporan escalas tcnicas intermedias entre los aeropuertos de
salida y de llegada. Se entiende por escala tcnica a un aterrizaje y despegue consecutivos sin
altas bajas de pasajeros.
i) De cada vuelo se quieren conocer las escalas tcnicas ordenadas asignndole a cada una un
nmero de orden. Por ejemplo, el programa de vuelo 555 de Iberia con vuelos los lunes y jueves
despega de BarajasMadrid-Espaa y aterriza en Caudell-Sydney-Australia teniendo las
siguientes escalas tcnicas: 1- Los P radios-Sao Paulo-Brasil, 2-El Emperador-Santiago-Chile
y 3-Saint Kitts-Auckland-Nueva Zelanda.

Que cambios se producirn en el caso anterior si en las escalas pudiesen bajar o subir
pasajeros? Explicar cmo se podra representar esta nueva situacin.
6. PRCTICA 6. <2 horas>

Normaliza las siguientes relaciones.

RELACIN 1.

Informacin relativa a los prstamos que realizan las editoriales a los profesores de primaria de los
colegios para su evaluacin en alguna de las asignaturas/habilidades que imparten.
A un profesor no se le puede prestar ms de un libro de la misma editorial en el mismo da y a un
profesor no se le puede prestar ms de una vez un mismo libro

PRSTAMO_LIBROS (Colegio, ProfesorInfantil, Asignatura_Habilidades, Aula, Curso, Libro,


Editorial, Fecha_Prstamo)

Ejemplo de ocurrencia:
RELACIN 2.

Informacin relativa a la utilizacin de los recursos de la universidad por parte de los profesores en
periodos de tiempo:

UTILIZACIN(DNI_Prof, Nombre_Prof, Despacho_Prof, Recurso, Ubicacin, Fecha_inicio,


Fecha_fin)

Ejemplo de ocurrencia:

RELACIN 3.

Informacin relativa a la asignacin de los turnos de trabajo de los empleados de los distintos
centros de una cadena de tiendas de moda.

ASIGNACIN (DNI, Nombre, Cdigo_Tienda, Direccin_Tienda, Fecha, Turno) que contiene

Ejemplo de ocurrencia
RELACIN 4.

Informacin sobre la fecha y duracin de las actividades deportivas que se organizan en un colegio.
Los nombres de los monitores no son nicos y los nombres de las actividades tampoco.

REALIZA(Cod_Actividad, Nombre_Actividad, DNI_Monitor, Nombre_monitor, Sala, Fecha,


Hora_I, Hora_F)

Ejemplo de ocurrencia:
7. PRCTICA 7. <4 horas>

Requisitos:
SGBDR: Oracle.
Herramientas: Data-modeler, sql-developer

Para el supuesto propuesto realiza:


Diseo conceptual.
Diseo lgico.
Implementacin.
Carga de datos de pruebas.
Disparador que penalice a los lectores que devuelvan los libros prestados con retraso. La
penalizacin consiste en bloquear al lector para que no pueda realizar prestamos durante
tantas semanas como das de retraso haya acumulado.

Supuesto

Se desea disear una solucin para el sistema de informacin de una biblioteca. Las personas socias
de la biblioteca disponen de un cdigo de socio y almacenamos su dni, direccin, telfono, nombre
y apellidos.
La biblioteca almacena libros que presta a los socios y socias, de ellos se almacena su ttulo, su
editorial, el ao en el que se escribi el libro, el nombre completo del autor (o autores), el ao de
edicinn y el ISBN.
De cada libro en la biblioteca existenten varios ejemplares. Necesitamos conocer el estado y la
localizacin de cada ejemplar.
Se desea disear un sistema que permita una gestin gil de los prstamos. Un socio puede retirar
varios ejemplares al mismo tiempo. El sistema debe permitir la reclamacin a los usuarios de
aquellos libros no devueltos.
Incorporar todas las suposiciones semnticas que permitan un desarrollo ms completo del modelo.
8. PRCTICA 8. <4 horas>

Requisitos:
SGBDR: Oracle.
Esquema HR .

Consultas sql:
1. Mostrar detalles de los trabajos donde el salario mnimo es mayor que 10.000
2. Ver el primer nombre y la fecha de ingreso de los empleados dados de alta entre 2002 y
2005.
3. Nombre y fecha de ingreso de los empleados que se sean IT Programmer o Sales Man.
4. Empleados que ingresaron en la empresa despus del 1 de enero de 2008.
5. Detalle de los empleados con ID 150 o 160.
6. Mostrar first name, salary, commission pct, and hire date de los empleados con salario
inferior a 10000.
7. Mostar el trabajo, y la diferencia entre el salario mnimo y mximo de los trabajos con el
salario mximo en el rango 10000 a 20000.
8. Mostrar el nombre, salario y salario redondeado a miles, de los empleados.
9. Mostar los datos de los trabajos en orden descendiente de ttulo.
10. Mostrar aquellos empleados cuyo nombre o apellidos comiencen con la letra S.
11. Mostrar los empleados que Display employees who joined in the month of May.
12. Mostrar detelle de los empleados sin porcentaje de comisin, el salario en el rango 5000 a
10000 y departamento 30.
13. Mostrar nombre y experiencia en aos de los empleados.
14. Mostrar nombre de los empleados que entraron en la empresa en 2001.
15. Mostrar nombre y apellidos de los empleados convirtiendo la primera letra en mayscula y
el reso en minscula.
16. Mostrar detalle de los empleados que han ingresado en la empresa este ao.
17. Mostrar cuantos empleados han ingresado en la empresa cada mes en este ao.
18. Mostrar el pas y nmero de ciudades que tiene.
19. Mostrar el salario medio de los empleados de cada departamento que tienen comisiones.
20. Mostrar el id del trabjo, nmero de empleados en ese trabajo, suma del salario y diferencia
entre el salario mayor y menor de cada trabajo.
21. Muesta el id de aquellos trabajos cuyo salario medio es superior a 10000.
22. Mostrar los aos en los que se incorporaron a la empresa ms de 10 empleados.
23. Mostrar los departamentos con ms de cinco empleados que tienen porcentaje de comisin.
24. Mostrar el id de los empleados que han tenido ms de un trabajo en el pasado.
25. Mostrar el id de aquellos trabajos que han tenido ms de 3 empleados ms de 100 das.
26. Mostrar id de departamento, ao y nmero de empleados dados de alta en ese ao.
27. Mostrar los departamentos donde el jefe tiene ms de 5 empleados a su cargo.
28. Cambiar el salario del empleado 115 a 8000 si cobra menos de 6000.
29. Inserta un nuevo empleado: 207, 'ANGELA', 'SNYDER','ANGELA','215 253 4737',
SYSDATE, 'SA_MAN', 12000, 80
30. Borra el departamento 20
31. Cambia el trabajo del empleado 110 a IT_PROG, si el empleado pertenece al departamento
19 y su trabajo actual no empieza con IT.
32. Inserta una fila en la tabla departamentos con jefe 1w9 y alguna localizacin de la ciudad de
Tokyo.
33. Muestra el nombre del departamento y su nmero de empleados.
34. Muestra el nombre del departamento y el nombre de su jefe.
35. Muestra nombre del departamento, nombre del jefe y ciudad.
36. Muestra nombre del pas, ciudad y nombre de departamento.
37. Muestra titulo del trabajo, nombre del departamento,apellido del empleado y fecha de inicio
para todos los trabajos entre 2000 y 2005.
38. Mostrar detalle de los departamentos quDisplay details of departments con salario mximo
mayor a 10000.
39. Mostrar detalle de los departamentos cuyo jefe es Smith.
40. Mostrar trabajos donde se han incorporado empleados este ao.
41. Mostrar empleados que no tuvieron ningn puesto en el pasado.
42. Mostrar ttulo del trabajo y salario medio de aquellos empleados que no tuvieron ningn
puesto en el pasado.
43. Mostrar detalle de los jefes con ms de 5 empleados.
44. Mostrar los departamentos que no tuvieron alta de empleados en los ltimos dos aos.
45. Mostrar detalle de los departamentos en los que el salario mximo es mayor a 10000 para
empleados que no tuvieron ningn puesto en el pasado.
46. Mostrar detalle del puesto actual de los empleados que en el pasado trabajaron como IT
Programmers.
47. Mostrar la ciudad del empleado cuyo id es 105.
48. Mostrar el tercer salario ms alto de todos los empleados.
49. Mostrar jefes y empleados a su cargo.
50. Mostrar el jefe con el sueldo ms alto.
9. PRCTICA 9 <4 horas>

Requisitos:
SGBDR: Oracle.
Esquema HR.
PL/SQL

1. Escribe un disparador que incremente en un 5 % el salario de todos los empleados cuyo


sueldo est por debajo de la media.

2. Realiza:
Aade a la tabla empleados el campo nif.
Crea una funcin que calcule la letra que corresponde a un dni.
Crea un disparador que utilice la funcin anterior y garantice que los datos introducidos
en el campo nif son correctos.
Prueba la funcin y el disparador introduciendo un nuevo empleado con tus datos
personales.
10. PRCTICA 10. <3 horas>

Requisitos:
Diseo lgico.

SGBDR: Oracle.
Herramientas: Sql-developer.

Realiza:
1. Importar esquema anexo.
2. Consultas sql:
1. Obtener el nombre y el equipo de los ciclistas menores de 30 aos que hayan ganado
alguna etapa
2. Obtener el nombre y el equipo de los ciclistas mayores de 32 aos que hayan ganado
algun puerto.
3. Obtener los datos de las etapas que pasan por algun puerto de montaa y que tienen
salida y llegada en la misma poblacion.
4. Obtener las poblaciones que tienen la meta de alguna etapa, pero desde las que no se
realiza ninguna salida.
5. Obtener las poblaciones las de la llegada pero que no estan en la salida.
6. Obtener el nombre y el equipo de los ciclistas que han ganado alguna etapa llevando el
maillot amarillo, mostrando tambien el numero de etapa
7. Obtener las poblaciones de salida y de llegada de las etapas donde se encuentran puertos
con altura superior a 1300 metros.
8. Obtener el numero de las etapas que tienen algun puerto de montaa, indicando cuantos
tiene cada una de ellas.
9. Obtener el nombre y la edad de los ciclistas que han llevado dos o mas maillots en una
misma etapa.
10. Obtener el nombre y el equipo de los ciclistas que han llevado algun maillot o que han
ganado algun puerto.
11. Obtener los numeros de las etapas que no tienen puertos de montaa.
12. Obtener la edad media de los ciclistas que han ganado alguna etapa.
13. Obtener el nombre de los puertos de montaa que tienen una altura superior a la altura
media de todos los puertos.
14. Obtener las poblaciones de salida y de llegada de las etapas donde se encuentran los
puertos con mayor pendiente.
15. Obtener el dorsal y el nombre de los ciclistas que han ganado los puertos de mayor
altura.
16. Obtener los datos de las etapas cuyos puertos (todos) superan los 1300 metros de altura.
17. Obtener la edad del ciclista mas joven, la del mas veterano y la edad media de los
ciclistas que han participado en la vuelta.
18. Obtener el nombre del equipo y el director del ciclista que gano la etapa mas larga.
19. Obtener el dorsal y el nombre de los ciclistas que hayan ganado alguna etapa, mostrando
el numero de etapas que han ganado.
20. Obtener el nombre de los ciclistas que pertenecen a un equipo de mas de cinco ciclistas y
que han ganado alguna etapa, indicando tambien cuantas etapas han ganado.
21. Nombre y equipo de los ciclistas que han llevado alguna vez el maillot amarillo,
indicando durante cuantas etapas lo han llevado.
22. Por cada equipo, color de los maillots que han llevado sus ciclistas
23. Nombre y equipo del ganador de la vuelta (es decir, el que ha lucido el maillot amarillo
en la ultima etapa).
24. Nombre de los equipos que no han llevado el maillot amarillo.
25. Nombre y dorsal de los ciclistas mayores de 30 aos que han ganado algun puerto, junto
con el numero de puertos que han ganado.
26. Nombre y director de los equipos que, en alguna etapa, sus ciclistas han llevado tres o
mas maillots.
27. Nombre de los equipos que solo tienen ciclistas menores de 28 aos.
28. Dorsal y nombre del ciclista que ha llevado el maillot amarillo durante mas etapas.
29. Obtener los datos de las etapas que pasan por algn puerto de montaa y que tienen
salida y llegada en la misma poblacin.
30. Obtener las poblaciones que tienen la meta de alguna etapa, pero desde las que no se
realiza ninguna salida.
31. Obtener el nombre y el equipo de los ciclistas que han ganado alguna etapa llevando el
maillot amarillo, mostrando tambin el nmero de etapa.
32. Obtener los datos de las etapas que no comienzan en la misma ciudad en que acaba la
etapa anterior.
33. Obtener el nmero de las etapas que tienen algn puerto de montaa, indicando cuntos
tiene cada una de ellas.
34. Obtener el nombre y la edad de los ciclistas que han llevado dos o ms maillots en una
misma etapa.
35. Obtener el nombre y el equipo de los ciclistas que han llevado algn maillot o que han
ganado algn puerto.
36. Obtener los datos de los ciclistas que han vestido todos los maillots (no necesariamente
en la misma etapa).
37. Obtener el cdigo y el color de aquellos maillots que slo han sido llevados por ciclistas
de un mismo equipo.
38. Obtener los nmeros de las etapas que no tienen puertos de montaa.
39. Obtener la edad media de los ciclistas que han ganado alguna etapa.
40. Obtener el nombre de los puertos de montaa que tienen una altura superior a la altura
media de todos los puertos.
41. Obtener las poblaciones de salida y de llegada de las etapas donde se encuentran los
puertos con mayor pendiente.
42. Obtener el dorsal y el nombre de los ciclistas que han ganado los puertos de mayor
altura.
43. Obtener los datos de las etapas cuyos puertos (todos) superan los 1300 metros de altura.
44. Obtener el nombre de los ciclistas que pertenecen a un equipo de ms de cinco ciclistas y
que han ganado alguna etapa, indicando tambin cuntas etapas han ganado.
ANEXO Base de datos ciclistas.

--------------------------------------------------------
-- DDL for Table CICLISTA
--------------------------------------------------------

CREATE TABLE "CICLISTA"


( "DORSAL" NUMBER(3,0),
"NOMBRE" VARCHAR2(30),
"EDAD" NUMBER(2,0),
"NOMEQUIPO" VARCHAR2(25)
);
--------------------------------------------------------
-- DDL for Table EQUIPO
--------------------------------------------------------

CREATE TABLE "EQUIPO"


( "NOMEQUIPO" VARCHAR2(25),
"DIRECTOR" VARCHAR2(100)
);
--------------------------------------------------------
-- DDL for Table ETAPA
--------------------------------------------------------

CREATE TABLE "ETAPA"


( "NUMETAPA" NUMBER(2,0),
"KMS" NUMBER(3,0),
"SALIDA" VARCHAR2(35),
"LLEGADA" VARCHAR2(35),
"DORSAL" NUMBER(3,0)
);
--------------------------------------------------------
-- DDL for Table LLEVAR
--------------------------------------------------------

CREATE TABLE "LLEVAR"


( "CODIGO" CHAR(3),
"NUMETAPA" NUMBER(2,0),
"DORSAL" NUMBER(3,0)
);
--------------------------------------------------------
-- DDL for Table MAILLOT
--------------------------------------------------------

CREATE TABLE "MAILLOT"


( "CODIGO" CHAR(3),
"TIPO" VARCHAR2(30),
"COLOR" VARCHAR2(20),
"PREMIO" NUMBER(7,0)
);
--------------------------------------------------------
-- DDL for Table PUERTO
--------------------------------------------------------

CREATE TABLE "PUERTO"


( "NOMPUERTO" VARCHAR2(35),
"ALTURA" NUMBER(4,0),
"CATEGORIA" CHAR(1),
"PENDIENTE" NUMBER(3,2),
"NUMETAPA" NUMBER(2,0),
"DORSAL" NUMBER(3,0)
);
REM INSERTING into CICLISTA
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (1,'Alberto
Contador',24,'Astana');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (2,'Levi
Leipheimer',22,'Astana');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (3,'Carlos
Sastre',27,'Saxo Bank');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (4,'Damiano
Cunego',27,'Lampre');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (5,'Gert-Jan
Theunisse',27,'TVM');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (6,'Oscar
Freire',28,'Radobank');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (7,'Mauricio Alberto
Ardila',30,'Radobank');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (8,'Jean Van
Poppel',33,'Lotus Festina');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (9,'Massimo
Podenzana',34,'Navigare');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (10,'Juan Antonio
Flecha',28,'Radobank');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (11,'Flavio
Giupponi',31,'Bresciali-Refin');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (12,'Alessio Di
Basco',31,'Amore Vita');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (13,'Lale
Cubino',28,'Seguros Amaya');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (14,'Roberto
Pagnin',33,'Navigare');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (15,'Jesper
Skibby',31,'TVM');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (16,'Dimitri
Konishev',29,'Jolly Club');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (17,'Bruno
Leali',37,'Bresciali-Refin');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (18,'Robert
Millar',37,'TVM');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (19,'Andreas
Klden',34,'Astana');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (20,'Alfonso
Gutirrez',29,'Artiach');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (21,'Erwin
Nijboer',31,'Artiach');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (22,'Giorgio
Furlan',32,'Gewiss');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (23,'Lance
Armstrong',27,'Motorola');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (24,'Claudio
Chiappucci',29,'Carrera');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (25,'Gianni
Bugno',32,'Gatorade');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (26,'Dmitriy
Muravyev',27,'Astana');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (27,'Alexandr
Kolobnev',28,'Saxo Bank');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (28,'Assan
Bazayev',33,'Astana');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (29,'Angel
Edo',28,'Kelme');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (30,'Benjamin Noval
Gonzalez',28,'Astana');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (31,'Sergio Miguel
Moreira Paulinho',30,'Astana');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (32,'Iigo
Cuesta',28,'Saxo Bank');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (33,'Alessandro
Ballan',29,'Lampre');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (34,'Angel Yesid
Camargo',30,'Kelme');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (35,'Erik
Dekker',28,'Wordperfect');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (36,'Dmitry
Kozontchuk',32,'Radobank');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (37,'Scott
Sunderland',29,'TVM');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (38,'Javier
Palacin',25,'Euskadi');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (39,'Rudy
Verdonck',30,'Lotus Festina');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (40,'Viatceslav
Ekimov',32,'Wordperfect');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (41,'Rolf
Aldag',25,'Telecom');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (42,'Davide
Cassani',29,'TVM');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (43,'Pedro
Horrillo',28,'Radobank');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (44,'Luca
Gelfi',27,'Gatorade');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (45,'Alberto
Elli',26,'Artiach');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (46,'Agustin
Sagasti',24,'Euskadi');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (47,'Laurent
Pillon',32,'Gewiss');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (48,'Marco
Saligari',29,'Gewiss');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (49,'Eugeni
Berzin',23,'Gewiss');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (50,'Emanuele
Bindi',27,'Lampre');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (51,'Udo
Bolts',30,'Telecom');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (52,'Vladislav
Bobrik',26,'Gewiss');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (53,'Marc De
Maar',28,'Radobank');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (54,'Steffen
Wesemann',30,'Telecom');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (55,'Nicola
Minali',28,'Gewiss');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (56,'Jos Luis
Rubiera',29,'Astana');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (57,'Stefano
Zanini',28,'Navigare');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (58,'Gerd
Audehm',34,'Telecom');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (59,'Grischa
Niermann',28,'Radobank');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (60,'Giovanni
Lombardi',28,'Bresciali-Refin');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (61,'Walte
Castignola',26,'Navigare');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (62,'Raul
Alcala',30,'Motorola');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (63,'Alvaro
Mejia',32,'Motorola');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (64,'Theo
Eltink',28,'Radobank');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (65,'Pascal
Lino',29,'Amore Vita');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (66,'Enrico
Zaina',24,'Gewiss');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (67,'Armand de las
Cuevas',28,'Castorama');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (68,'Angel
Citracca',28,'Navigare');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (69,'Eddy
Seigneur',27,'Castorama');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (70,'Vaitkus
Tomas',29,'Astana');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (71,'Lance
Armstrong',27,'Astana');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (72,'Stefano
Colage',28,'Bresciali-Refin');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (73,'Laurent
Fignon',35,'Gatorade');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (74,'Claudio
Chioccioli',36,'Amore Vita');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (75,'Juan
Romero',32,'Seguros Amaya');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (76,'Marco
Giovannetti',34,'Gatorade');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (77,'Marco
Marzano',33,'Lampre');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (78,'Antonio
Esparza',35,'Kelme');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (79,'Jurgen Van
Goolen',33,'Saxo Bank');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (80,'Federico
Echave',37,'Lampre');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (81,'Piotr
Ugrumov',33,'Gewiss');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (82,'Edgar
Corredor',30,'Kelme');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (83,'Hernan
Buenahora',32,'Kelme');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (84,'Massimiliano
Mori',31,'Lampre');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (85,'Dimitri
Abdoujaparov',30,'Carrera');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (86,'Juan Martinez
Oliver',32,'Kelme');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (87,'Fernando
Mota',32,'Artiach');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (88,'Danilo
Napolitano',28,'Lampre');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (89,'Stefan
Roche',36,'Carrera');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (90,'Ivan
Ivanov',27,'Artiach');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (91,'Nestor
Mora',28,'Kelme');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (92,'Federico
Garcia',27,'Artiach');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (93,'Bo
Hamburger',29,'TVM');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (94,'Haimar
Zubeldia',30,'Astana');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (95,'Manuel
Guijarro',31,'Lotus Festina');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (96,'Tom
Cordes',29,'Wordperfect');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (97,'Juan Jos
Haedo',28,'Saxo Bank');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (98,'Eleuterio
Anguita',25,'Artiach');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (99,'Per
Pedersen',29,'Seguros Amaya');
Insert into CICLISTA (DORSAL,NOMBRE,EDAD,NOMEQUIPO) values (100,'William
Palacios',30,'Jolly Club');
REM INSERTING into EQUIPO
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Artiach','Jos Perz');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Astana','Johan Bruyneel');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Bresciali-Refin','Pietro Armani');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Carrera','Luigi Petroni');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Castorama','Jean Philip');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Euskadi','Pedro Txucaru');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Gatorade','Gian Luca Pacceli');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Gewiss','Moreno Argentin');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Jolly Club','Johan Richard');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Kelme','lvaro Pino');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Lotus Festina','Suarez Cuevas');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Lampre','Brent Copeland');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Radobank','Erik Breukin');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Motorola','John Fidwell');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Navigare','Lonrenzo Sciacci');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Saxo Bank','Bjarne Riis');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('PDM','Piet Van Der Kruis');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Seguros Amaya','Minguez');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Telecom','Morgan Reikcard');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('TVM','Steveens Henk');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Wordperfect','Bill Gates');
Insert into EQUIPO (NOMEQUIPO,DIRECTOR) values ('Amore Vita','Ricardo Padacci');
REM INSERTING into ETAPA
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values
(1,9,'Valladolid','Valladolid',1);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values
(2,180,'Valladolid','Salamanca',36);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values
(3,240,'Salamanca','Caceres',12);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values
(4,230,'Almendralejo','Crdoba',83);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values
(5,170,'Crdoba','Granada',27);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values
(6,150,'Granada','Sierra Nevada',52);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values
(7,250,'Baza','Alicante',22);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values
(8,40,'Benidorm','Benidorm',1);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values
(9,150,'Benidorm','Valencia',35);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values
(10,200,'Igualada','Andorra',2);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values
(11,195,'Andorra','Estacin de Cerler',65);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values
(12,220,'Benasque','Zaragoza',12);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values
(13,200,'Zaragoza','Pamplona',93);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values
(14,172,'Pamplona','Alto de la Cruz de la Demanda',86);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values (15,207,'Santo
Domingo de la Calzada','Santander',10);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values
(16,160,'Santander','Lagos de Covadonga',5);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values (17,140,'Cangas de
Onis','Alto del Naranco',4);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values
(18,195,'vila','vila',8);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values
(19,190,'vila','Destilerias Dyc',2);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values
(20,52,'Segovia','Destilerias Dyc',2);
Insert into ETAPA (NUMETAPA,KMS,SALIDA,LLEGADA,DORSAL) values (21,170,'Destilerias
Dyc','Madrid',27);
REM INSERTING into LLEVAR
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',1,1);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',1,1);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMS',1,67);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',1,1);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',1,1);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',1,1);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',2,1);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',2,25);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMS',2,69);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',2,16);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',2,27);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',2,8);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',3,1);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',3,25);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMS',3,67);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',3,16);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',3,27);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',3,12);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',4,1);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',4,24);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMS',4,69);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',4,17);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',4,27);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',4,8);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',5,2);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',5,25);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',5,16);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',5,27);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',5,12);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',6,2);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',6,26);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',6,16);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',6,20);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',6,12);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',7,2);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',7,26);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',7,33);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',7,20);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',7,99);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',8,4);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',8,26);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',8,33);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',8,20);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',8,99);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',9,26);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',9,26);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',9,48);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',9,20);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',9,99);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',10,26);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',10,30);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',10,48);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',10,20);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',10,99);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',11,3);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',11,30);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',11,48);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',11,20);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',11,99);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',12,3);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',12,30);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',12,48);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',12,20);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',12,99);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',13,30);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',13,30);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',13,48);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',13,20);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',13,99);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',14,30);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',14,28);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',14,42);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',14,20);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',14,22);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',15,30);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',15,28);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',15,42);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',15,20);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',15,22);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',16,1);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',16,28);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',16,42);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',16,20);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',16,22);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',17,1);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',17,28);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',17,42);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',17,20);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',17,22);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',18,1);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',18,26);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',18,20);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',18,27);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',18,10);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',19,1);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',19,28);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',19,42);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',19,20);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',19,22);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',20,1);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',20,28);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',20,42);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',20,20);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',20,22);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MGE',21,1);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMO',21,2);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MMV',21,42);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MRE',21,20);
Insert into LLEVAR (CODIGO,NUMETAPA,DORSAL) values ('MSE',21,22);
REM INSERTING into MAILLOT
Insert into MAILLOT (CODIGO,TIPO,COLOR,PREMIO) values
('MGE','General','Amarillo',800000);
Insert into MAILLOT (CODIGO,TIPO,COLOR,PREMIO) values ('MMO','Montaa','Blanco y
Rojo',200000);
Insert into MAILLOT (CODIGO,TIPO,COLOR,PREMIO) values ('MMS','Mas Sufrido','Estrellitas
moradas',200000);
Insert into MAILLOT (CODIGO,TIPO,COLOR,PREMIO) values ('MMV','Metas
volantes','Rojo',200000);
Insert into MAILLOT (CODIGO,TIPO,COLOR,PREMIO) values
('MRE','Regularidad','Verde',200000);
Insert into MAILLOT (CODIGO,TIPO,COLOR,PREMIO) values ('MSE','Sprints
especiales','Rosa',200000);
REM INSERTING into PUERTO
Insert into PUERTO
(NOMPUERTO,ALTURA,CATEGORIA,PENDIENTE,NUMETAPA,DORSAL) values ('Alto del
Naranco',565,'1',6,9,10,30);
Insert into PUERTO
(NOMPUERTO,ALTURA,CATEGORIA,PENDIENTE,NUMETAPA,DORSAL) values
('Arcalis',2230,'E',6,5,10,4);
Insert into PUERTO
(NOMPUERTO,ALTURA,CATEGORIA,PENDIENTE,NUMETAPA,DORSAL) values ('Cerler-
Circo de Ampriu',2500,'E',5,87,11,9);
Insert into PUERTO
(NOMPUERTO,ALTURA,CATEGORIA,PENDIENTE,NUMETAPA,DORSAL) values ('Coll de la
Comella',1362,'1',8,07,10,2);
Insert into PUERTO
(NOMPUERTO,ALTURA,CATEGORIA,PENDIENTE,NUMETAPA,DORSAL) values ('Coll de
Ordino',1980,'E',5,3,10,7);
Insert into PUERTO
(NOMPUERTO,ALTURA,CATEGORIA,PENDIENTE,NUMETAPA,DORSAL) values ('Cruz de
la Demanda',1850,'E',7,11,20);
Insert into PUERTO
(NOMPUERTO,ALTURA,CATEGORIA,PENDIENTE,NUMETAPA,DORSAL) values ('Lagos de
Covadonga',1134,'E',6,86,16,42);
Insert into PUERTO
(NOMPUERTO,ALTURA,CATEGORIA,PENDIENTE,NUMETAPA,DORSAL) values
('Navacerrada',1860,'1',7,5,19,2);
Insert into PUERTO
(NOMPUERTO,ALTURA,CATEGORIA,PENDIENTE,NUMETAPA,DORSAL) values ('Puerto de
Alisas',672,'1',5,8,15,1);
Insert into PUERTO
(NOMPUERTO,ALTURA,CATEGORIA,PENDIENTE,NUMETAPA,DORSAL) values ('Puerto de
la Morcuera',1760,'2',6,5,19,2);
Insert into PUERTO
(NOMPUERTO,ALTURA,CATEGORIA,PENDIENTE,NUMETAPA,DORSAL) values ('Puerto de
Mijares',1525,'1',4,9,18,24);
Insert into PUERTO
(NOMPUERTO,ALTURA,CATEGORIA,PENDIENTE,NUMETAPA,DORSAL) values ('Puerto de
Navalmoral',1521,'2',4,3,18,2);
Insert into PUERTO
(NOMPUERTO,ALTURA,CATEGORIA,PENDIENTE,NUMETAPA,DORSAL) values ('Puerto de
Pedro Bernardo',1250,'1',4,2,18,25);
Insert into PUERTO
(NOMPUERTO,ALTURA,CATEGORIA,PENDIENTE,NUMETAPA,DORSAL) values ('Sierra
Nevada',2500,'E',6,2,26);
--------------------------------------------------------
-- DDL for Index PK_CICLI
--------------------------------------------------------

CREATE UNIQUE INDEX "PK_CICLI" ON "CICLISTA" ("DORSAL")


;
--------------------------------------------------------
-- DDL for Index PK_EQUI
--------------------------------------------------------

CREATE UNIQUE INDEX "PK_EQUI" ON "EQUIPO" ("NOMEQUIPO")


;
--------------------------------------------------------
-- DDL for Index PK_ETA
--------------------------------------------------------

CREATE UNIQUE INDEX "PK_ETA" ON "ETAPA" ("NUMETAPA")


;
--------------------------------------------------------
-- DDL for Index PK_LLE
--------------------------------------------------------

CREATE UNIQUE INDEX "PK_LLE" ON "LLEVAR" ("NUMETAPA", "CODIGO")


;
--------------------------------------------------------
-- DDL for Index PK_MAI
--------------------------------------------------------

CREATE UNIQUE INDEX "PK_MAI" ON "MAILLOT" ("CODIGO")


;
--------------------------------------------------------
-- DDL for Index PK_PUERTO
--------------------------------------------------------

CREATE UNIQUE INDEX "PK_PUERTO" ON "PUERTO" ("NOMPUERTO")


;
--------------------------------------------------------
-- Constraints for Table CICLISTA
--------------------------------------------------------

ALTER TABLE "CICLISTA" ADD CONSTRAINT "PK_CICLI" PRIMARY KEY ("DORSAL")


ENABLE;

ALTER TABLE "CICLISTA" MODIFY ("DORSAL" NOT NULL ENABLE);

ALTER TABLE "CICLISTA" MODIFY ("NOMBRE" NOT NULL ENABLE);


--------------------------------------------------------
-- Constraints for Table EQUIPO
--------------------------------------------------------

ALTER TABLE "EQUIPO" ADD CONSTRAINT "PK_EQUI" PRIMARY KEY


("NOMEQUIPO") ENABLE;

ALTER TABLE "EQUIPO" MODIFY ("NOMEQUIPO" NOT NULL ENABLE);


--------------------------------------------------------
-- Constraints for Table ETAPA
--------------------------------------------------------

ALTER TABLE "ETAPA" ADD CONSTRAINT "PK_ETA" PRIMARY KEY ("NUMETAPA")


ENABLE;

ALTER TABLE "ETAPA" MODIFY ("NUMETAPA" NOT NULL ENABLE);


--------------------------------------------------------
-- Constraints for Table LLEVAR
--------------------------------------------------------

ALTER TABLE "LLEVAR" ADD CONSTRAINT "PK_LLE" PRIMARY KEY ("NUMETAPA",


"CODIGO") ENABLE;

ALTER TABLE "LLEVAR" MODIFY ("CODIGO" NOT NULL ENABLE);

ALTER TABLE "LLEVAR" MODIFY ("NUMETAPA" NOT NULL ENABLE);

ALTER TABLE "LLEVAR" MODIFY ("DORSAL" NOT NULL ENABLE);


--------------------------------------------------------
-- Constraints for Table MAILLOT
--------------------------------------------------------
ALTER TABLE "MAILLOT" ADD CONSTRAINT "PK_MAI" PRIMARY KEY ("CODIGO")
ENABLE;

ALTER TABLE "MAILLOT" MODIFY ("CODIGO" NOT NULL ENABLE);


--------------------------------------------------------
-- Constraints for Table PUERTO
--------------------------------------------------------

ALTER TABLE "PUERTO" ADD CONSTRAINT "PK_PUERTO" PRIMARY KEY


("NOMPUERTO") ENABLE;

ALTER TABLE "PUERTO" MODIFY ("NOMPUERTO" NOT NULL ENABLE);

ALTER TABLE "PUERTO" MODIFY ("NUMETAPA" NOT NULL ENABLE);


--------------------------------------------------------
-- Ref Constraints for Table CICLISTA
--------------------------------------------------------

ALTER TABLE "CICLISTA" ADD CONSTRAINT "FK_CICLI_EQUI" FOREIGN KEY


("NOMEQUIPO")
REFERENCES "EQUIPO" ("NOMEQUIPO") ENABLE;
--------------------------------------------------------
-- Ref Constraints for Table ETAPA
--------------------------------------------------------

ALTER TABLE "ETAPA" ADD CONSTRAINT "FK_ETAPA_CICLI" FOREIGN KEY


("DORSAL")
REFERENCES "CICLISTA" ("DORSAL") ENABLE;
--------------------------------------------------------
-- Ref Constraints for Table LLEVAR
--------------------------------------------------------

ALTER TABLE "LLEVAR" ADD CONSTRAINT "FK_LLEVAR_CICLI" FOREIGN KEY


("DORSAL")
REFERENCES "CICLISTA" ("DORSAL") ENABLE;

ALTER TABLE "LLEVAR" ADD CONSTRAINT "FK_LLEVAR_ETAPA" FOREIGN KEY


("NUMETAPA")
REFERENCES "ETAPA" ("NUMETAPA") ENABLE;

ALTER TABLE "LLEVAR" ADD CONSTRAINT "FK_LLEVAR_MAI" FOREIGN KEY


("CODIGO")
REFERENCES "MAILLOT" ("CODIGO") ENABLE;
--------------------------------------------------------
-- Ref Constraints for Table PUERTO
--------------------------------------------------------

ALTER TABLE "PUERTO" ADD CONSTRAINT "FK_PUERTO_CICLI" FOREIGN KEY


("DORSAL")
REFERENCES "CICLISTA" ("DORSAL") ENABLE;
ALTER TABLE "PUERTO" ADD CONSTRAINT "FK_PUERTO_ETA" FOREIGN KEY
("NUMETAPA")
REFERENCES "ETAPA" ("NUMETAPA") ENABLE;