2009-03-29 7 views
9

Como programador, me gustaría obtener una gran aceptación en la escritura de consultas. En mis años universitarios he leído algunos libros sql y descanso. Acabo de aprender a trabajar como programador durante los últimos años. Pero como esas consultas estaban relacionadas con el trabajo ... no eran tan "difíciles" o complejas.la mejor manera de obtener buenos resultados con consultas sql

¿qué sugieres? ¿Hay un buen libro avanzado de SQL que enseñe y luego pruebe el conocimiento haciendo algunas preguntas?

Gracias!

+0

uso de LINQ para crear la consulta, ingeniero y hacia atrás el valor de cadena de SQL ;-) –

Respuesta

17

En mi humilde opinión, la habilidad de SQL, más que cualquier otra habilidad de programación, requiere mentoría.

Hay tres razones principales.

  1. Es muy posible (a menudo fácil) escribir una declaración de SQL que le da la respuesta correcta. Así que los desarrolladores a menudo terminan diciéndose a sí mismos "Oye, funciona, (y todo en una declaración,) he terminado". Por lo general, no es así, y la única forma eficaz de dar el siguiente paso es hacer que se revise su trabajo y obtener sugerencias (y los motivos de las sugerencias).

  2. Las habilidades no son tan transferibles de la programación "normal" como cabría esperar. Principios como descomposición, subrutinas, etc. son generalmente callejones sin salida.

  3. La habilidad de SQL real requiere tanta habilidad de prueba. Solo puede evaluar realmente la ejecución de SQL al conocer las herramientas de análisis de consultas SQL al revés y usarlas sin fallas en casi todas las consultas.

Así que la respuesta a su pregunta es: consiga tanta ayuda como pueda, temprano y con frecuencia. Y no seas reacio a preguntar "Por qué".

+0

Sí, la respuesta agradable. Pero yo diría que las herramientas de revisión, prueba y análisis de código son importantes (y también se pasan por alto) para los lenguajes de aplicación convencionales. –

+0

De acuerdo, no hay duda. Creo que evitarlos te lleva a problemas más profundos más rápido con SQL, porque lleva más tiempo notar que las ruedas se están cayendo. – dkretz

+2

buena respuesta, excepto - ¿qué haces si no hay nadie para mentor? –

1

He encontrado que leer el sitio Ask Tom me ha ayudado a comprender lo que puedes hacer con SQL avanzado. Es específico de Oracle, pero mordazmente sarcástico y horrible.

Ask Tom

Además, hable con los administradores de bases de datos (si tiene alguno) tienen un montón de experiencia que puede hacer uso de.

0

Encuentro que lo más fácil es preguntarse si puede encontrar una manera mejor o más fácil y buscarlo de esa manera (como en el sitio web MySQL) o hacer preguntas (como en SO). Estas 2 formas han sido la forma en que aprendí la mayoría de SQL. Pero esto fue solo después de obtener un conocimiento básico. También descubrí que cuanto más completa se vuelve la base de datos, más aprende, incluso si es por prueba y error.

3

Siempre he sentido que SQL era algo que tenía que aprender haciendo. Me encontré en un proyecto que me obligó a escribir SQL y no me detuve durante varias semanas para analizar todos los aspectos de una base de datos bastante grande. En muchos casos, escribí muchos SQL que dieron como resultado los mismos resultados, pero los obtuve de diferentes maneras. Utilizando la herramienta de ruta de ejecución de Sql Server Management Studio, pude revisar las opciones de consulta y mejorar cada una, y finalmente seleccionar el "mejor" para la situación. Si puede encontrar un motivo o propósito para escribir un montón de SQL, creo que será el mejor catalizador que pueda tener para aprender verdaderamente el arte de extraer datos de la base de datos.

3
  1. teoría de conjuntos
  2. teoría de base de datos, esp.las reglas de normalización
  3. aprender a leer un plan de ejecución de la consulta
0

Es sorprendente cómo el método científico se traslada a muchos campos diferentes. En caso de duda, use el método científico.
Haga una pregunta (¿Cómo consigo buenos en sql?)

Do Background Research (Research the topic) 

Construct a Hypothesis  (If I research and practice a lot of different methods, test them, and ask for advice from peers, then I will be good at sql!) 

Test Your Hypothesis by Doing an Experiment (Do it and see if it works!) 

Analyze Your Data and Draw a Conclusion 
    (Did it work, and what happened) 

Communicate Your Results 
    (Tell us how you got good so we can get good too) 
+0

sí, claro ..... el comentario de cerca es suficiente sospecho – Caribou

Cuestiones relacionadas