Re: Actualizacion en Cascada de llave primaria

From: Javier Chavez Barra <jchavezb(at)gmail(dot)com>
To: Martin Marques <martin(at)marquesminen(dot)com(dot)ar>
Cc: postgresayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Actualizacion en Cascada de llave primaria
Date: 2007-11-10 12:03:35
Message-ID: 47359E17.6010208@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Martin Marques escribió:
> Sebastián Villalba escribió:
>> On Fri, 9 Nov 2007 15:12:54 -0800 (PST), WILLIAM PARRA wrote
>>> Buenas tardes compañeros.
>>
>> Hola William...
>>
>>> Necesito que por favor me den luces, de como resolver de la mejor
>>> manera la siguiente situación: Debo actualizar un registro, más
>>> exactamente el documento de una persona, el cual es la llave
>>> primaria de una tabla de inscritos. Esa tabla, tiene registros
>>> relacionados en tablas hija.
>>
>> Es una mala idea de diseño que un documento sea una llave primaria.
>> Pueden
>> haber muchos tipos de documentos, algunos incluir letras inclusive,
>> por lo
>> tanto, creo que lo mejor sería alterar la tabla agregándole un campo
>> serial,
>> que sea éste la clave primaria y el documento quizás una clave
>> "candidata"
>> (así se les llama no?).
>
> Definí llave primaria y vas a ver que la llave primaria de una persona
> en Argentina (de donde somos nosotros) es la 3-tupla
> (tipo-doc,numero,sexo) (la ultima es justamente para evitar esa letra
> que decis que a veces aparece).
>
> Igualmente, yo a todas las tablas le pongo un campo SERIAL (con nombre
> de campo unificado en todas las tablas) para usar de PK. Imaginate que
> sino seria complicado atar una tabla a otra que tiene una PK formada por
> 3 columnas.
>
> Simplemente, mis 2 centavos.
>
> --
> TIP 8: explain analyze es tu amigo
>
Pregunta aparte , dentro de esto mismo ... :o) entiendo que un campo
serial es un campo autoincrementable verdad???? diganme una cosa como se
comportan esos campos en PG porque yo por norma siempre prefiero
calcular el valor del campo cuando es una clave primaria porque me han
pasado tallas en sqlserver al menos que esos campos a veces se corrompen
y uffff me dio muuucho trabajo arreglar esas tablas especialmente cuando
tienen muuuchos registros.. lo otro siempre por ejemplo en un campo como
el DNI o RUT en chile dejo la clave con otro campo porque imaginense lo
que significaria si alguien se equivoca al ingresa uno de esos datos y
modificar una clave primaria... ufff... no se es solo para compartir
experiencias... que me pueden decir???
Slds.
Javier

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Martin Marques 2007-11-10 12:20:04 Re: Actualizacion en Cascada de llave primaria
Previous Message Martin Marques 2007-11-10 11:51:43 Re: Actualizacion en Cascada de llave primaria