Código SQL:
Ver original
CREATE TABLE persona ( idpersona serial NOT NULL, ... nombres CHARACTER VARYING(50) NOT NULL DEFAULT 's/n'::CHARACTER VARYING, apellidos CHARACTER VARYING(50) NOT NULL DEFAULT 's/a'::CHARACTER VARYING, cedula INTEGER NOT NULL DEFAULT 0, genero CHARACTER VARYING(3) NOT NULL DEFAULT 's/g'::CHARACTER VARYING, telefono CHARACTER VARYING(14) NOT NULL DEFAULT 's/t'::CHARACTER VARYING, telfemergencia CHARACTER VARYING(14) DEFAULT 's/t'::CHARACTER VARYING, correoelectronico CHARACTER VARYING(50) DEFAULT 's/c'::CHARACTER VARYING, ... )
otra guarda datos militares como el componente, grado, categoría y especialidad (saltar esto), otra guarda información sobre la resolución:
Código SQL:
Ver original
CREATE TABLE resolucion ( idresolucion serial NOT NULL, nrofecharesolucion text DEFAULT 'sin resolucion'::text, CONSTRAINT pkresolucion PRIMARY KEY (idresolucion) )
otra guarda datos como el estudio realizado:
Código SQL:
y Ver original
CREATE TABLE nucleo ( idnucleo serial NOT NULL, nucleo CHARACTER VARYING(40), CONSTRAINT pknucleo PRIMARY KEY (idnucleo) )
Código SQL:
Ver original
CREATE TABLE carrera ( idcarrera serial NOT NULL, carrera CHARACTER VARYING(50), CONSTRAINT pkcarrera PRIMARY KEY (idcarrera) )
Los datos de carrera se guardan exitosamente en
Código SQL:
Ver original
CREATE TABLE estudio ( idestudio serial NOT NULL, periodo CHARACTER VARYING(40) DEFAULT 'no estudia'::CHARACTER VARYING, idnucleo INTEGER NOT NULL, idcarrera INTEGER NOT NULL, CONSTRAINT pkestudio PRIMARY KEY (idestudio), CONSTRAINT fkestudiocarrera FOREIGN KEY (idcarrera) REFERENCES carrera (idcarrera) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT fkestudionucleo FOREIGN KEY (idnucleo) REFERENCES nucleo (idnucleo) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION )
Pero quiero guardar los datos de idpersona, idresolucion e idestudio en otra tabla ya creada:
Código SQL:
Ver original
CREATE TABLE estudiouniversitario ( idestudiopersona serial NOT NULL, idpersona INTEGER, idresolucion INTEGER NOT NULL, idestudio INTEGER NOT NULL, CONSTRAINT pkestudiopersona PRIMARY KEY (idestudiopersona), CONSTRAINT fkestudioresolucion FOREIGN KEY (idresolucion) REFERENCES resolucion (idresolucion) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT fkuniversitario FOREIGN KEY (idestudio) REFERENCES estudio (idestudio) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION )
Para luego poder hacer una consulta tipo:
Código SQL:
Ver original
SELECT estudiouniversitario.idestudiopersona, persona.idpersona, resolucion.nrofecharesolucion, nucleo.nucleo, carrera.carrera, estudio.periodo FROM estudiouniversitario, persona, resolucion, nucleo, carrera, estudio WHERE estudiouniversitario.idpersona = persona.idpersona AND estudio.idnucleo = nucleo.idnucleo AND estudio.idcarrera = carrera.idcarrera ;
Aún no sé qué genera esto, porque, los campos están vacíos Estoy que me doy golpes contra la pared... ¿Hay alguna web donde salga esta solución o quizás alguna alma caritativa que me ayude?