FOREIGN KEY
Publicado por zendi (132 intervenciones) el 03/05/2015 23:49:14
Buenas tardes a todos. Tengo estas 2 tablas la de citas y la de pacientes
por favor necesito que me ayuden a ver si esta bien la relacion FOREIGN KEY con ambas, y si es necesario añadir algunos campos mas a la tabla citas. La relacion es de uno a muchos; es decir un paciente con muchas citas.
Cometi un error de diseño ya que debí haber creado la tabla citas cuando creé las demas tablas.
Y si debo crear el campo cedula en citas?
y disculpen la insistencia.
por favor necesito que me ayuden a ver si esta bien la relacion FOREIGN KEY con ambas, y si es necesario añadir algunos campos mas a la tabla citas. La relacion es de uno a muchos; es decir un paciente con muchas citas.
Cometi un error de diseño ya que debí haber creado la tabla citas cuando creé las demas tablas.
Y si debo crear el campo cedula en citas?
y disculpen la insistencia.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
CREATE TABLE citas
(
id_cita serial NOT NULL,
cedula integer,
observacion text,
CONSTRAINT citas_pkey PRIMARY KEY (id_cita),
CONSTRAINT citas_id_cita_fkey FOREIGN KEY (id_cita)
REFERENCES citas (id_cita) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
CREATE TABLE pacientes
(
cedula integer NOT NULL,
nrohistoria numeric NOT NULL,
id_paciente serial NOT NULL,
nombres character varying NOT NULL,
apellidos character varying NOT NULL,
direccion text,
telefono integer,
fecha_nac date NOT NULL,
cod_sanguineo integer,
cod_sexo integer,
cta_correo text,
id_cita integer,
CONSTRAINT paciente_pkey PRIMARY KEY (id_paciente),
CONSTRAINT paciente_cod_sanguineo_fkey FOREIGN KEY (cod_sanguineo)
REFERENCES gsanguineo (codigo) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
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 pacientes OWNER TO postgres;
Valora esta pregunta


0