Portabilidad de SQL y conceptos clave de bases de datos
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 5,78 KB
EL MITO DE LA PORTABILIDAD
Limitaciones del estándar SQL-89 (SQL1)
1. Códigos de error:
el estándar SQL-89 no especifica los códigos de error a devolver cuando SQL detecta un error, y todas las implementaciones comerciales utilizan su propio conjunto de códigos de error. SQL2 especifica códigos de error estándar.2. Tipos de datos:
el estándar SQL1 define un conjunto mínimo de tipos de datos, pero omite algunos de los tipos más populares y útiles, tales como las cadenas de caracteres de longitud variable, las fechas y horas y los datos monetarios. SQL2 afronta esto.3. Tablas del sistema:
el estándar SQL1 no dice nada acerca de las tablas del sistema que proporcionan información referente de la estructura de la propia base de datos. Cada vendedor tiene su propia estructura para estas tablas. Las tablas se estandarizaron en SQL2.4. SQL interactivo:
el estándar especifica el SQL de programa utilizado por un programa de aplicación, y no el SQL interactivo.EL MITO DE LA PORTABILIDAD (continuación)
5. Interfaz de programa:
el estándar SQL1 especifica una técnica abstracta para utilizar SQL desde dentro de un programa de aplicaciones. Ningún producto SQL comercial utiliza esta técnica. SQL2 especifica una interfaz SQL embebida para lenguajes de programación populares, pero no interfaces a nivel de llamada.6. SQL dinámico:
el estándar SQL1 no incluye las características requeridas para desarrollar frontales de bases de datos de propósito general, tales como herramientas de consulta y generadores de informes. SQL2 lo incluye.7. Diferencias semánticas:
es posible ejecutar la misma consulta con dos implementaciones SQL diferentes, y producir resultados diferentes.8. Secuencias de cotejo:
el estándar SQL1 no define la secuencia de cotejo (ordenación) de los caracteres almacenados en la base de datos. SQL2 incluye una especificación detallada.9. Estructura de bases de datos:
los detalles del nombrado de la base de datos y de cómo se establece la conexión inicial varían enormemente y no son portables. SQL2 crea más uniformidad, pero no puede enmascarar completamente estos detalles.CONDICIONES DE BÚSQUEDA
1. Test de comparación:
compara el valor de una expresión con el valor de otra.2. Test de rango:
examina si el valor de una expresión cae dentro de un rango especificado de valores.3. Test de pertenencia a conjunto:
comprueba si el valor de una expresión se corresponde con uno de un conjunto de valores.4. Test de correspondencia con patrón:
comprueba si el valor de una columna que contiene datos de cadena de caracteres se corresponde a un patrón especificado.5. Test de valor nulo:
comprueba si una columna tiene un valor NULL.Inconvenientes del manejo inadecuado de transacciones
Problema de la actualización perdida: se da cuando dos programas leen los mismos datos y utilizan los datos como base para un cálculo y luego tratan de actualizar los datos.
Problema de los datos no confirmados: se da cuando ocurre una actualización y la transacción es abortada.
Problema de los datos inconsistentes: se da con la consulta de datos con actualización confirmada posterior con otro usuario.
Problema de la inserción fantasma: se da con una consulta de BD y posterior inserción que afecta sobre la vista anterior.
Solución:
- El usuario no debe ver actualizaciones sin confirmación.
- Mantener transacciones breves.
- Liberar base de datos, utilizando COMMIT a menudo.
- Utilizar técnicas de cerramiento.