Una de las cosas buenas de SQL es que tiene menos palabras clave que muchos de los lenguajes de programación con los que se encuentra. Aprender la sintaxis es bastante fácil, es la aplicación, como se aludió, es bastante difícil.
¿Cuánto tiempo le toma a un codificador profesional de procedimientos convertirse en un codificador SQL profesional?
Eso depende del programador. Yo diría que lo que tendría que haber creado al menos dos cada una de estas bases de datos de objetos con los datos de producción:
- procedimiento almacenado
- Vistas
- Índice
- gatillo
- definido por el usuario Función
Por lo tanto, no es realmente una cuestión de tiempo, sino una cuestión de conocimiento.
Pensé que sabía cómo funcionaban, pero ahora estoy trabajando con 100 a 800 millones de conjuntos de filas, y lo que funcionó antes es inadecuado para estos enormes conjuntos de resultados. Afortunadamente, muchas herramientas de administración de bases de datos son MUCHO mejor ahora. Eso significa que paso menos tiempo rascándome la cabeza y más tiempo programando.
Creo que la parte más difícil de estas son las extensiones específicas de la base de datos. Esos son todos diferentes entre los proveedores de bases de datos. Solo he trabajado con SQL Server, Oracle e Interbase/Firebird. Después de un tiempo, dejé de tratar de mantenerme al día con todos ellos, y solo me concentré en SQL Server, ya que eso es lo más común en mi área metropolitana.
+1 De acuerdo .... cambiar la mentalidad de pensar en conjuntos siempre parece ser la parte más empinada de la curva de aprendizaje para SQL noobs. – Kev
Y poder manipular conjuntos en tu cabeza. Un conjunto de resultados es el complemento de todos los demás resultados. ¿Cuánto saben los buenos programadores de SQL sobre Set Theory, me pregunto? http://en.wikipedia.org/wiki/Set_theory#Basic_concepts –