Hola, te comento entre lineas algunas cosas ,pero dependerá un poco del
nivel de exclusividad que tengas en la relacion de la herencia
On 10/04/17 12:08, Hibiki wrote:
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.
si la tabla madre esta vacía, es suficiente tener las FK en las
hijas, si no estas seguro que tu tabla madre esta vacía, vas a tener que
declarar las FK en las 3
B) La llave primaria la creo:
1- Las 3 tablas.
2- Solo en la madre.
3- O solo en las hijas.
idem a lo anterior
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?
a tu necesidad o gusto
Gracias desde ya.
Saludos
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda