relacion de campos en tablas
Publicado por zendi (132 intervenciones) el 19/02/2015 02:17:56
Que tal a todos.
Tengo dos tablas las cuales necesito relacionar.
Pero por cuales campos debo relacionarlas? aunque ya tengo las relaciones no se si esta correcto.
para pacientes estan los campos nrohistoria e id_paciente, para consulta estan los campos id_consulta, nrohistoria e id_paciente
por favor ayudenme en esta relacion de tablas.
esta es la tabla de pacientes:
CREATE TABLE paciente
(
nrohistoria numeric NOT NULL,
nombres text NOT NULL,
apellidos text NOT NULL,
direccion text,
telefono numeric,
fecha_nac date NOT NULL,
id_paciente serial NOT NULL,
cod_sanguineo integer,
cod_sexo integer,
cta_correo text,
CONSTRAINT paciente_pkey PRIMARY KEY (id_paciente),
CONSTRAINT paciente_cod_sanguineo_fkey FOREIGN KEY (cod_sanguineo)
REFERENCES gsanguineo (codigo) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT paciente_cod_sexo_fkey FOREIGN KEY (cod_sexo)
REFERENCES sexo (codigo) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT paciente_nrohistoria_key UNIQUE (nrohistoria)
)
WITHOUT OIDS;
ALTER TABLE paciente OWNER TO postgres;
y esta es la de consulta:
CREATE TABLE consulta
(
id_consulta serial NOT NULL,
nrohistoria numeric NOT NULL,
fecha date NOT NULL,
id_paciente serial NOT NULL,
peso numeric(5,2),
talla numeric(5,2),
circunfcefalica numeric(5,2),
circunfbrazo numeric(5,2),
cod_hcm integer,
observacion text,
meses numeric,
anios numeric,
hepatitisa numeric,
hepatitisb numeric,
polio numeric,
fiebreamarilla numeric,
difteriatetanos numeric,
varicela numeric,
meningitis numeric,
haemophilusinfluenza numeric,
sarampion numeric,
rubeola numeric,
parotiditis numeric,
vph numeric,
rotavirus numeric,
tuberculosis numeric,
CONSTRAINT consulta_pkey PRIMARY KEY (id_consulta),
CONSTRAINT consulta_cod_hcm_fkey FOREIGN KEY (cod_hcm)
REFERENCES hcm (codigo) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT consulta_id_paciente_fkey FOREIGN KEY (id_paciente)
REFERENCES paciente (id_paciente) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE RESTRICT
)
Tengo dos tablas las cuales necesito relacionar.
Pero por cuales campos debo relacionarlas? aunque ya tengo las relaciones no se si esta correcto.
para pacientes estan los campos nrohistoria e id_paciente, para consulta estan los campos id_consulta, nrohistoria e id_paciente
por favor ayudenme en esta relacion de tablas.
esta es la tabla de pacientes:
CREATE TABLE paciente
(
nrohistoria numeric NOT NULL,
nombres text NOT NULL,
apellidos text NOT NULL,
direccion text,
telefono numeric,
fecha_nac date NOT NULL,
id_paciente serial NOT NULL,
cod_sanguineo integer,
cod_sexo integer,
cta_correo text,
CONSTRAINT paciente_pkey PRIMARY KEY (id_paciente),
CONSTRAINT paciente_cod_sanguineo_fkey FOREIGN KEY (cod_sanguineo)
REFERENCES gsanguineo (codigo) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT paciente_cod_sexo_fkey FOREIGN KEY (cod_sexo)
REFERENCES sexo (codigo) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT paciente_nrohistoria_key UNIQUE (nrohistoria)
)
WITHOUT OIDS;
ALTER TABLE paciente OWNER TO postgres;
y esta es la de consulta:
CREATE TABLE consulta
(
id_consulta serial NOT NULL,
nrohistoria numeric NOT NULL,
fecha date NOT NULL,
id_paciente serial NOT NULL,
peso numeric(5,2),
talla numeric(5,2),
circunfcefalica numeric(5,2),
circunfbrazo numeric(5,2),
cod_hcm integer,
observacion text,
meses numeric,
anios numeric,
hepatitisa numeric,
hepatitisb numeric,
polio numeric,
fiebreamarilla numeric,
difteriatetanos numeric,
varicela numeric,
meningitis numeric,
haemophilusinfluenza numeric,
sarampion numeric,
rubeola numeric,
parotiditis numeric,
vph numeric,
rotavirus numeric,
tuberculosis numeric,
CONSTRAINT consulta_pkey PRIMARY KEY (id_consulta),
CONSTRAINT consulta_cod_hcm_fkey FOREIGN KEY (cod_hcm)
REFERENCES hcm (codigo) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT consulta_id_paciente_fkey FOREIGN KEY (id_paciente)
REFERENCES paciente (id_paciente) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE RESTRICT
)
Valora esta pregunta


0