Re: CRUD psql

From: Alejandro Carrillo <fasterzip(at)yahoo(dot)es>
To: CarloS Sing Ramos <carlossing(at)gmail(dot)com>, Anthony <asotolongo(at)uci(dot)cu>, Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: CRUD psql
Date: 2012-05-16 19:56:20
Message-ID: 1337198180.96966.YahooMailNeo@web171006.mail.ukl.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Reenvio email de respuesta a Anthony. Son buenas prácticas que he visto a lo largo de aprender con varios grupos de desarrolladores.

----- Mensaje reenviado -----
De: Alejandro Carrillo <fasterzip(at)yahoo(dot)es>
Para: Anthony <asotolongo(at)uci(dot)cu>
Enviado: Lunes 5 de marzo de 2012 23:50
Asunto: Re: CRUD-PG ++(prueba)
Hola,

Por alguna razon en la empresa no me funcionó, pero en la casa si.
Lo revisé ejecutando para una tabla las 7 functions y la verdad estas
functions dejan un fuerte agujero de seguridad y no restringen al
usuario de estas functions a hacer solo las tareas para las cuales están destinadas. Mira, yo antes también tenia ese concepto de hacer codigo
que fuese generico, pero luego entendí que ese codigo no es lo mejor por seguridad (puedes hacer inyeccion sql es decir ejecutar codigo sql de
tal forma que incluso los usuarios de la aplicacion final puedan saber
la estructura de las tablas y insertar datos en ellas) y porque se
desvirtua lo que hace la function, su objetivo para lo cual fue
diseñada, de tal forma que limite al usuario de la bd a obtener la información que necesita.

Otra buena tecnica que se usa es colocar los functions en un esquema
distinto al esquema donde estan las tablas y darle permisos de public
solo al esquema donde estan las functions. Asi los usuarios de la BD
solo acceden a través de las functions de ese esquema y no a las tablas, pudiendo asi regular cosas como borrado logico, eventos en
actualizaciones, que los usuarios no puedan consultar a las tablas que
se les dé la gana e insertar como se les dé la gana, por ultimo sirve
para tener la lógica de negocio y las reglas de negocio en la BD
permitiendo que varios lenguajes se puedan conectar a los datos sin
problemas y puedan intercambiar informacion entre ellos permitiendo
interoperatividad.

Acá tienes el generador de functions para pgplsql que he diseñado a partir de otro proyecto que ya estaba para morir: http://sourceforge.net/projects/genfuncpostgres/?source=directory

Si te interesa puedes hacer el front en java para las functions que
generan los codigos o contribuir al codigo para añadirle/repararle cosas (digamos que dentro del TODO -lista de tareas por hacer- puedes
colocarle para que consulte y actualice solo por llaves foraneas/indices de la tabla). Como podrás ver, no necesita ser totalmente generico para darle un toque de dinamismo, ya que el select permite consultar por
cero o varios campos a la vez y a su vez consultar por la llave.

Estas cosas que te he dicho no son para mal, al contrario son para hacerte ver mejor las cosas.
Bueno, ya es tarde(23:50), hasta mañana.

________________________________
De: Anthony <asotolongo(at)uci(dot)cu>
Para: Alejandro Carrillo <fasterzip(at)yahoo(dot)es>
Enviado: Lunes 5 de marzo de 2012 16:30
Asunto: Re: CRUD-PG ++(prueba)

El 05/03/2012 13:24, Alejandro Carrillo escribió:
> tar usando los parametros correctos.
Que
raro esta eso , aqui a mi si me deja, la única vez que tuve problemas
con el jdbc fue para un servidor que no fuera localhost(pero di con el
problema), voy a seguir probando acá a ver si me sale el problema de
usted, gracias por tomarse la
molestia.
saludos

Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU!
http://www.antiterroristas.cu
http://justiciaparaloscinco.wordpress.com

>________________________________
> De: CarloS Sing Ramos <carlossing(at)gmail(dot)com>
>Para: Anthony <asotolongo(at)uci(dot)cu>; Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
>Enviado: Miércoles 16 de Mayo de 2012 14:06
>Asunto: Re: [pgsql-es-ayuda] CRUD psql
>
>
>jejeje, bueno creo que me explique mal jejeje, me podrian indicar las mejores practicas.
>
>
>
>El 16 de mayo de 2012 14:02, Anthony <asotolongo(at)uci(dot)cu> escribió:
>
>
>>El 16/05/2012 13:51, CarloS Sing Ramos escribió:
>>jeje como se llamaba el tema?? o si alguien recuerda por
favor ke lo postee xD
>>>
>>>
>>>El 16 de mayo de 2012 12:48, Alejandro
Carrillo <fasterzip(at)yahoo(dot)es> escribió:
>>>
>>>ahh ya recuerdo... y recuerdo también que hablábamos de
este tema de mejores prácticas para crud.
>>>>
>>>>
>>>>
>>>>
>>>>>________________________________
>>>>> De: Anthony <asotolongo(at)uci(dot)cu>
>>>>>Para: Alejandro
Carrillo <fasterzip(at)yahoo(dot)es>
>>>>>CC: CarloS Sing
Ramos <carlossing(at)gmail(dot)com>; Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
>>>>>Enviado: Miércoles
16 de Mayo de 2012 12:42
>>>>>
>>>>>Asunto: Re:
[pgsql-es-ayuda] CRUD psql
>>>>>
>>>>>
>>>>>
>>>>>El 16/05/2012 12:49, Alejandro Carrillo escribió:
>>>>>yo la bajé pero no descomprime nada. Por favor
revisa el
archivo. Tambien puedes usar cualquier generador de CRUD para GUIARTE
UN POCO:
>>>>>>
>>>>>>http://sourceforge.net/projects/genfuncpostgres/files/
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>>________________________________
>>>>>>> De: Anthony <asotolongo(at)uci(dot)cu>
>>>>>>>Para: CarloS
Sing
Ramos <carlossing(at)gmail(dot)com>
>>>>>>>CC: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
>>>>>>>Enviado: Miércoles
16 de Mayo de 2012 11:44
>>>>>>>Asunto: Re:
[pgsql-es-ayuda] CRUD psql
>>>>>>>
>>>>>>>El 16/05/2012 10:52, CarloS Sing Ramos escribió:
>>>>>>>> Buenas amigos de la lista, quisiera pedirles un favor, sobre cual
seria la forma correcta  de como hacer CRUD (Create, Read, Update,
Delete) en pg, ya que me preocupa que estee realizando el crud de
manera incorrecta.
>>>>>>>> Gracias, por su atencion.
>>>>>>>>
>>>>>>>> -- Salu2
>>>>>>>> Linux Register User  #525697
>>>>>>>> --==[[Carlos Sing]]==--
>>>>>>>por acá tenemos una herramienta en fase de prueba que hace algo de lo
que deseas(http://postgresql.uci.cu/sites/default/files/Aplicacion_CRUD-PG-prueba.tar_.bz2), de
todos modos si te es útil , podemos enviarte el cuasi-release de la
misma.
>>>>>>>saludos
>>>>>>>
>>>>>>>10mo. ANIVERSARIO DE LA CREACION DE LA UNIVERSIDAD DE LAS CIENCIAS
INFORMATICAS...
>>>>>>>CONECTADOS AL FUTURO, CONECTADOS A LA REVOLUCION
>>>>>>>
>>>>>>>http://www.uci.cu
>>>>>>>http://www.facebook.com/universidad.uci
>>>>>>>http://www.flickr.com/photos/universidad_uci
>>>>>>>-
>>>>>>>Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
>>>>>>>Para cambiar tu suscripción:
>>>>>>>http://www.postgresql.org/mailpref/pgsql-es-ayuda
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
es que cuando lo descomprimas quitale el guion bajo del final parece
que se nos fue y cambiar eso en el server ahora mismo no puedo , de
todos modos alejandro usted nos sirvio de tester una vez con la
herramienta, y le hemos estado resolviendo pero aun no lo hemos sacado.
>>>>>saludos
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>
>>>
>>>
>>>
--
>>>Salu2
>>>Linux Register User  #525697
>>>--==[[Carlos Sing]]==--
>>>
no era un tema, era algo personal , pero puedes descargar la
herramienta , y úsala y nos dices tu experiencia. recuerda cuando la
descomprimas quitale el guion del final
>>saludos
>>
>>
>>
>
>
>
>--
>Salu2
>Linux Register User  #525697
>--==[[Carlos Sing]]==--
>
>
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Sergio Valdes Hurtado 2012-05-16 20:13:59 Efectuar copy desde un archivo con más columnas que la tabla
Previous Message Alvaro Herrera 2012-05-16 19:40:47 Re: Presentaciones del pgcon 2012