Re: Domino de Datos

Lists: pgsql-es-ayuda
From: "Gustavo Garay" <chauria(at)gmail(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Domino de Datos
Date: 2006-10-26 15:08:51
Message-ID: 00d001c6f910$a89d4570$6500a8c0@rectorado.une.edu.py
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Que tal Users de PostgreSQL

Un dominio definido como tipo de dato numeric (5,2), se puede alterar el
tamaño de datos.
Estaba mirando en el manual y no habla de que se puede alterar el tipo de
datos y sus tamaños

Este ejemplo que trae el manual , que exactamente lo que esta validando,
alguien tendria un ejemplo de datos validos para cargar en esta tabla el
campo postal

CREATE DOMAIN us_postal_code AS TEXT
CHECK(
VALUE ~ '^\d{5}$'
OR VALUE ~ '^\d{5}-\d{4}$'
);

CREATE TABLE us_snail_addy (
address_id SERIAL NOT NULL PRIMARY KEY
, street1 TEXT NOT NULL
, street2 TEXT
, street3 TEXT
, city TEXT NOT NULL
, postal us_postal_code NOT NULL
);

Gustavo Garay


From: Victor Lopez <v(dot)lopez(dot)s(at)ono(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Domino de Datos
Date: 2006-10-26 15:29:21
Message-ID: 200610261729.21818.v.lopez.s@ono.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

El Jueves, 26 de Octubre de 2006 17:08, GG nos dijo ...:
> Que tal Users de PostgreSQL
>
> Un dominio definido como tipo de dato numeric (5,2), se puede alterar el
> tamaño de datos.

numeric? un dominio?

> Este ejemplo que trae el manual , que exactamente lo que esta validando,
> alguien tendria un ejemplo de datos validos para cargar en esta tabla el
> campo postal
>
> CREATE DOMAIN us_postal_code AS TEXT
> CHECK(
> VALUE ~ '^\d{5}$'
> OR VALUE ~ '^\d{5}-\d{4}$'
> );

Exactamente valida el código postal tal y como se define en EEUU

Y supongo que lo que quieres es algo así ...

CREATE DOMAIN dominio AS TEXT
CHECK (VALUE ~ '([a-zA-Z0-9]+\.)*[a-zA-Z0-9]+\.[a-zA-Z]{2,4}');

O dicho al revés ...
-desde 'es' hasta 'info'
-con un punto delante '\.' para separar ese nivel
-con una combinación alfanumérica '[a-zA-Z0-9]' de longitud mínima de un
carácter '[...]+'
-y una serie indefinida '(..)*' de veces de un numero indefinido de caracteres
alfanuméricos, seguidos de un punto de separación

algunos ejemplos (si no me he equivocado en la expresión regular):

a.es
k.com
7.info
c6tg6g6.es
ny7t6.com
gflvgf.info
tftft.h.es
gvfut.co.es
fydy.ghcrdr.yg66rf5rd.hg6fd3rb.jvh5g.es !!!

--
----o---( )---o----
Saludos de Victor Lopez Sabio
v(dot)lopez(dot)s(at)ono(dot)com
--------oooo--------


From: "Pedro Mateo" <pedromateoa(at)gmail(dot)com>
To: "Victor Lopez" <v(dot)lopez(dot)s(at)ono(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Domino de Datos
Date: 2006-10-30 17:16:09
Message-ID: c245e4540610300916r47a337b7g818d3a33647ed804@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

ya que estan hablando de dominios
me podria decir que es
y darme un ejemplo de su aplicacion

El día 26/10/06, Victor Lopez <v(dot)lopez(dot)s(at)ono(dot)com> escribió:
>
> El Jueves, 26 de Octubre de 2006 17:08, GG nos dijo ...:
> > Que tal Users de PostgreSQL
> >
> > Un dominio definido como tipo de dato numeric (5,2), se puede alterar
> el
> > tamaño de datos.
>
> numeric? un dominio?
>
> > Este ejemplo que trae el manual , que exactamente lo que esta validando,
> > alguien tendria un ejemplo de datos validos para cargar en esta tabla el
> > campo postal
> >
> > CREATE DOMAIN us_postal_code AS TEXT
> > CHECK(
> > VALUE ~ '^\d{5}$'
> > OR VALUE ~ '^\d{5}-\d{4}$'
> > );
>
> Exactamente valida el código postal tal y como se define en EEUU
>
> Y supongo que lo que quieres es algo así ...
>
> CREATE DOMAIN dominio AS TEXT
> CHECK (VALUE ~ '([a-zA-Z0-9]+\.)*[a-zA-Z0-9]+\.[a-zA-Z]{2,4}');
>
> O dicho al revés ...
> -desde 'es' hasta 'info'
> -con un punto delante '\.' para separar ese nivel
> -con una combinación alfanumérica '[a-zA-Z0-9]' de longitud mínima de un
> carácter '[...]+'
> -y una serie indefinida '(..)*' de veces de un numero indefinido de
> caracteres
> alfanuméricos, seguidos de un punto de separación
>
> algunos ejemplos (si no me he equivocado en la expresión regular):
>
> a.es
> k.com
> 7.info
> c6tg6g6.es
> ny7t6.com
> gflvgf.info
> tftft.h.es
> gvfut.co.es
> fydy.ghcrdr.yg66rf5rd.hg6fd3rb.jvh5g.es !!!
>
> --
> ----o---( )---o----
> Saludos de Victor Lopez Sabio
> v(dot)lopez(dot)s(at)ono(dot)com
> --------oooo--------
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 9: el optimizador ignorará el uso de recorridos de índice si los
> tipos de datos de las columnas no coinciden
>


From: Victor Lopez <v(dot)lopez(dot)s(at)ono(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Domino de Datos
Date: 2006-11-10 21:46:08
Message-ID: 200611102246.08813.v.lopez.s@ono.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

El Lunes, 30 de Octubre de 2006 18:16, PM nos dijo ...:
> ya que estan hablando de dominios
> me podria decir que es
> y darme un ejemplo de su aplicacion
>

A ver si me se explicar y soy concreto ...

Un dominio viene a ser como una entrada en un agenda.

Tienes marcado 'manolo', pero en realidad el teléfono marca un número que,
previamente, le has dicho que equivale a 'manolo'.

De la misma manera tu puedes teclear 'www.unsitio.ru', el navegador le
pregunta a una agenda enorme (el DNS) a que corresponde 'www.unsitio.ru'. El
te contesta (por ejemplo) que tiene por IP '68.201.48.102'. Entonces tu
navegador llama a esa IP.

> El día 26/10/06, Victor Lopez <v(dot)lopez(dot)s(at)ono(dot)com> escribió:
> >
> > El Jueves, 26 de Octubre de 2006 17:08, GG nos dijo ...:
> > > Que tal Users de PostgreSQL
> > >
> > > Un dominio definido como tipo de dato numeric (5,2), se puede alterar
> > el
> > > tamaño de datos.
> >
> > numeric? un dominio?
> >
> > > Este ejemplo que trae el manual , que exactamente lo que esta validando,
> > > alguien tendria un ejemplo de datos validos para cargar en esta tabla el
> > > campo postal
> > >
> > > CREATE DOMAIN us_postal_code AS TEXT
> > > CHECK(
> > > VALUE ~ '^\d{5}$'
> > > OR VALUE ~ '^\d{5}-\d{4}$'
> > > );
> >
> > Exactamente valida el código postal tal y como se define en EEUU
> >
> > Y supongo que lo que quieres es algo así ...
> >
> > CREATE DOMAIN dominio AS TEXT
> > CHECK (VALUE ~ '([a-zA-Z0-9]+\.)*[a-zA-Z0-9]+\.[a-zA-Z]{2,4}');
> >
> > O dicho al revés ...
> > -desde 'es' hasta 'info'
> > -con un punto delante '\.' para separar ese nivel
> > -con una combinación alfanumérica '[a-zA-Z0-9]' de longitud mínima de un
> > carácter '[...]+'
> > -y una serie indefinida '(..)*' de veces de un numero indefinido de
> > caracteres
> > alfanuméricos, seguidos de un punto de separación
> >
> > algunos ejemplos (si no me he equivocado en la expresión regular):
> >
> > a.es
> > k.com
> > 7.info
> > c6tg6g6.es
> > ny7t6.com
> > gflvgf.info
> > tftft.h.es
> > gvfut.co.es
> > fydy.ghcrdr.yg66rf5rd.hg6fd3rb.jvh5g.es !!!
> >
> > --
> > ----o---( )---o----
> > Saludos de Victor Lopez Sabio
> > v(dot)lopez(dot)s(at)ono(dot)com
> > --------oooo--------
> >
> > ---------------------------(fin del mensaje)---------------------------
> > TIP 9: el optimizador ignorará el uso de recorridos de índice si los
> > tipos de datos de las columnas no coinciden
> >
>

--
----o---( )---o----
Saludos de Victor Lopez Sabio
v(dot)lopez(dot)s(at)ono(dot)com
--------oooo--------


From: "Javier Aquino H(dot)" <JAquino(at)LexusEditores(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Domino de Datos
Date: 2006-11-10 21:59:05
Message-ID: 001e01c70513$72fe89b0$0a010a0a@javier
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

La explicación es buena, pero creo que no se referían a ese tipo de dominio.

----- Original Message -----
From: "Victor Lopez" <v(dot)lopez(dot)s(at)ono(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Friday, November 10, 2006 4:46 PM
Subject: Re: [pgsql-es-ayuda] Domino de Datos

> El Lunes, 30 de Octubre de 2006 18:16, PM nos dijo ...:
>> ya que estan hablando de dominios
>> me podria decir que es
>> y darme un ejemplo de su aplicacion
>>
>
> A ver si me se explicar y soy concreto ...
>
> Un dominio viene a ser como una entrada en un agenda.
>
> Tienes marcado 'manolo', pero en realidad el teléfono marca un número que,
> previamente, le has dicho que equivale a 'manolo'.
>
> De la misma manera tu puedes teclear 'www.unsitio.ru', el navegador le
> pregunta a una agenda enorme (el DNS) a que corresponde 'www.unsitio.ru'.
> El
> te contesta (por ejemplo) que tiene por IP '68.201.48.102'. Entonces tu
> navegador llama a esa IP.
>
>> El día 26/10/06, Victor Lopez <v(dot)lopez(dot)s(at)ono(dot)com> escribió:
>> >
>> > El Jueves, 26 de Octubre de 2006 17:08, GG nos dijo ...:
>> > > Que tal Users de PostgreSQL
>> > >
>> > > Un dominio definido como tipo de dato numeric (5,2), se puede
>> > > alterar
>> > el
>> > > tamaño de datos.
>> >
>> > numeric? un dominio?
>> >
>> > > Este ejemplo que trae el manual , que exactamente lo que esta
>> > > validando,
>> > > alguien tendria un ejemplo de datos validos para cargar en esta tabla
>> > > el
>> > > campo postal
>> > >
>> > > CREATE DOMAIN us_postal_code AS TEXT
>> > > CHECK(
>> > > VALUE ~ '^\d{5}$'
>> > > OR VALUE ~ '^\d{5}-\d{4}$'
>> > > );
>> >
>> > Exactamente valida el código postal tal y como se define en EEUU
>> >
>> > Y supongo que lo que quieres es algo así ...
>> >
>> > CREATE DOMAIN dominio AS TEXT
>> > CHECK (VALUE ~ '([a-zA-Z0-9]+\.)*[a-zA-Z0-9]+\.[a-zA-Z]{2,4}');
>> >
>> > O dicho al revés ...
>> > -desde 'es' hasta 'info'
>> > -con un punto delante '\.' para separar ese nivel
>> > -con una combinación alfanumérica '[a-zA-Z0-9]' de longitud mínima de
>> > un
>> > carácter '[...]+'
>> > -y una serie indefinida '(..)*' de veces de un numero indefinido de
>> > caracteres
>> > alfanuméricos, seguidos de un punto de separación
>> >
>> > algunos ejemplos (si no me he equivocado en la expresión regular):
>> >
>> > a.es
>> > k.com
>> > 7.info
>> > c6tg6g6.es
>> > ny7t6.com
>> > gflvgf.info
>> > tftft.h.es
>> > gvfut.co.es
>> > fydy.ghcrdr.yg66rf5rd.hg6fd3rb.jvh5g.es !!!
>> >
>> > --
>> > ----o---( )---o----
>> > Saludos de Victor Lopez Sabio
>> > v(dot)lopez(dot)s(at)ono(dot)com
>> > --------oooo--------
>> >
>> > ---------------------------(fin del mensaje)---------------------------
>> > TIP 9: el optimizador ignorará el uso de recorridos de índice si los
>> > tipos de datos de las columnas no coinciden
>> >
>>
>
> --
> ----o---( )---o----
> Saludos de Victor Lopez Sabio
> v(dot)lopez(dot)s(at)ono(dot)com
> --------oooo--------
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 2: puedes desuscribirte de todas las listas simultneamente
> (enve "unregister TuDireccinDeCorreo" a majordomo(at)postgresql(dot)org)
>


From: Victor Lopez <v(dot)lopez(dot)s(at)ono(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Domino de Datos
Date: 2006-11-18 22:28:16
Message-ID: 200611182328.17004.v.lopez.s@ono.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

El Viernes, 10 de Noviembre de 2006 22:59, JA nos dijo ...:
> La explicación es buena, pero creo que no se referían a ese tipo de dominio.

Ahora que me estaba luciendo!!!!!! ... :-)

Usease que no es 'dominio' .... es 'dominio' (domain) ...

Un dominio no se puede cambiar, una vez que es usado por algún dato.

Imagina que un dominio es utilizado por .... ¿100 entradas de datos?

Imagina que ese dominio lo cambiamos ... tenemos 100 entradas de datos
inconsistentes, aunque se tenga previsto actualizarlas despues.

Se me ocurre una manera un tanto complicada de hacerlo.

1 - Se crea un nuevo dominio con la nueva definición.
2 - Se crea una nueva columna con el nuevo dominio.
3 - Se actualizan los datos, pasandolos de una columna a otra, cambiandolos
adecuadamente.
4 - Si estaba previsto algún NOT NULL en la nueva ... este (y no antes) es el
momento de añadirlo. (opcional)
5 - Por si acaso, se quita un posible NOT NULL en la anterior columna y se
borran los datos de esa columna. (opcional)
6 - Se elimina esa columna y .... THE END

--
----o---( )---o----
Saludos de Victor Lopez Sabio
v(dot)lopez(dot)s(at)ono(dot)com
--------oooo--------