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 (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a