10 consejos de recuperación Sql

los SQL SELECT

declaración es su herramienta para desenterrar información oculta en una base de datos. Incluso si usted tiene una idea clara de lo que desea recuperar, traduciendo esa idea en SQL puede ser un desafío. Si su formulación es un poco apagado, usted puede terminar con los resultados erróneos. Para reducir las posibilidades de ser engañado, utilice los siguientes diez principios.

Verificar la estructura de base de datos

Si recupera datos de una base de datos y los resultados no parece razonable, compruebe el diseño de base de datos. Muchas bases de datos mal diseñados están en uso, y si usted está trabajando con uno, fijar el diseño antes de intentar cualquier otra solución. Recuerde - el buen diseño es un requisito previo de la integridad de los datos.

Trate de consultas en una base de datos de prueba

Crear una base de datos de prueba que tiene la misma estructura que la base de datos de producción, pero con sólo unas pocas filas de representación en las mesas. Elija los datos para que usted sabe de antemano lo que los resultados de las consultas deberían ser.

Ejecutar cada consulta de prueba en los datos de prueba y ver si los resultados se ajustan a sus expectativas. Si no lo hacen, es posible que necesite volver a formular sus consultas. Si una consulta se formula correctamente, pero usted termina con malos resultados de todos modos, puede que tenga que reestructurar su base de datos.

Construir varios conjuntos de datos de prueba y asegúrese de incluir los casos extraños, tales como mesas vacías y los valores extremos en el límite de los rangos permitidos. Trate de pensar en escenarios improbables y compruebe si hay un comportamiento adecuado cuando se producen. En el curso de la comprobación de los casos improbables, es posible obtener una perspectiva de los problemas que tienen más probabilidades de ocurrir.

Consultas Compruebe que incluyen une

Se une son notoriamente contrario a la intuición. Si la consulta contiene uno, asegúrese de que está haciendo lo que usted espera antes de agregar DÓNDE cláusulas o otros factores de complicación.

Consultas Triple-verificación con subselecciones

Las consultas con subconsultas toman los datos de una tabla y, con base en lo que se recupera, tomar algunos datos de otra tabla. Por lo tanto, por definición, este tipo de consultas pueden ser realmente duro para hacerlo bien. Asegúrese de que los datos que el interior SELECT recupera son los datos que el exterior SELECT necesita para producir el resultado deseado. Si tiene dos o más niveles de subconsultas, debe ser aún más cuidadoso.

Resumir datos con GROUP BY

Digamos que usted tiene una tabla (NACIONAL) que contiene el nombre (Jugador), Equipo (Equipo), Y el número de jonrones golpeado (Homers) Por todos los jugadores de béisbol de la Liga Nacional. Puede recuperar el total del equipo jonrón para todos los equipos con una consulta como esta:

Equipo SELECT SUM (Homers) DE NATIONALGROUP POR equipo -

Esta consulta muestra cada equipo, seguido por el número total de jonrones de todos los jugadores de ese equipo.

Ver GROUP BY restricciones cláusula

Suponga que desea una lista de bateadores de poder de la Liga Nacional. Considere la siguiente consulta:

SELECT jugador, equipo, HomersFROM NATIONALWHERE Homers> = 20GROUP POR equipo -

En la mayoría de las implementaciones, esta consulta devuelve un error. En general, sólo las columnas utilizadas para la agrupación o columnas utilizadas en una función de conjunto pueden aparecer en la lista de selección. Sin embargo, si quieres ver esta información, la siguiente formulación funciona:

SELECT jugador, equipo, HomersFROM NATIONALWHERE Homers> = 20GROUP por el equipo, el jugador, Homers -

Debido a que todas las columnas que desea mostrar aparecen en la AGRUPAR POR cláusula, la consulta tiene éxito y ofrece los resultados deseados. Esta formulación ordena la lista resultante por primera vez por Equipo, entonces por Jugador, y finalmente por Homers.

Utilice paréntesis con AND, OR y NOT

A veces, cuando se mezclan Y y Oregón, SQL no procesa la expresión en el orden que usted espera. Utilice paréntesis en expresiones complejas para asegurarse de que usted obtenga los resultados deseados. Al escribir unas pocas teclas adicionales es un pequeño precio a pagar para obtener mejores resultados.

Los paréntesis también ayudará a asegurar que el NO palabra clave se aplica al término o expresión que desea que se aplique a.

Privilegios de recuperación de Control

Muchas personas no utilizan los elementos de seguridad disponibles en sus DBMS. Ellos no quieren molestarse con ellos porque piensan mal uso y apropiación indebida de los datos son las cosas que suceden sólo a otras personas. No espere a quemarse. Establecer y mantener la seguridad para todas las bases de datos que tienen algún valor.

Copia de seguridad de sus bases de datos con regularidad

Alerta eufemismo: datos es difícil de recuperar después de una subida de tensión, un incendio, un terremoto, o algún otro desastre destruye su disco duro. (Recuerde, a veces los ordenadores simplemente mueren sin una buena razón.) Haga copias de seguridad frecuentes y ponen los medios de copia de seguridad en un lugar seguro.

Lo que constituye un lugar seguro depende de lo crítico que sus datos están. Podría ser una caja fuerte incombustible en la habitación con su ordenador. Puede ser que sea en otro edificio. Puede ser que sea en la nube. Puede ser que sea en un búnker de hormigón bajo una montaña que se ha endurecido para resistir un ataque nuclear. Decida qué nivel de seguridad es apropiado para sus datos.

Manejar condiciones de error con gracia

Ya sea que esté haciendo consultas ad hoc desde una estación de trabajo o la incrustación de consultas en una aplicación, de vez en cuando SQL devuelve un mensaje de error en lugar de los resultados deseados. En una estación de trabajo, puede decidir qué hacer a continuación, sobre la base del mensaje devuelto.

En una aplicación, la situación es diferente. El usuario de la aplicación, probablemente no sabe qué acción es la adecuada. Ponga extensa gestión de errores en sus aplicaciones para cubrir todos los errores imaginables que pueda ocurrir. Creación de código de control de errores tiene una gran cantidad de esfuerzo, pero es mejor que tener el usuario miran con curiosidad a una pantalla congelada.




» » » » 10 consejos de recuperación Sql