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

#66 Antonio Ortiz
26/05/2008 - 15:17 | Informe spam
Al dividir en 2 tablas rompiendo las reglas de normalizacion, se esta
desnormalizando.


saludos,

Antonio Ortiz
asesor en sistemas
ant(a)aortiz.net
www.aortiz.net
www.progvisual.com



"Alfredo Novoa" escribió en el mensaje
news:
On Sun, 25 May 2008 23:08:43 -0600, "Antonio Ortiz"
wrote:

Eso... se llama "desnormalizar".



No, no lo has entendido.


http://www3.uji.es/~mmarques/f47/apun/node97.html

No se pueden establecer una serie de reglas que determinen cuándo
desnormalizar relaciones, pero hay algunas situaciones muy comunes en
donde
puede considerarse esta posibilidad:

a.. Combinar relaciones de uno a uno. Cuando hay relaciones (tablas)
involucradas en relaciones de uno a uno, se accede a ellas de manera
conjunta con frecuencia y casi no se les accede separadamente, se pueden
combinar en una sola relación (tabla).



Pero Miguel te estaba hablando de dividir una tabla en dos. En todo
caso eso sería normalizar.


Saludos
Alfredo
Respuesta Responder a este mensaje
#67 Leonardo Azpurua
26/05/2008 - 16:04 | Informe spam
"Antonio Ortiz" escribió en el mensaje
news:

Al dividir en 2 tablas rompiendo las reglas de normalizacion, se esta
desnormalizando.



No, Antonio.

Si tienes una tabla formada por tuplas (P, x, y) y la divides en dos tablas,
formadas por tuplas (P, x) y (P, y) no estás rompiendo ninguna regla de
normalización. Simplemente estás dividiendo una tabla en dos.

Salud!
Respuesta Responder a este mensaje
#68 Alfredo Novoa
26/05/2008 - 20:23 | Informe spam
Hola Leonardo,

El Mon, 26 May 2008 09:34:49 -0430, Leonardo Azpurua escribió:

Si tienes una tabla formada por tuplas (P, x, y) y la divides en dos tablas,
formadas por tuplas (P, x) y (P, y) no estás rompiendo ninguna regla de
normalización. Simplemente estás dividiendo una tabla en dos.



Y por supuesto si tienes una tabla (X, Y, Z) donde Y depende de X y Z
depende de Y y la divides en dos tablas (X, Y) e (Y, Z) entonces estás
normalizando.


Saludos
Alfredo
Respuesta Responder a este mensaje
#69 Antonio Ortiz
27/05/2008 - 01:48 | Informe spam
:|

Si buscas algo sobre modelo relacional te daras cuenta que una regla dice
que 'todas las columnas se relacionan con la columna ppal (Llave primaria),
si ves en tu ejemplo en la segunda tabla, tienes una columna que depende de
una columna en otra tabla, esta demas decir que no es una forma 'normal'

Mas especificamente te pongo la documentacion:

"
Tercera Forma Normal
La Tercera Forma Normal requiere que todas las columnas en cada tabla
relacional dependen de una sola clave primaria. La definición formal es la
siguiente:

Una tabla relacional está en tercera forma normal si (3NF) está en 2NF y
cada columna no-clave no tenga dependencias transitivas a través de sus
claves primarias. En otras palabras, todos los atributos no-clave son
funcionalmente dependientes solo de su clave-primaria."



saludos,


Antonio Ortiz
asesor en sistemas
ant(a)aortiz.net
www.aortiz.net
www.progvisual.com


"Alfredo Novoa" escribió en el mensaje
news:1u5m5fl4lmut$.82v3mvs3zsqa$

Hola Leonardo,

El Mon, 26 May 2008 09:34:49 -0430, Leonardo Azpurua escribió:

Si tienes una tabla formada por tuplas (P, x, y) y la divides en dos
tablas,
formadas por tuplas (P, x) y (P, y) no estás rompiendo ninguna regla de
normalización. Simplemente estás dividiendo una tabla en dos.



Y por supuesto si tienes una tabla (X, Y, Z) donde Y depende de X y Z
depende de Y y la divides en dos tablas (X, Y) e (Y, Z) entonces estás
normalizando.


Saludos
Alfredo
Respuesta Responder a este mensaje
#70 Leonardo Azpurua
27/05/2008 - 02:23 | Informe spam
"Antonio Ortiz" escribió en el mensaje
news:

:|

Si buscas algo sobre modelo relacional te daras cuenta que una regla dice
que 'todas las columnas se relacionan con la columna ppal (Llave
primaria), si ves en tu ejemplo en la segunda tabla, tienes una columna
que depende de una columna en otra tabla, esta demas decir que no es una
forma 'normal'

Mas especificamente te pongo la documentacion:

"
Tercera Forma Normal
La Tercera Forma Normal requiere que todas las columnas en cada tabla
relacional dependen de una sola clave primaria. La definición formal es la
siguiente:

Una tabla relacional está en tercera forma normal si (3NF) está en 2NF y
cada columna no-clave no tenga dependencias transitivas a través de sus
claves primarias. En otras palabras, todos los atributos no-clave son
funcionalmente dependientes solo de su clave-primaria."




Eso es exactamente lo que hace el ejemplo de Alfredo: "donde Y depende de X
y Z depende de Y", es decir, antes de crear la división la tabla no
representaba una relación normalizada, y despues sí.

Lo último que haría en mi vida sería discutir con Alfredo sobre teoría de
BBDD relacionales, y mucho menos comenzar un mensaje diciéndole "si buscas
algo sobre modelo relacional".

Pero en fin, cada quién es libre de buscarse su propio tormentos :-)

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