Evaluación+Definitiva

code format="sql"

DROP TABLE NAVE cascade constraints; DROP TABLE TRIPULACION cascade constraints; DROP TABLE VISITA cascade constraints; DROP TABLE PLANETA cascade constraints;

CREATE TABLE NAVE ( CodigoNave	NUMBER(3), Nombre	Varchar2(20)	NOT NULL UNIQUE, Categoria	Varchar2(20)	NOT NULL, Capacidad	Number(3)	NOT NULL, CONSTRAINT PK_NAVE PRIMARY KEY (CodigoNave) );

INSERT INTO NAVE VALUES (1, 'Sirio', 'Comercial', 10); INSERT INTO NAVE VALUES (2, 'Endeavor 9', 'Militar', 20); INSERT INTO NAVE VALUES (3, 'Endeavor 12', 'Militar', 20);

CREATE TABLE TRIPULACION ( CodigoTripulacion Number(3), NombreTripulacion Varchar2(20) NOT NULL, Categoria	Varchar2(20) NOT NULL, Antiguedad	Number(3), Procedencia	Varchar2(20), SitAdm		Varchar2(20)	CHECK(SitAdm IN ('ALTA','BAJA')), CodigoNave	Number(3)	NOT NULL, CONSTRAINT PK_TRIPULACION PRIMARY KEY (CodigoTripulacion), CONSTRAINT FK_TRIPULACION_NAVE FOREIGN KEY (CodigoNave) REFERENCES NAVE );

INSERT INTO TRIPULACION VALUES (001, 'Tierra', 'Comercial', 1, 'marte','ALTA', 1); INSERT INTO TRIPULACION VALUES (002, 'Aire', 'Militar', 2, 'jupiter', 'BAJA', 2); INSERT INTO TRIPULACION VALUES (003, 'Aire', 'Militar', 5, 'jupiter', 'ALTA', 3);

CREATE TABLE PLANETA ( CodigoPlaneta	Number(3), NombrePlaneta	Varchar2(20)	NOT NULL UNIQUE, Galaxia		Varchar2(20)	NOT NULL, Coordenadas	Number(5,4)	NOT NULL UNIQUE, CONSTRAINT PK_PLANETA PRIMARY KEY (CodigoPlaneta) );

INSERT INTO PLANETA VALUES (111, 'Marte', 'Espiral', 1.2); INSERT INTO PLANETA VALUES (222, 'Jupiter', 'Eliptica', 1.3);

CREATE TABLE VISITA ( CodigoTripulacion	Number(3), NombrePlaneta		Varchar2(20), FechaVisita	DATE, Tiempo		VARCHAR2(20)	NOT NULL, CONSTRAINT PK_VISITA PRIMARY KEY (CodigoTripulacion, NombrePlaneta, FechaVisita), CONSTRAINT FK_VISITA_TRIPULACION FOREIGN KEY (CodigoTripulacion) REFERENCES TRIPULACION, CONSTRAINT FK_VISITA_PLANETA FOREIGN KEY (NombrePlaneta) REFERENCES PLANETA (NombrePlaneta) );

INSERT INTO VISITA VALUES (001, 'Marte', '12/4/2145', 'Bueno'); INSERT INTO VISITA VALUES (002, 'Jupiter', '10/2/2145', 'Nublado');

code