2010-05-06 50 views
14

¿Hay Patrones de diseño en SQL?Patrones de diseño de SQL

+3

¿se refiere al diseño de base de datos o patrones para las consultas? –

+1

Si está hablando de cómo escribir una declaración de selección para un escenario determinado, entonces le escucho totalmente sobre esta cuestión. – Stevus

+0

Para consultas en sprocs. – dannyrosalex

Respuesta

5

Es posible que desee mirar database normalization que es algún tipo de patrón de diseño general en SQL.

+2

También hay un libro SQL 'anti-patrón' en breve. http://www.pragprog.com/titles/bksqla/sql-antipatterns – Eno

+1

Y he visto dos capítulos de dicho libro, y en este punto, tiene algunos errores magníficos en él. Se supone que el siguiente del libro busca una fila aleatoria de una tabla en Oracle, y tiene dos errores destacados: $ offset = $ pdo-> query ("SELECT dbms_random.value (1, (SELECT COUNT (*) FROM Bugs) AS offset de dual) ") -> fetch(); $ stmt = $ pdo-> prepare ("SELECT * FROM Bugs WHERE ROWNUM =: offset"); $ stmt-> execute ($ offset); $ rand_bug = $ stmt-> fetch(); –

+0

El patrón de diseño de SQL es diferente del Patrón de diseño de la base de datos. El patrón de diseño SQL se trata de programación, no de diseño de base de datos. –

10

Un patrón de diseño es simplemente una forma reconocida de resolver un problema que funciona en diferentes circunstancias específicas. ¿Existen tales cosas en SQL? Por supuesto, por ejemplo, implementando muchas o muchas relaciones entre dos tablas usando una tercera tabla.

9

Sí. :)

SQL Design Patterns: Expert Guide to SQL Programming

(Ni siquiera estoy seguro si esto es un libro recomendado .. sólo lo que demuestra que existe "un diseño adecuado").

+2

Vivo en un universo de "diseño incorrecto" tanto en el lado del host (.NET) como en el lado de la base de datos (MS SQL SERVER). Me pregunto si alguna vez podré trabajar en un entorno donde los compañeros programadores NO se enorgullezcan de evitar libros y "HACER EL TRABAJO HECHO". – dannyrosalex

+2

Tú y yo, mi hombre. Estamos constantemente equilibrando resultados contra un buen código OO. Parece que uno u otro siempre tiene que sufrir ... – 08Hawkeye

+1

Este libro cuesta tanto como una licencia de SQL Server – CheckRaise