lunes, 18 de abril de 2016

SQL - Lenguaje de Consulta Estructurado


         Las aplicaciones en red son cada día más numerosas y versátiles. En muchos casos, el esquema básico de operación es una serie de scripts que rigen el comportamiento de una base de datos. Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia de estándares que nos permiten el realizar las operaciones básicas de una forma universal. Es de eso de lo que trata el Structured Query Language que no es más que un lenguaje estándar de comunicación con bases de datos. Hablamos por tanto de un lenguaje normalizado que nos permite trabajar con cualquier tipo de lenguaje (ASP o PHP) en combinación con cualquier tipo de base de datos (MS Access, SQL Server, MySQL...). El hecho de que sea estándar no quiere decir que sea idéntico para cada base de datos. En efecto, determinadas bases de datos implementan funciones específicas que no tienen necesariamente que funcionar en otras.


v  Orígenes
      En 1970 E. F. Codd propone el modelo relacional y asociado a este un sublenguaje de acceso a los datos basado en el cálculo de predicados.1 Basándose en estas ideas, los laboratorios de IBM definieron el lenguaje SEQUEL (Structured English Query Language) que más tarde fue ampliamente implementado por el sistema de gestión de bases de datos (SGBD) experimental System R, desarrollado en 1977 también por IBM. Sin embargo, fueOracle quien lo introdujo por primera vez en 1979 en un producto comercial.




v  Características
         -Es un lenguaje de alto nivel que permite una alta productividad en codificación y la orientación a objetos. De esta forma, una sola sentencia puede equivaler a uno o más programas que se utilizarían en un lenguaje de bajo nivel orientado a registros.

         -Lenguaje de definición de datos: El LDD (lenguaje de definición de datos) proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificaciones de los esquemas de relación.
Lenguaje interactivo de manipulación de datos: El LMD (Lenguaje de manejo de datos) incluye lenguajes de consultas basado tanto en álgebra relacional como en cálculo relacional de tuplas.

         -Control de transacciones: SQL tiene comandos para especificar el comienzo y el final de una transacción.

         -SQL incorporado y dinámico: Esto quiere decir que se pueden incorporar instrucciones de SQL en lenguajes de programación como: C++, C, Java, PHP, Cobol, Pascal y Fortran.

         -Autorización: El LDD incluye comandos para especificar los derechos de acceso a las relaciones y a las vistas.


         -Existe una ampliación de SQL conocida como FSQL (Fuzzy SQL, SQL difuso) que permite el acceso a bases de datos difusas, usando la lógica difusa. Este lenguaje ha sido implementado a nivel experimental y está evolucionando rápidamente.



v  Versiones
         -1986 SQL-86       SQL-87       Primera publicación hecha por ANSI. Confirmada por ISO en 1987.



         -1989 SQL-89       Revisión menor.

         -1992 SQL-92       SQL2 Revisión mayor.

         -1999 SQL:1999    SQL2000    Se agregaron expresiones regulares, consultas recursivas (para relaciones jerárquicas), triggers y algunas características orientadas a objetos.

         -2003         SQL:2003  Introduce algunas características de XML, cambios en las funciones, estandarización del objeto sequence y de las columnas autonuméricas. 2

         -2005         SQL: 2005  ISO/IEC 9075-14:2005 Define las maneras en las cuales SQL se puede utilizar conjuntamente con XML. Define maneras de importar y guardar datos XML en una base de datos SQL, manipulándolos dentro de la base de datos y publicando el XML y los datos SQL convencionales en forma XML. Además, proporciona facilidades que permiten a las aplicaciones integrar dentro de su código SQL el uso de XQuery, lenguaje de consulta XML publicado por el W3C (World Wide Web Consortium) para acceso concurrente a datos ordinarios SQL y documentos XML.

         -2008         SQL: 2008Permite el uso de la cláusula ORDER BY fuera de las definiciones de los cursores. Incluye los disparadores del tipo INSTEAD OF. Añade la sentencia TRUNCATE.3



v 
Ventajas
         -Migración en vivo: las bases de datos virtuales se pueden migrar de un servidor físico a otro sin interrupción del servicio en caso de problemas de hardware.

         -Rentabilidad y fácil implementación de soluciones de alta disponibilidad.

         -Implementación flexible, dinámica y automatizada de nuevas instancias y recursos del sistema cuando sea necesario (escalabilidad).

         -Disponibilidad mejorada: mediante la separación de las máquinas virtuales entre sí, en caso de problemas con una máquina virtual, el resto de las máquinas virtuales puede seguir funcionando sin sacrificar el desempeño.



v  Desventajas
         -Por lo tanto, no es de extrañar que la virtualización de base de datos aumente cada vez más. Pero a pesar de estas ventajas, también puede conducir a problemas en caso de que su implementación sea realizada demasiado rápidamente y sin una planificación suficiente.

         -Licencias: en algunos casos, tales como las bases de datos Oracle antiguas, las licencias de bases de datos anteriores no pueden ser transferidas 1:1 a un sistema virtualizado debido a que sus costos están relacionados con el desempeño (potencial) del sistema y no con lo que se utiliza realmente.

         -Falta de experiencia, o experiencia insuficiente por parte del personal

         -volúmenes de almacenes de datos de VMware reformateados

         -volúmenes de almacenes de datos VMFS dañados

         -sistemas de archivos invitados dañados

         -archivos virtuales (VMDK/VHD) corruptos osistemas de archivos (VMDK o VHD) borrados accidentalmente.




Yoser Muñoz C.I: 24645284
Rosmery Rodríguez C.I: 18778399 

Sección: 71

No hay comentarios.: