MODELO RELACIONAL SCRIPT SQL: CREATE TABLE EQUIPO ( codigoequipo VARCHAR(20) NOT NULL , nombreequipo VARCHAR(20) NOT NULL , director VARCHAR(20) NOT NULL , PRIMARY KEY(codigoequipo)); CREATE TABLE CAMISETA ( codigocamiseta VARCHAR(20) NOT NULL , tipo VARCHAR(50) NOT NULL , premio VARCHAR(50) NOT NULL , color VARCHAR(50) NOT NULL , PRIMARY KEY(codigocamiseta)); CREATE TABLE CICLISTA ( codigociclista VARCHAR(20) NOT NULL , codigoequipo VARCHAR(20) NOT NULL , nombreciclista VARCHAR(20) NOT NULL , fechanacimiento DATE NOT NULL , peso INTEGER UNSIGNED NOT NULL , PRIMARY KEY(codigociclista) , INDEX CICLISTA_FKIndex1(codigoequipo), FOREIGN KEY(codigoequipo) REFERENCES EQUIPO(codigoequipo) ON DELETE RESTRICT ON UPDATE CASCADE); CREATE TABLE ETAPA ( numetapa VARCHAR(20) NOT NULL , codigociclista VARCHAR(20) NOT NULL , km INTEGER UNSIGNED NOT NULL , salida VARCHAR(20) NOT NULL , llegada VARCHAR(20) NOT NULL , PRIMARY KEY(numetapa) , INDEX ETAPA_FKIndex1(codigociclista), FOREIGN KEY(codigociclista) REFERENCES CICLISTA(codigociclista) ON DELETE RESTRICT ON UPDATE CASCADE); CREATE TABLE TRAMO ( codigotramo INTEGER UNSIGNED NOT NULL , codigociclista VARCHAR(20) NOT NULL , numetapa VARCHAR(20) NOT NULL , nombretramo VARCHAR(20) NOT NULL , altura VARCHAR(20) NOT NULL , categoria VARCHAR(50) NOT NULL , PRIMARY KEY(codigotramo) , INDEX TRAMO_FKIndex1(numetapa) , INDEX TRAMO_FKIndex2(codigociclista), FOREIGN KEY(numetapa) REFERENCES ETAPA(numetapa) ON DELETE RESTRICT ON UPDATE CASCADE, FOREIGN KEY(codigociclista) REFERENCES CICLISTA(codigociclista) ON DELETE RESTRICT ON UPDATE CASCADE); CREATE TABLE LLEVA ( ETAPA_numetapa VARCHAR(20) NOT NULL , CAMISETA_codigocamiseta VARCHAR(20) NOT NULL , CICLISTA_codigociclista VARCHAR(20) NOT NULL , INDEX LLEVA_FKIndex1(CICLISTA_codigociclista) , INDEX LLEVA_FKIndex2(CAMISETA_codigocamiseta) , INDEX LLEVA_FKIndex3(ETAPA_numetapa), FOREIGN KEY(CICLISTA_codigociclista) REFERENCES CICLISTA(codigociclista) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(CAMISETA_codigocamiseta) REFERENCES CAMISETA(codigocamiseta) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(ETAPA_numetapa) REFERENCES ETAPA(numetapa) ON DELETE NO ACTION ON UPDATE NO ACTION); TABLA CAMISETA SCRIPT: INSERT INTO `camiseta`(`codigocamiseta`, `tipo`,`premio`, `color`) VALUES ('1111','MANGA LARGA','MEDALLA DE ORO','AZUL'); INSERT INTO `camiseta`(`codigocamiseta`, `tipo`,`premio`, `color`) VALUES ('2222','MANGA LARGA','MEDALLA DE PLATA','AMARILLO'); INSERT INTO `camiseta`(`codigocamiseta`, `tipo`,`premio`, `color`) VALUES ('3333','MANGA CORTA','MEDALLA DE BRONCE','ROJO'); INSERT INTO `camiseta`(`codigocamiseta`, `tipo`,`premio`, `color`) VALUES ('4444','MANGA CORTA','MEDALLA DE PLATA','NEGRO'); INSERT INTO `camiseta`(`codigocamiseta`, `tipo`,`premio`, `color`) VALUES ('5555','MANGA LARGA','MEDALLA DE BRONCE','VERDE'); TABLA EQUIPO SCRIPT: INSERT INTO `equipo`(`codigoequipo`, `nombreequipo`, `director`) VALUES ('0001','Team MedellínEPM','CARLOS PEREZ'); INSERT INTO `equipo`(`codigoequipo`, `nombreequipo`, `director`) VALUES ('0002','Electro Hiper ','EDILBERTO MONTERROZA'); INSERT INTO `equipo`(`codigoequipo`, `nombreequipo`, `director`) VALUES ('0003','Colombia Tierra de A','JOSE MARTINEZ'); INSERT INTO `equipo`(`codigoequipo`, `nombreequipo`, `director`) VALUES ('0004','Manzana Postobón','PEDRO TORRES'); INSERT INTO `equipo`(`codigoequipo`, `nombreequipo`, `director`) VALUES ('0005','UAE Team Colombia','MARTIN PESTANA'); TABLA CICLISTA SCRIPT: INSERT INTO `ciclista`(`codigociclista`, `codigoequipo`, `nombreciclista`, `fechanacimiento`, `peso`) VALUES ('0011','0001','RIGOBERTO URAN','1990-09-11','58'); INSERT INTO `ciclista`(`codigociclista`, `codigoequipo`, `nombreciclista`, `fechanacimiento`, `peso`) VALUES ('0022','0002','EGAN BERNAL','1998-06-21','25'); INSERT INTO `ciclista`(`codigociclista`, `codigoequipo`, `nombreciclista`, `fechanacimiento`, `peso`) VALUES ('0033','0003','PABLO PICASO','2000-03-01','32'); INSERT INTO `ciclista`(`codigociclista`, `codigoequipo`, `nombreciclista`, `fechanacimiento`, `peso`) VALUES ('0044','0004','MARTIN CORNES','1908-12-19','40'); INSERT INTO `ciclista`(`codigociclista`, `codigoequipo`, `nombreciclista`, `fechanacimiento`, `peso`) VALUES ('0055','0005','EMANUEL RODRIGUEZ','1995-04-14','34'); TABLA ETAPA SCRIPT INSERT INTO `etapa`(`numetapa`, `codigociclista`, `km`, `salida`, `llegada`) VALUES ('3','0011','19','ESPAÑA','ESPAÑA'); INSERT INTO `etapa`(`numetapa`, `codigociclista`, `km`, `salida`, `llegada`) VALUES ('4','0022','36','','BARCELONA'); INSERT INTO `etapa`(`numetapa`, `codigociclista`, `km`, `salida`, `llegada`) VALUES ('5','0033','23','LIMA','LIMA'); INSERT INTO `etapa`(`numetapa`, `codigociclista`, `km`, `salida`, `llegada`) VALUES ('6','0044','22','','ARGENTINA'); INSERT INTO `etapa`(`numetapa`, `codigociclista`, `km`, `salida`, `llegada`) VALUES ('7','0055','14','ESPAÑA','ITALIA'); TABLA TRAMO INSERT INTO `tramo`(`codigotramo`, `codigociclista`, `numetapa`, `nombretramo`, `altura`, `categoria`) VALUES ('1111','0011','3','MONTAÑA','13','MEDIA MONTAÑA'); INSERT INTO `tramo`(`codigotramo`, `codigociclista`, `numetapa`, `nombretramo`, `altura`, `categoria`) VALUES ('2222','0022','4','MONTAÑA','23','PERSECUCION'); INSERT INTO `tramo`(`codigotramo`, `codigociclista`, `numetapa`, `nombretramo`, `altura`, `categoria`) VALUES ('3333','0033','5','PARAMO','73','CARRERA'); INSERT INTO `tramo`(`codigotramo`, `codigociclista`, `numetapa`, `nombretramo`, `altura`, `categoria`) VALUES ('4444','0044','6','PARAMO','39','PERSECUCION POR EQUIPO'); INSERT INTO `tramo`(`codigotramo`, `codigociclista`, `numetapa`, `nombretramo`, `altura`, `categoria`) VALUES ('5555','0055','7','MONTAÑA','36','CARRERA'); TABLA LLEVA SCRIPT INSERT INTO `lleva`(`ETAPA_numetapa`, `CAMISETA_codigocamiseta`, `CICLISTA_codigociclista`) VALUES ('3','1111','0011'); INSERT INTO `lleva`(`ETAPA_numetapa`, `CAMISETA_codigocamiseta`, `CICLISTA_codigociclista`) VALUES ('4','2222','0022'); INSERT INTO `lleva`(`ETAPA_numetapa`, `CAMISETA_codigocamiseta`, `CICLISTA_codigociclista`) VALUES ('5','3333','0033'); INSERT INTO `lleva`(`ETAPA_numetapa`, `CAMISETA_codigocamiseta`, `CICLISTA_codigociclista`) VALUES ('6','4444','0044'); INSERT INTO `lleva`(`ETAPA_numetapa`, `CAMISETA_codigocamiseta`, `CICLISTA_codigociclista`) VALUES ('7','5555','0055'); CONSULTAS Datos de las etapas que pasan por algún tramo de montaña y que tienen salida y llegada en la misma población. SELECT*FROM etapa WHERE salida = llegada;