Re: Herencia?

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Victor Lopez <d01m01a2000(at)gmail(dot)com>
Cc: Arturo <arturomunive(at)gmail(dot)com>, Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com>, Postgresql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Herencia?
Date: 2007-05-09 13:01:45
Message-ID: 20070509130144.GD6563@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Victor Lopez escribió:
> Desempolvando mi OO, desde mis tiempos de C++ y ObjectPascal (Delphi),
> se me ocurre que tienes un catalogo 'documento', con todos los datos
> comunes, y dos (o mas) catálogos que heredan de este ... 'factura' y
> 'boleta' ...
>
> Nota para los que somos de este lado del Atlántico ... 'boleta'
> supongo que es nuestro 'albarán'

En Chile los dos son documentos de pago, uno de los cuales (boleta) se
extiende a un comprador anónimo, y el otro (factura) se emite a un
comprador identificado (y lleva obviamente muchos más datos). La
factura entonces puede ser usada por el comprador para propósitos
tributarios, la boleta no. Aparte de eso no hay diferencias.

Ej. si tu compras un par de botellas de vino para el almuerzo te darán
una boleta; si una empresa te contrata servicios de asesoría de Postgres
para su base de datos crítica, puede pedirte una factura y con eso
rebajar el costo de sus impuestos.

> Y donde dice 'catalogo' reemplacese por clase ... o tabla ...
>
> CREATE TABLE docs (
> ... campos comunes ...
> );
>
> CREATE TABLE facturas (
> ... campos propios ...
> )
> INHERITS docs;
>
> CREATE TABLE boletas (
> ... campos propios ...
> )
> INHERITS docs;
>
> INSERT, UPDATE y DELETE desde 'facturas' y/o 'boletas' ... no desde 'docs'
>
> Y esta idea la dejo pendiente de confirmación por quienes saben mas
> de PostgreSQL que yo.

Esto deberia funcionar, pero conviene tener en mente que algunas
cosillas como restricciones UNIQUE no funcionan en jerarquias de
herencia, y tampoco las FK.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Arturo Munive 2007-05-09 13:17:15 Re: Herencia?
Previous Message José Fermín Francisco Ferreras 2007-05-09 12:56:50 recortar nombres