| From: | "ZerGY" <ZkrGY(at)ono(dot)com> | 
|---|---|
| To: | "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org> | 
| Cc: | "Juan Pablo Espino" <jp(dot)espino(at)gmail(dot)com>, <pgsql-es-ayuda(at)postgresql(dot)org> | 
| Subject: | Re: Metodos | 
| Date: | 2005-07-18 16:11:24 | 
| Message-ID: | 001601c58bb3$58cc2d70$e4047a54@casa | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-es-ayuda | 
>Cual es la
> idea?  Cual es el problema que quieres resolver?
Hola.
Miren, no estoy seguro si quizas estoy complicandome demasiado. Yo pretendo 
implementar un esquema lógico.
Imaginen el típico ejemplo de 'Profesores imparten Asignaturas'. Esto en un 
SGBDR serían simplemente dos relaciones 'unidas' por clave foranea, donde 
cada tupla sería un profesor y una asignatura respectivamente.
Bien, eso en un SGBDR, pero en un SGBDOR la forma más lógica de 
implementarlo sería crear los tipos profesor y asignatura, con sus atributos 
y sus métodos ( por ejemplo, si un atributo es fecha de nacimiento del 
profesor, un método podría ser mostrarEdad() ), vaya, tan sólo estoy 
aprovechando lo se supone que me proporciona el paradigma de la orientación 
a objetos.
Eso es lo único que pretendo, crear tipos con sus atributos y métodos. De 
hecho el estandar SQL3 lo permite, por eso me extraña que Postgres no lo 
implemente.
Del mismo modo, también he estado buscando en Postgres el tipo REF 
(referencia) y no lo encuentro (también lo contempla el estandar SQL3).
En el caso de que Postgres no implemente el tipo REF, ¿Cómo implementan 
ustedes las relaciones 1:N ? (Imaginemos que un profesor puede impartir mas 
de una asignatura). Con el tipo REF bastaría con un vector de referencias, 
pero en caso de que no esten implementadas... no se me ocurre como hacerlo 
(si la clave primaria de una asignatura es un entero, desde la relacion 
profesores, aunque cree un atributo que sea un vector de enteros (las 
asignaturas que imparte), no puedo asignarle a dicho vector la restricción 
de clave foranea).
Tengo bastantes dudas en éste sentido porque soy nuevo en Postgres. Estoy 
bastante acostumbrado a trabajar en Oracle y veo que aunque ambos sean 
SGBDOR, las cosas son bastante diferentes.
Un saludo y gracias por responder.
----- Original Message ----- 
From: "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>
To: "ZerGY" <ZkrGY(at)ono(dot)com>
Cc: "Juan Pablo Espino" <jp(dot)espino(at)gmail(dot)com>; 
<pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Monday, July 18, 2005 5:27 PM
Subject: Re: [pgsql-es-ayuda] Metodos
> On Mon, Jul 18, 2005 at 11:15:45AM -0400, Alvaro Herrera wrote:
>> On Mon, Jul 18, 2005 at 01:02:35PM +0200, ZerGY wrote:
>> > Si, cierto, fallo mio. Postgres es un SGBDOR. En cualquie caso sigo
>> > manteniendo la pregunta. Debe haber alguna manera de declarar metodos 
>> > para
>> > los tipos creados.
>>
>> No, no hay.
>
> Ah, pero se me olvido comentar que las funciones admiten sobrecarga.  No
> estoy seguro si se consigue lo que quieres en todo caso.  Cual es la
> idea?  Cual es el problema que quieres resolver?
>
> El sistema de tipos es bastante complejo y ha sufrido muchos cambios
> ultimamente; es posible que cosas que se ven funcionar con version
> actual de desarrollo no lo hacen en las versiones "para el publico".
> Aun asi, que yo sepa no se favorece demasiado el estilo OO en Postgres;
> la herencia es un tema particularmente dejado de lado (funciona, pero
> solo apenas).
>
> -- 
> Alvaro Herrera (<alvherre[a]alvh.no-ip.org>)
> "Some men are heterosexual, and some are bisexual, and some
> men don't think about sex at all... they become lawyers" (Woody Allen)
> 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Alvaro Herrera | 2005-07-18 16:36:22 | Re: Metodos | 
| Previous Message | Alvaro Herrera | 2005-07-18 15:46:36 | Re: Metodos |