RE: herencia y key

From: "Hibiki" <npolanco(at)uij(dot)edu(dot)cu>
To: "'Ayuda'" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: herencia y key
Date: 2017-04-10 15:39:43
Message-ID: 002001d2b210$ace47580$06ad6080$@uij.edu.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


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?

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(at)postgresql(dot)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(at)postgresql(dot)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(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Lazaro Garcia 2017-04-10 16:27:58 RE: resultado inesperado con pgbench
Previous Message Hibiki 2017-04-10 15:08:16 herencia y key