On 10/04/17 12:39, Hibiki wrote:
Bueno en realidad en la tabla madre no se va a introducir nada, solo se harán 
consultas de las integrales ya sabes, de cada tabla a lo suyo y de todas en la 
madre pero las inserciones serán siempre en las hijas, entonces no nesecito 
declarar ninguna llave en la madre? O eso me afectaría las consultas generales?
según lo que describes creo que  no es necesario

saludos


Gracias


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



-
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

Responder a