2010-04-23 4 views
6

¿Cuáles son algunas declaraciones SQL útiles que deberían conocer todos los desarrolladores que puedan tocar el lado posterior del proyecto?¿Cuáles son algunas sentencias SQL/patrones de uso que deberían conocer todos los desarrolladores que puedan tocar el lado posterior del proyecto?

(Actualización: al igual que en el algoritmo, sabemos que hay problemas de clasificación, problemas de mezcla, y sabemos algunas soluciones para ellos. Esta pregunta apunta a la misma cosa).

Por ejemplo, uno que puedo pensar son:

obtener una lista de clases que no son registrado por ningún estudiante. (Outer unirse y comprobar si la coincidencia es NULL, o por obtener de la mesa Clases, todos ClassIDs que no están en (una sub consulta para obtener todos ClassIDs de la tabla inscripciones))

están ahí algunas declaraciones SQL que deberían estar bajo el manto de todos los desarrolladores que podrían tocar datos de fondo?

+4

Creo que es como preguntar: "¿Hay algún fragmento de Java del que todos deban saber?" Mi opinión es que no necesita una declaración SQL, solo la sintaxis SQL que necesita saber. Además, ¿quién le dice que cualquier declaración genérica será válida para el diseño de mesas específicas? – zneak

+0

http://stackoverflow.com/questions/2119859/questions-every-good-database-sql-developer-should-be-able-to-answer –

+1

DROP DATABASE ... muy útil. –

Respuesta

7

Hmm generalizando qué tipos de consultas debería poder escribir.

  1. Primero una recta seleccione sin
    une (y no seleccione *)
  2. Usted debe saber cómo combinar dos o más tablas y obtener registros que se encuentran en todas las mesas
  3. Usted debe saber cómo combinar dos o más tablas y obtener registros que hay en todas las mesas pero volver sólo un registro de la mesa con el lado muchos de la relación uno-a-muchos
  4. Usted debe ser capaz de obtener los registros en una tabla, pero no en una mesa asociado
  5. Usted debe ser capaz de reunir información para un informe
  6. Usted debe ser capaz de insertar una registro a una tabla
  7. Usted debe ser capaz de actualizar uno registro en una tabla
  8. Usted debe ser capaz de eliminar una registro en una tabla
  9. Usted debe ser capaz de insertar un grupo de registros a una tabla sin un cursor
  10. Usted debe ser capaz de actualizar un grupo de registros en una mesa sin un cursor
  11. Usted debe ser capaz de eliminar un grupo de registros en una mesa sin un cursor
  12. Usted debe ser capaz de realizar múltiples acciones en una transacción y manejar captura de errores
  13. Usted debe ser capaz de crear la unión de registros y saber cuándo utilizar UNIÓN vice UNION ALL
  14. Usted debe ser capaz de variar los datos para un campo en base a unos criterios ( utilizar CASE)
  15. Usted debe ser capaz de escribir un instrucción IF.

Bueno, eso es lo que me viene a la mente inmediatamente. Esto es para un desarrollador SQL principiante, por supuesto. Esto no incluye nada que considere avanzado.

6

Los desarrolladores deben aprender los principios de bases de datos y SQL. No se harán cambios en las sentencias de SQL específicas que requieran las sentencias de SQL, según lo que almacene la base de datos y la estructura de la base de datos.

Actualización: Su pregunta actualizada es interesante. Estoy pensando que las declaraciones de SQL en general son bastante simples. Entonces no vale la pena memorizarlos. Si son complejos, están vinculados a un problema específico y, nuevamente, no vale la pena memorizarlos.

+1

De acuerdo.Comprender siempre es mejor que memorizar. – armandino

+0

Pero hay patrones de problemas para resolver que debe saber cómo manejar, para que pueda resolver los problemas específicos. – HLGEM

+0

@HLGEM Pero incluso en su respuesta a continuación no mencionó patrones específicos de SQL que mencionó consultas que un desarrollador de base de datos razonablemente competente debería saber. Entonces, ¿hay patrones específicos para SQL que valga la pena recordar? Como dije, es una pregunta interesante. –

Cuestiones relacionadas