Re: Restriccion CHECK

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Roberto Andrade Fonseca <randrade(at)inteligentes(dot)com(dot)mx>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Restriccion CHECK
Date: 2005-09-06 03:09:02
Message-ID: 20050906030901.GA22392@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Mon, Sep 05, 2005 at 11:52:18PM +0000, Roberto Andrade Fonseca wrote:

Hola,

> Bien, estoy reuniendo material para el curso de "Curso de Administración y
> Tuning de PostgreSQL" que daremos la próxima semana en la Ciudad de México, y
> me encontré una presentación tuya en la que hablas de los usos de las
> restricciones check.

Ugh ... algun dia hare presentaciones de verdad :-(

> Me parecio interesenta y útil el ejemplo en donde pones:
> create table personas (
> rut integer check
> (rut IS NULL = dv IS NULL),
> dv char(1)...
> );
>
> Puesto que la lámina no dice más
> (http://alvherre.atentus.cl/charlas/00-RestriccionesCheck.pdf), ¿podrías
> explicarnos como funciona la restricción
> (rut IS NULL = dv IS NULL);
> ?

Esto se basa en que una persona tiene un identificador unico que se
llama RUT. El RUT en Chile se compone de dos partes, un numero entero y
un digito verificador. La idea de esa restriccion es que si ingresas el
numero del RUT, tambien ingreses el digito verificador. (Hay otra
restriccion CHECK que se asegura que el digito verificador sea correcto
con respecto al numero.) Por otro lado, hay gente de la cual no se
conoce el RUT y sin embargo tambien quieres ingresarla; para soportar
este caso, se permite que ambos campos sean NULL.

En resumen: el campo rut es NULL si y solo si el campo dv es NULL.

Espero haber sido claro.

Suerte con el curso!

--
Alvaro Herrera -- Valdivia, Chile Architect, www.EnterpriseDB.com
"I'm always right, but sometimes I'm more right than other times."
(Linus Torvalds)

In response to

  • at 2005-09-05 23:52:18 from Roberto Andrade Fonseca

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-09-06 03:15:46 Re: Pacto
Previous Message Martín Marqués 2005-09-06 00:13:23 Pacto