Download Diapositiva 1 - GridMorelos.
Document related concepts
Transcript
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MORELOS Centro de Investigaciones en Ingeniería y Ciencias Aplicadas Presentación del Sistema Manejador de Base de Datos SQL Structured Query Lenguage Presentan Alberto Medrano Cabello Román Orozco Linares INTRODUCCIÓN Es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones sobre las mismas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo lanzar consultas con el fin de recuperar -de una forma sencilla- información de interés de una base de datos, así como también hacer cambios sobre la misma. Es un lenguaje de cuarta generación (4GL). Los orígenes del SQL están ligados a los de las bases de datos relacionales. 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. Basándose en estas ideas, los laboratorios de IBM definen el lenguaje SEQUEL (Structured English QUEry Language) que más tarde sería ampliamente implementado por el SGBD (Sistemas Gestores de Bases de Datos) experimental System R, desarrollado en 1977 también por IBM. El SEQUEL terminaría siendo el predecesor de SQL, siendo éste una versión evolucionada del primero. El SQL pasa a ser el lenguaje por excelencia de los diversos SGBD relacionales surgidos en los años siguientes y es por fin estandarizado en 1986 por el ANSI, dando lugar a la primera versión estándar de este lenguaje, el "SQL-86" o "SQL1". Al año siguiente este estándar es también adoptado por la ISO. Sin embargo este primer estándar no cubre todas las necesidades de los desarrolladores e incluye funcionalidades de definición de almacenamiento que se consideraron suprimir. Así que en 1992 se lanza un nuevo estándar ampliado y revisado del SQL llamado "SQL-92" o "SQL2". En la actualidad el SQL es el estándar de facto de la inmensa mayoría de los SGBD comerciales. Y, aunque la diversidad de añadidos particulares que incluyen las distintas implementaciones comerciales del lenguaje es amplia, el soporte al estándar SQL-92 es general y muy amplio. El ANSI SQL sufrió varias revisiones y agregados a lo largo del tiempo: Año 1986 Nombre SQL-86 Alias SQL-87 Comentarios Primera publicación hecha por ANSI. Confirmada por ISO en 1987. 1989 SQL-89 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 autonumericas. 2006 SQL:2006 ISO/IEC 9075-14:2006 Define las maneras en las cuales el SQL se puede utilizar conjuntamente con XML. Define maneras 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. Revisión menor. CARACTERÍSTICAS IMPORTANTES El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones sobre los mismos. Es un lenguaje declarativo de "alto nivel" o "de no procedimiento", que gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros, y no a registros individuales, 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 utilizas en un lenguaje de bajo nivel orientado a registro. Ofrece una plataforma de datos completa, más segura, confiable, administrable y escalable para aplicaciones críticas. Permite que los desarrolladores creen aplicaciones nuevas, capaces de almacenar y consumir cualquier tipo de datos en cualquier dispositivo, y que todos los usuarios tomen decisiones informadas en base a conocimientos relevantes. DEBILIDADES Y FORTALEZAS FORTALEZAS Protege la información. En SQL Server 2008 se mejoran el cumplimiento y la seguridad con capacidades de auditoría completas, cifrado de datos transparente y configuración de la superficie para minimizar las amenazas de seguridad al habilitar sólo los servicios que necesita. Asegura la continuidad empresarial. SQL Server 2008 incluye características de mirrorring de bases de datos, para aumentar la confiabilidad de las aplicaciones y simplificar la recuperación de éstas en caso de error de almacenamiento. Ofrece respuestas previsibles. SQL Server 2008 ofrece una recopilación más amplia de datos de rendimiento, un repositorio centralizado de datos para almacenar los datos de rendimiento y una compresión de datos mejorada que le permite almacenar más datos de manera eficaz. FORTALEZAS Minimiza la supervisión administrativa. Declarative Management Framework (DMF) es un nuevo marco de administración basado en directivas en SQL Server 2008, que simplifica las operaciones de mantenimiento cotidiano y reduce el coste total de propiedad al definir un conjunto común de directivas para la mayoría de las operaciones con bases de datos. Integra cualquier tipo de datos. SQL Server 2008 ofrece un rendimiento mejorado de las consultas y un almacenamiento de datos eficiente y rentable que le permite administrar y redimensionar grandes cantidades de usuarios y de datos. Envía información relevante. Con SQL Server 2008 los usuarios pueden crear informes complejos con Microsoft Office Word y Microsoft Office Excel y compartirlos de manera interna y externa. El acceso instantáneo a información relevante permite a sus empleados tomar decisiones mejores y más relevantes de manera más rápida. DEBILIDADES Algunas cosas son difíciles de hacer. Varios proveedores para aplicar diferentes idiomas. En sentido a DLL y DML no tiene un procedimiento de lenguaje estándar. COMPARATIVOS CON SMBD SOPORTE DEL SISTEMA OPERATIVO Windows Mac OS X Linux BSD Unix z/OS Adaptive Server Enterprise Sí Sí Sí Sí Sí No ANTs Data Server Sí Sí Sí Sí Sí ? DB2 Sí No Sí No Sí Sí Firebird Sí Sí Sí Sí Sí Quizá HSQLDB Sí Sí Sí Sí Sí Sí Informix Sí Sí Sí Sí Sí No Ingres Sí ? Sí ? Sí Quizá InterBase Sí No Sí No Sí No SapDB Sí No Sí No Sí ? MaxDB Sí No Sí No Sí ? Microsoft SQL Server Sí No No No No No MySQL Sí Sí Sí Sí Sí Quizá Oracle Sí Sí Sí Sí Sí Sí PostgreSQL Sí Sí Sí Sí Sí No SmallSQL Sí Sí Sí Sí Sí Sí SQLite Sí Sí Sí Sí Sí Quizá CARACTERISTICAS FUNDAMENTALES ACID Integridad referencial Transacciones Unicode Adaptive Server Enterprise Sí Sí Sí Sí ANTs Data Server Sí Sí Sí Sí DB2 Sí Sí Sí Sí Firebird Sí Sí Sí Sí HSQLDB Sí Sí Sí Sí Informix Sí Sí Sí Sí Ingres Sí Sí Sí Sí InterBase Sí Sí Sí Sí SapDB Sí Sí Sí Sí MaxDB Sí Sí Sí Sí Microsoft SQL Server Sí Sí Sí Sí MySQL Depende Depende Depende Sí Oracle Sí Sí Sí Sí PostgreSQL Sí Sí Sí Sí SQLite Sí No Básico Sí TABLAS Y VISTAS Tabla temporal Vista materializada Adaptive Server Enterprise Sí Sí ANTs Data Server Sí Sí DB2 Sí Sí Firebird Sí No HSQLDB Sí No Informix Sí Sí Ingres Sí No InterBase Sí No SapDB Sí No MaxDB Sí No Microsoft SQL Server Sí Similar 6 MySQL Sí No Oracle Sí Sí PostgreSQL Sí No 4 SQLite Sí No INDICES Árbol R-/R+ Hash Expresión Parcial Reversa Mapa de bits Adaptive Server Enterprise No No Sí No Sí No ANTs Data Server Sí Sí Sí Sí Sí Sí DB2 No ? No No Sí Sí Firebird No No No No No No HSQLDB ? ? ? ? ? ? Informix Sí Sí Sí No No No Ingres Sí Sí No No No No InterBase ? ? No No No No SapDB ? ? No No No No MaxDB ? ? No No No No Microsoft SQL Server ? ? No No No No MySQL Tablas MyISAM solamente Tablas HEAP solamente No No No No Oracle Edición EE solamente ? Sí No Sí Sí PostgreSQL Sí Sí Sí Sí No No SQLite No No No No No No OTROS OBJETOS Dominio Cursor Trigger Función Procedimiento Rutina externa Adaptive Server Enterprise Sí Sí Sí Sí Sí Sí ANTs Data Server Sí Sí Sí Sí Sí Sí DB2 No Sí Sí Sí Sí Sí Firebird Sí Sí Sí Sí Sí Sí HSQLDB ? No Sí Sí Sí Sí Informix ? Sí Sí Sí Sí Sí Ingres Sí Sí Sí Sí Sí ? InterBase Sí Sí Sí Sí Sí Sí SapDB Sí Sí Sí Sí Sí ? MaxDB Sí Sí Sí Sí Sí ? Microsoft SQL Server No Sí Sí Sí Sí Sí MySQL No Sí Sí Sí Sí Sí Oracle Sí Sí Sí Sí Sí Sí PostgreSQL Sí Sí Sí Sí Sí Sí SQLite No No Sí No No Sí http://www.microsoft.com/latam/sqlserver/microsoft-oracle.aspx COSTOS DE SQL SERVER http://www.microsoft.com/sqlserver/2008/en/us/pricing.aspx TUTORIALES Y/O DEMOS http://technet.microsoft.com/es-es/library/bb500433.aspx CONCLUSIONES SQL Server 2008 aporta la tecnología y las funcionalidades que las organizaciones necesitan. Con avances muy notables en las áreas de plataforma de misión crítica, desarrollo dinámico, uso de tipos de datos no relacionales y análisis de los datos de negocio, los beneficios que ofrece SQL Server 2008 son muy importantes para toda clase de empresas. BIBLIOGRAFÍA www.microsoft.com/spain/empresas/business/products/sql/evaluate.mspx www.microsoft.com/latam/sqlserver/microsoft-oracle.aspx http://geeks.ms/blogs/ozonicco/archive/2007/07/22/debilidades-del-sql-en-elprocesamiento-de-bases-de-datos.aspx http://www.microsoft.com/mexico/sql/2008/info_nuevas_carct.aspx http://cs1.mcm.edu/~rob/class/dbms/notes/Chapt05/Chapter5.html http://www.microsoft.com/sqlserver/2008/en/us/pricing.aspx http://es.wikipedia.org/wiki/Anexo:Comparaci%C3%B3n_de_sistemas_administrado res_de_bases_de_datos_relacionales DLL es la sigla de Dynamic Link Library o Dynamic-Link Library (Bibliotecas de Enlace Dinámico), término con el que se refiere a los archivos con código ejecutable que se cargan bajo demanda del programa por parte del sistema operativo. Esta denominación se refiere a los sistemas operativos Windows siendo la extensión con la que se identifican los ficheros, aunque el concepto existe en prácticamente todos los sistemas operativos modernos. Lenguaje de Manipulación de Datos (Data Manipulation Language (DML) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado. El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras.