Stored Procedures are bad?

24/05/2008 - 03:59 por Antonio Ortiz | Informe spam
Un interesante articulo, lo expongo para enriquecer el tema sin afan de
defender tal o cual posicion. Lo ironico es que el autor del articulo es el
mismo que creo la herramienta LLBLGen, que permite generar codigo para SP y
clases .Net para la capa de datos.

Su articulo 'Stored Procedures are bad'
http://weblogs.asp.net/fbouma/archi...38178.aspx

Descarga de LLBLGen
http://www.microsoft.com/downloads/...x?FamilyID›F77697-10B0-42CA-AFE9-B76044B3D2AF&displaylang=en


Investigue un poco el tema a raiz de que un instructor se ofendio cuando le
dije que no estaba de acuedo en la afirmacion 'Los Stored Procedures
ejecutan mas rapido que las consultas dinamicas'. En mi opinion el unico
argumento sostenible para utilizar SP es 'buenas practicas'.


saludos,

Antonio Ortiz
asesor en sistemas
www.aortiz.net
www.progvisual.com

Preguntas similare

Leer las respuestas

#6 Alfredo Novoa
24/05/2008 - 23:11 | Informe spam
Hola Antonio,

El Sat, 24 May 2008 14:13:54 -0600, Antonio Ortiz escribió:

Bueno, pues uno de los instructores para la certificacion MCAD, afirmo que
las consultas dentro de SP ejecutan 40% mas rapidas que las consulas
dinamicas. Me sorprendio en gran manera esa afirmacion viniendo de alguien
que se autodefine como un experto SQL Server & en infraestructura.



Pues a mi no me sorprende absolutamente nada. Lo que me sorprendería mucho
sería escucharle por varios minutos sin oir ninguna burrada.

Diseños?; ni que lo digas, en el foro de Acces me lincharon porque dije que
las relaciones 1-1 no son correctas y demuestran un error en el diseño.



Hombre, tampoco es como para lincharte, pero en el Modelo Entidad/Relación
las relaciones 1-1 no son incorrectas. Una entidad puede tener una relación
1-1 con otra entidad y relaciones 1-N con otras entidades.

En el Modelo Relacional no existen las relaciones 1-1 por supuesto, solo
hay relaciones a secas.

Alguien me avento un 'problema' para meter en una sola tabla 300 preguntas
de un cuestionario cuando Access solo permite 255 columnas, obviamente es
problema de normalizacion, algo basico en ingenieria.



Yo en principio no veo relación con la normalización. El que Access solo
permita 255 columnas es un problema del nivel físico. Y el tener una
columna por pregunta puede ser un mal diseño que viola el Principio de
Información de Codd, pero puede estar normalizado.

Creo que mucha gente que anda metida en bases de datos le caeria bien leer
un poco mas de base de datos relacionales.



Si, lo malo es que hay muy pocos libros de calidad en el mercado.


Saludos
Alfredo
Respuesta Responder a este mensaje
#7 Carlos M. Calvelo
24/05/2008 - 23:24 | Informe spam
On 24 mei, 22:13, "Antonio Ortiz" wrote:
Diseños?; ni que lo digas, en el foro de Acces me lincharon porque dije que
las relaciones 1-1 no son correctas y demuestran un error en el diseño.
Alguien me avento un 'problema' para meter en una sola tabla 300 preguntas
de un cuestionario cuando Access solo permite 255 columnas, obviamente es
problema de normalizacion, algo basico en ingenieria.



Pero Antonio... y no le has preguntado si Access permite mas
de 255 líneas. ;-)

Saludos,
Carlos
Respuesta Responder a este mensaje
#8 Jesús López
24/05/2008 - 23:24 | Informe spam
Y la mía.

De lo que está hablando Miguel es de la encapsulación que te permite cambiar
la implementación sin afectar a las aplicaciones clientes. Pongamos un
ejemplo simple: se decide hacer desnormalización para reducir el número de
tablas que aparecen en la cláusula from de ciertas consultas y así aumentar
el rendimiento. Cuando introduces desnormalización también introduces
redundancia y cuando introduces redundancia tienes que preocuparte de
mantener la coherencia. Si el acceso está limitado a procedimientos
almacenados sólo tienes que cambiar el código de algunos procedimientos
almacenados para asegurar tal coherencia.


Saludos:

Jesús López
www.solidq.com
Respuesta Responder a este mensaje
#9 Alfredo Novoa
24/05/2008 - 23:29 | Informe spam
El Sat, 24 May 2008 21:11:18 +0200, Miguel Egea escribió:

Yo creo que hay razones sobradas para usar sp's, se han dicho en este grupo
hasta la saciedad, sin embargo la más importante para mí es la analogía con
el desarrollo de aplicaciones. Cuando creas un objeto accedes a través de
métodos y propiedades, por que eso te permite cambiar el comportamiento sin
cambiar la interfaz y que todo siga funcionando



Pues este argumento ha sido rebatido en este grupo hasta la saciedad. Se ve
que llevas tiempo sin pasarte por aquí :-)

¿porque eso no habría de
aplicar en la base de datos?



Por que hay otras formas de conseguir lo mismo que en muchos casos son
mejores.

Si el sistema es de misión critica hay mil y
una cosas que un buen dba puede hacer si el acceso es a través de sp's y sin
embargo tiene las manos mucho más atadas si no lo es.



En un sistema normal y corriente hay millon y una cosas que un buen
desarrollador puede hacer si el acceso es a través de tablas y sin embargo
tiene las manos atadas si no lo es.

Yo estoy con Pablo, los SP son un recurso más que no tiene nada de malo si
se sabe usar bien.

Pero lo que está más claro que el agua es que la información de una base de
datos debe de ser presentada a las aplicaciones en forma de tablas.


Saludos
Alfredo
Respuesta Responder a este mensaje
#10 Jesús López
24/05/2008 - 23:36 | Informe spam
Las relaciones "a secas" no existen en el modelo relacional.
En el modelo relacional hay relaciones uno a n, y las relaciones uno a uno
son un caso particular de una realación de uno a n.

No hace falta irse a escuchar a nadie por ahí para oír burradas. En este
mismo foro podemos encontrar muchas como las que a veces suelta nuestro
querido compañero del foro Alfredo Novoa.

Saludos:


Jesús López
www.soldiq.com







"Alfredo Novoa" escribió en el mensaje
news:1douavbvwl854$.yobtsui5xgui$
Hola Antonio,

El Sat, 24 May 2008 14:13:54 -0600, Antonio Ortiz escribió:

Bueno, pues uno de los instructores para la certificacion MCAD, afirmo
que
las consultas dentro de SP ejecutan 40% mas rapidas que las consulas
dinamicas. Me sorprendio en gran manera esa afirmacion viniendo de
alguien
que se autodefine como un experto SQL Server & en infraestructura.



Pues a mi no me sorprende absolutamente nada. Lo que me sorprendería mucho
sería escucharle por varios minutos sin oir ninguna burrada.

Diseños?; ni que lo digas, en el foro de Acces me lincharon porque dije
que
las relaciones 1-1 no son correctas y demuestran un error en el diseño.



Hombre, tampoco es como para lincharte, pero en el Modelo Entidad/Relación
las relaciones 1-1 no son incorrectas. Una entidad puede tener una
relación
1-1 con otra entidad y relaciones 1-N con otras entidades.

En el Modelo Relacional no existen las relaciones 1-1 por supuesto, solo
hay relaciones a secas.

Alguien me avento un 'problema' para meter en una sola tabla 300
preguntas
de un cuestionario cuando Access solo permite 255 columnas, obviamente es
problema de normalizacion, algo basico en ingenieria.



Yo en principio no veo relación con la normalización. El que Access solo
permita 255 columnas es un problema del nivel físico. Y el tener una
columna por pregunta puede ser un mal diseño que viola el Principio de
Información de Codd, pero puede estar normalizado.

Creo que mucha gente que anda metida en bases de datos le caeria bien
leer
un poco mas de base de datos relacionales.



Si, lo malo es que hay muy pocos libros de calidad en el mercado.


Saludos
Alfredo
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida