[Pgsql-ayuda] estructuras

From: Martin Marques <martin(at)bugs(dot)unl(dot)edu(dot)ar>
To: Lista PostgreSQL Español <pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx>
Subject: [Pgsql-ayuda] estructuras
Date: 2003-12-21 00:00:46
Message-ID: 200312202100.00051.martin@bugs.unl.edu.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Una pregunta que puede dar tela, pero bueno, yo tiro la bomba. :-)

Tengo una tabla de estados (alta, baja, suspendido, etc.) la idea es que
determinadas tablas tendran estados, pero posiblemente no sean los mismos
estas de personas que de objetos, y posiblemente en el futuro se puedan
agregar otras tablas que necesitren un campo estado.

Por lo tanto lo que hice fue agregar un campo tabla/relacion que tiene la
tabla de la cual hace referencia el estado, teniendo entonces uan estructura
como esta:

estado char
descripcion varchar(50)
tabla varchar(20)
PK(estado,tabla)

La cuestion es que si en la tabla de usuarios necesito un campo estado que
haga referencia a esta tabla tendria que hacer una relacion doble, lo cual es
ridiculo (al menos a mi modo de pensar).

La otra solucion seria cambiar el PK creando un nuevo campo para que la
estructura quede asi:

codigo SERIAL PK
estado char
descripcion varchar(50)
tabla varchar(20)

y fuerzo la visualizacion a traves de vistas.

La bomba seria: Es adecuado usar siempre autoincremetales (serial) en todas
las tablas (es una costumbre que casi siempre aplico, pero esta tabla se fue
complicando sola), o a veces es mejor que si la forma de identificar cada
registro de la tabla es un varchar especifiquemos ese como PK?

Mi insertidumbre aparece porque veo que mucha gente siempre usa un campo
entero como PK, pero en algunos libros de bases de datos SQL vi que usan
mucho mas campos varchar como PK.

Sera la famosa guerra academicos vs. "real world environment"?

--
select 'mmarques' || '@' || 'unl.edu.ar' AS email;
-----------------------------------------------------------------
Martín Marqués | mmarques(at)unl(dot)edu(dot)ar
Programador, Administrador, DBA | Centro de Telemática
Universidad Nacional
del Litoral
-----------------------------------------------------------------

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message unimauro 2003-12-21 18:28:53 [Pgsql-ayuda] Log de postgresql
Previous Message nahum castro 2003-12-20 19:11:23 Re: [Pgsql-ayuda] Alguien a compilado PostgreSQL en una Mac?