From: | Martin Marques <martin(at)bugs(dot)unl(dot)edu(dot)ar> |
---|---|
To: | Marcelo Retamal <mretamal(at)cmet(dot)net> |
Cc: | Lista Postgres <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Problema con Entidad Relación |
Date: | 2006-08-26 13:36:03 |
Message-ID: | Pine.LNX.4.64.0608260752080.26034@bugs.unl.edu.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Fri, 25 Aug 2006, Marcelo Retamal wrote:
> Hola Lista, tengo un problema: aca en la of, tenemos una discución por una diseño entidad relación, un compañero propuso un diseño medio descabellado y para mal de nosotros lo llevó a la base postgres y lo agüantó. Etas son las tablas:
> stelevision(
> contrato,
> servicio,
> registro,
> sucursal,
> etc...,
> llave primaria (contrato,servicio,registro,sucursal)
> );
>
> valor_paquete [que es una relación](
> sucursal [referencia de la tabla sucursal],
> servicio [que es el mismo campo que está arriba y llave foranea de la tabla servicio],
> paquete [referencia de la tabla paquete],
> etc...,
> llave primaria (sucursal,servicio,paquete)
> );
>
> rvalor_paquete_stelevision(
> contrato,
> servicio,
> registro,
> sucursal
> paquete,
> llave primaria (contrato,servicio,registro,sucursal,paquete)
> );
> constraint_1 (contrato,servicio,registro,sucursal) referenciado de stelevision (contrato,servicio,registro,sucursal);
> constraint_2(sucursal,servicio,paquete) referenciado de valor_paquete (contrato,servicio,registro,sucursal,paquete);
> Nota: el DELETE está en restrict y el Update está en cascade.
A mi en lo personal no me gusta para nada este tipo de referencias, porque
generan redundancia, y muchas veces son campos de texto, lo cual es mas
dificil de unir por el motor (ni que hablar de como te van a quedar las
consultas con un JOIN sobre 4 campos :-)).
Para mi, en la practica lo mejor es tener en cada tabla un campo SERIAL
que sea PRIMARY KEY. Si despues hay otra llave primaria, la definis como
se definen en SQL: UNIQUE, NOT NULL, y le pones un indice.
--
21:50:04 up 2 days, 9:07, 0 users, load average: 0.92, 0.37, 0.18
---------------------------------------------------------
Lic. Martín Marqués | SELECT 'mmarques' ||
Centro de Telemática | '@' || 'unl.edu.ar';
Universidad Nacional | DBA, Programador,
del Litoral | Administrador
---------------------------------------------------------
From | Date | Subject | |
---|---|---|---|
Next Message | Fernando Aguada | 2006-08-26 13:49:38 | FUERA DE TOPICO - DILEMA PRACTICO |
Previous Message | Linder Poclaba | 2006-08-26 00:03:39 | Re: Error de Conceptos setof |