Subido por Jose Mendoza

PARCIAL BASE DE DATOS

Anuncio
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;
Descargar