Hola a todos, me gustaría que me aclararan una duda, cuando yo creo una tabla
madre y dos hijas, ejemplo:
CREATE TABLE public.persona
(
id serial,
ci character varying(11) NOT NULL,
nombre name NOT NULL,
age integer NOT NULL,
sexo_id integer NOT NULL
);
CREATE TABLE public.cliente
(
-- Inherited from table persona: id serial,
-- Inherited from table persona: ci character varying(11) NOT NULL,
-- Inherited from table persona: nombre name NOT NULL,
-- Inherited from table persona: age integer NOT NULL,
-- Inherited from table persona: sexo_id integer NOT NULL,
tipo_cliente_id integer NOT NULL
)
INHERITS (public.persona)
);
CREATE TABLE public.programador
(
-- Inherited from table persona: id serial,
-- Inherited from table persona: ci character varying(11) NOT NULL,
-- Inherited from table persona: nombre name NOT NULL,
-- Inherited from table persona: age integer NOT NULL,
-- Inherited from table persona: sexo_id integer NOT NULL,
tipo_programador_id integer NOT NULL,
vincula_laboral boolean
)
INHERITS (public.persona)
);
A) Las relaciones con otras tablas, es decir las llaves foráneas, que son
comunes las tengo que hacer:
1- Solo en la tabla madre.
2- En cada una de las tablas hijas.
3- O en las tres tablas, en la madre y ratificarla en cada hija.
B) La llave primaria la creo:
1- Las 3 tablas.
2- Solo en la madre.
3- O solo en las hijas.
C) Sería la PK de tipo serial en las 3 tablas o alguna combinación de integer
en una/unas y serial en otra/otras?
Gracias desde ya.
Saludos
-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda