Sunteți pe pagina 1din 11

SQL

El lenguaje de consulta estructurado o SQL (por sus siglas en ingls Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que
permite especificar diversos tipos de operaciones en ellas. Una de sus caractersticas es el manejo del lgebra y el clculo relacional que permiten efectuar consultas con el
fin de recuperar de forma sencilla informacin de inters de bases de datos, as como hacer cambios en ellas.
Orgenes y evolucin
Los orgenes del SQL estn 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 clculo de predicados. Basndose en estas ideas, los laboratorios de IBM definieron el lenguaje SEQUEL (Structured English Query Language) que ms
tarde fue ampliamente implementado por el sistema de gestin de bases de datos (SGBD) experimental System R, desarrollado en 1977 tambin por IBM. Sin embargo, fue
Oracle quien lo introdujo por primera vez en 1979 en un producto comercial.
El SEQUEL termin siendo el predecesor de SQL, que es una versin evolucionada del primero. El SQL pasa a ser el lenguaje por excelencia de los diversos sistemas de
gestin de bases de datos relacionales surgidos en los aos siguientes y fue por fin estandarizado en 1986 por el ANSI, dando lugar a la primera versin estndar de este
lenguaje, el "SQL-86" o "SQL1". Al ao siguiente este estndar es tambin adoptado por la ISO.
Sin embargo, este primer estndar no cubra todas las necesidades de los desarrolladores e inclua funcionalidades de definicin de almacenamiento que se consider
suprimirlas. As que, en 1992, se lanz un nuevo estndar ampliado y revisado del SQL llamado "SQL-92" o "SQL2".
En la actualidad el SQL es el estndar de facto de la inmensa mayora de los SGBD comerciales. Y, aunque la diversidad de aadidos particulares que incluyen las distintas
implementaciones comerciales del lenguaje es amplia, el soporte al estndar SQL-92 es general y muy amplio.
El ANSI SQL sufri varias revisiones y agregados a lo largo del tiempo:
Ao Nombre Alias Comentarios
1986 SQL-86 SQL-87 Primera publicacin hecha por ANSI. Confirmada por ISO en 1987.

1989 SQL-89 Revisin menor.

1992 SQL-92 SQL2 Revisin mayor.

1999 SQL:1999 SQL2000 Se agregaron expresiones regulares, consultas recursivas (para relaciones jerrquicas), triggers y algunas caractersticas orientadas a objetos.

2003 SQL:2003 Introduce algunas caractersticas de XML, cambios en las funciones, estandarizacin del objeto sequence y de las columnas autonumericas. (Ver Eisenberg
et al.: SQL:2003 Has Been Published.)

2005 SQL:2005 ISO/IEC 9075-14:2005 Define las maneras en las cuales el SQL se puede utilizar conjuntamente con XML. Define maneras de importar y guardar datos XML
en una base de datos SQL, manipulndolos dentro de la base de datos y publicando el XML y los datos SQL convencionales en forma XML. Adems,
proporciona facilidades que permiten a las aplicaciones integrar dentro de su cdigo 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:2008 Permite el uso de la clusula ORDER BY fuera de las definiciones de los cursores. Incluye los disparadores del tipo INSTEAD OF. Aade la sentencia
TRUNCATE.

Caractersticas generales del SQL
El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales y permite as gran variedad de operaciones.
Es un lenguaje declarativo de "alto nivel" o "de no procedimiento" que, gracias a su fuerte base terica y su orientacin al manejo de conjuntos de registros y no a registros
individuales permite una alta productividad en codificacin y la orientacin a objetos. De esta forma, una sola sentencia puede equivaler a uno o ms programas que se utilizaran
en un lenguaje de bajo nivel orientado a registros. SQL tambin tiene las siguientes caractersticas:
Lenguaje de definicin de datos: El LDD de SQL proporciona comandos para la definicin de esquemas de relacin, borrado de relaciones y modificaciones de los esquemas de
relacin.
Lenguaje interactivo de manipulacin de datos: El LMD de SQL incluye lenguajes de consultas basado tanto en lgebra relacional como en clculo relacional de tuplas.
Integridad: El LDD de SQL incluye comandos para especificar las restricciones de integridad que deben cumplir los datos almacenados en la base de datos.
Definicin de vistas: El LDD incluye comandos para definir las vistas.
Control de transacciones: SQL tiene comandos para especificar el comienzo y el final de una transaccin.
SQL incorporado y dinmico: Esto quiere decir que se pueden incorporar instrucciones de SQL en lenguajes de programacin como: C++, C, Java, PHP, Cobol, Pascal y Fortran.
Autorizacin: El LDD incluye comandos para especificar los derechos de acceso a las relaciones y a las vistas.


Tipos de Datos
Algunos de los tipos de datos bsicos de SQL son:
Date: una fecha de calendario que contiene el ao (de cuatro cifras), el mes y el da.
Time: La hora del da en horas minutos segundos (el valor predeterminado es 0).
Timestamp: la combinacin de Date y Time.

Optimizacin
Como ya se dijo antes, y suele ser comn en los lenguajes de acceso a bases de datos de alto nivel, el SQL es un lenguaje declarativo. O sea, que especifica qu es lo que se quiere y
no cmo conseguirlo, por lo que una sentencia no establece explcitamente un orden de ejecucin.
El orden de ejecucin interno de una sentencia puede afectar seriamente a la eficiencia del SGBD, por lo que se hace necesario que ste lleve a cabo una optimizacin antes de su
ejecucin. Muchas veces, el uso de ndices acelera una instruccin de consulta, pero ralentiza la actualizacin de los datos. Dependiendo del uso de la aplicacin, se priorizar el
acceso indexado o una rpida actualizacin de la informacin. La optimizacin difiere sensiblemente en cada motor de base de datos y depende de muchos factores.
Existe una ampliacin de SQL conocida como FSQL (Fuzzy SQL, SQL difuso) que permite el acceso a bases de datos difusas, usando la lgica difusa. Este lenguaje ha sido
implementado a nivel experimental y est evolucionando rpidamente.

Lenguaje de definicin de datos (DDL)
El lenguaje de definicin de datos (en ingls Data Definition Language, o DDL), es el que se encarga de la modificacin de la estructura de los objetos de la base de datos.
Incluye rdenes para modificar, borrar o definir las tablas en las que se almacenan los datos de la base de datos. Existen cuatro operaciones bsicas: CREATE, ALTER, DROP y
TRUNCATE.
Objetivos del Diseo de SQL Server
Los clientes estn buscando soluciones para sus problemas de negocios. La mayora de las "soluciones" de bases de datos solamente traen mltiples niveles de costos y
complejidad. La estrategia de Microsoft es la de hacer que SQL Server sea la base de datos ms fcil de utilizar para construir, administrar e implementar aplicaciones de
negocios. Esto significa tener que poner a disposicin un modelo de programacin rpido y sencillo para desarrolladores, eliminando la administracin de base de datos
para operaciones estndar, y suministrando herramientas sofisticadas para operaciones ms complejas.
SQL Server 7.0 disminuye el costo total de propiedad a travs de caractersticas como administracin multi-servidor y con una sola consola; ejecucin y alerta de trabajos
basadas en eventos; seguridad integrada; y scripting administrativo. Esta versin tambin libera al administrador de base de datos para aspectos ms sofisticados
del trabajo al automatizar las tareas de rutina. Al combinar estos poderosos servicios de administracin con las nuevas caractersticas de configuracin automtica,
Microsoft SQL Server 7.0 es la eleccin ideal de automatizacin de sucursales y aplicaciones de base de datos insertadas.
Los clientes invierten en sistemas de administracin de bases de datos, en forma de aplicaciones escritas para esa base de datos y la educacin que implica para la
implementacin y administracin. Esa inversin debe protegerse: a medida que el negocio crece, la base de datos deber crecer y manejar ms datos, transacciones y
usuarios. Los clientes tambin desean proteger las inversiones a medida que escalan aplicaciones de base de datos hacia equipos porttiles y sucursales.
Para cumplir con estas necesidades, Microsoft ofrece un motor de base datos nico que escala desde una computadora porttil que ejecuta Windows 95 o Windows 98,
hasta clusters de procesadores mltiples simtricos de terabyte que ejecutan Windows NT Server Enterprise Edition. Todos estos sistemas mantienen la seguridad y
confiabilidad que exigen los sistemas de negocios de misin crtica.
Nueva para el lanzamiento de 7.0 es una versin de rastro de baja memoria con capacidades de replicacin de multi-sitio. Se ajusta muy bien a las necesidades cada vez
mayores del mercado de la computacin mvil. Las otras caractersticas tales como bloqueo a nivel de lnea dinmico, el paralelismo intra-query, query distribuido, y
mejoras para las bases de datos muy grandes (VLDB) hacen que el SQL Server 7.0 sea la eleccin ideal para sistemas OLTP de altatecnologa y sistemas de data warehousing.
Mientras los sistemas de procesamiento siguen siendo un componente clave para las infraestructuras de bases de datos corporativas, las compaas tambin estn
invirtiendo bastante en mejorar la comprensin que tienen de sus datos. La estrategia de Microsoft consiste en reducir el costo y la complejidad del data warehousing
mientras hace que la tecnologa sea ms accesible a una mayor cantidad de pblico.
Microsoft ha establecido un enfoque total a todo el proceso de data warehousing (almacenamiento de datos) . El objetivo es facilitar la construccin y diseo de soluciones
de data warehousing costo efectivas a travs de una combinacin de tecnologas, servicios y alianzas con los proveedores.
La Microsoft Alliance for Data Warehousing es una coalicin que une a los lderes en la industria de almacenamiento de datos y aplicaciones. El Microsoft Data Warehousing
Framework constituye un conjunto de interfaces de programacin diseadas para simplificar la integracin y administracin de soluciones de data warehousing.
Las innovaciones del producto en SQL Server 7.0 mejoran el proceso de data warehousing: Servicios de Transformacin de Datos; manejo mejorado de las consultas
complejas y bases de datos muy grandes; procesamiento analtico en lnea e integrado; y el Microsoft Repository. Otro componente esencial es el soporte extenso para
integracin de terceros.
Las innovaciones permiten que SQL Server 7.0 sea el lder en varias de las categoras de aplicacin de rpido crecimiento en la industria de base de datos. Estas
incluyen comercio electrnico, computacin mvil, automatizacin de sucursales, aplicaciones de lnea de negocios insertadas y mercados de datos.
Las reas de liderazgo e innovacin en el Microsoft SQL Server 7.0 incluyen
La primera base de datos en escalar desde la computadora porttil hasta la empresa utilizando la misma base de cdigo y ofrecer el 100% de compatibilidad de
cdigo
La primera base de datos en soportar la auto-configuracin y auto-sintonizacin
Primera base de datos con OLAP integrado
La primera base de datos con Servicios de Transformacin de Datos integrado
El Data Warehousing Framework constituye el primer enfoque comprehensivo al problema de metadatos
La primera base de datos en proveer administracin de multi-servidor para cientos de servidores
La ms amplia gama de opciones de replicacin de cualquier base de datos
La mejor integracin con Windows NT Server
La mejor integracin con Microsoft Transaction Server
Lanzamientos SQL Server Recientes
Esta seccin provee una historia concisa de los lanzamientos SQL Server recientes. Una historia completa del desarrollo de SQL Server, desde sus comienzos hasta el
lanzamiento del 6.5 se encuentra disponible en Dentro del Microsoft SQL Server 6.5, de Ron Soukup, publicado por Microsoft Press, ISBN 1-57231-331-5.
El Standard Edition de SQL Server fue lanzado en abril de 1996.
El Enterprise Edition fue lanzado en diciembre de 1997. Se incluyeron caractersticas adicionales en esta edicin tales como soporte para Microsoft Cluster Server,
sintonizacin de 4 GB RAM, English Query y soporte para sistemas de hasta 8 procesadores.
El Service Pack actual para SQL Server 6.5 es SP4, lanzado en diciembre de 1997. SP3 fue lanzado en junio de 1997, SP2 en diciembre de 1996 y SP1 en agosto de
1996.
Beta 1 fue lanzado en junio de 1997 a 200 clientes. Este grupo inclua un nmero limitado de proveedores independientes de software (ISV), autores de libros,
diseadores de materiales para cursos, OEMs y algunas cuentas corporativas. No se pusieron copias a disposicin de la prensa o analistas. Este lanzamiento enfoc
las pruebas de funcionalidad de bajo nivel y programacin de interfaces.
Beta 2 fue lanzada a finales de diciembre de 1997 a 3000 clientes. El cubrimiento de las cuentas corporativas y de la comunidad ISV fue incrementado ampliamente,
y se agregaron cuentas internacionales. Se entregaron copias de Beta 2 a la prensa y a los analistas en el Taller de Examinadores celebrado el 21 y 22 de enero.
La versin Beta de Mercadeo ser lanzada el segundo trimestre del ao en curso con alta disponibilidad.
El lanzamiento a fabricantes est planeado para la segunda mitad del ao 1998. Las ediciones Standard y Enterprise de SQL Server 7.0 sern lanzadas
simultneamente.
Microsoft SQL Server revoluciona el concepto de Base de Datos para la Empresa. Rene en un slo producto la potencia necesaria para cualquier aplicacin empresarial
crtica junto con unas herramientas de gestin que reducen al mnimo el coste de propiedad. Con Microdoft SQL Server, la empresa tiene todo de serie.
Miles de Soluciones Disponibles: Tendr libertad de eleccin, ya que todas las aplicaciones de gestin del mercado corren sobre Microsoft SQL Server
Escalabilidad: Se adapta a las necesidades de la empresa, soportando desde unos pocos usuarios a varios miles. Empresas centralizadas u oficinas distribuidas,
replicando cientos de sites.
Potencia: Microsoft SQL Server es la mejor base de datos para Windows NT Server. Posee los mejores registros de los benchmarks independientes (TCP) tanto en
transacciones totales como en coste por transaccin.
Gestin: Con un completo interfaz grfico que reduce la complejidad innecesaria de las tareas de administracin y gestin de la base de datos.
Orientada al desarrollo: Visual Basic, Visual C++, Visual J++, Visual Interdev, Microfocus Cobol y muchas otras herramientas son compatibles con Microsoft SQL
Server.
La mejor base de datos para Internet, Internet y Extranet.
Diseada desde su inicio para trabajar en entornos Internet e Intranet, Microsoft SQL Server es capaz de integrar los nuevos desarrollos para estos entornos
especficos con los desarrollos heredados de aplicaciones "tradicionales". Es ms, cada aplicacin que desarrollemos para ser empleada en entornos de red local
puede ser utilizada de forma transparente -en parte o en su totalidad- desde entornos Internet, Intranet o Extranet.
Plataforma de desarrollo fcil y abierta: integrada con las mejores tecnologas de Internet como ActiveX, ADC y Microsoft Transaction Server y con las mejores
herramientas de gestin y desarrollo para Internet como FrontPage97, Microsoft Office97 y Visual Interdev.
Diseada para INTERNET: Es el nico gestor de base de datos que contiene de forma integrada la posibilidad de generar contenido HTML de forma automtica.
La Base de Soluciones Integradas: La Integracin total con BaclOffice permite resolver toda las necesidades de infraestructura de la empresa con un slo paquete.
Potente y Escalable: Microsoft SQL Server es la nica base de datos cuyo rendimiento sobre Internet est publicado, ofreciendo registros espectaculares.
Mnimo coste de Propiedad: La sencillez de la instalacin, y la potencia de sus herramientas de gestin y el menor coste de toda la industria para entornos Internet,
hacen de Microsoft SQL Server la mejor opcin con el menor coste.
Arquitectura RDBMS.
Arquitectura de servidor simtrico y paralelo con balanceo automtico de carga en mltiples procesadores.
Kernel multithread real para mejor rendimiento transaccional y escalabilidad.
Soporte grandes bases de datos (VLDB) (+1 TB).
Completo proceso transaccional interactivo con rollback automtico y recuperacin de roll-forward.
Optimizador de consultas mejorado basado en coste.
Checkpointing mejorado para un mejor throughput de datos y tiempo de respuesta.
Soporte E/S asncrono para acceso en paralelo a mltiples dispositivos de disco para un mejor throughput.
Bloqueo a nivel fija y pgina con escalacin de bloqueos; resolucin automtica de deadlocks.
Datos distribuidos y replicacin.
Llamadas a procedimientos remotos servidor-a-servidor (procedimientos almacenados remotos).
Replicacin asncrona o contnua basada en registros, o sincronizacin planificada de tablas point-in-time.
Configuracin de replicacin grfica y caractersticas de gestin.
Replicacin de subscriptores ODBC, incluyendo IBM DB2, ORACLE, SYBASE y Microsoft Access.
Ei Distributed Transaction Coordinator gestiona transacciones que involucran a dos o ms servidores SQL (proceso Two Phase Commit 2PC) transparente.
Replicacin de tipos de datos Texto e Imagen.
<>
Data Warehousing y amplio soporte de datos.
Ejecucin transaccional en paralelo, carga e indexacin de datos , y verificacin de integridad.
Backup/restore en paralelo de alta velocidad que soporta hasta 32 discos o dispositivos de cinta.
Las extensiones de consulta OLAP, CUBE, y ROLLUP permiten conjuntos de resultados multidimensionales.
EXEC e INTO ahora permiten almacenar en tablas resultados desde procedimientos almacenados.
Copias de seguridad en cinta y recuperacin de tablas individuales.
Reconstruccin de ndice sin realizar dropping y recreacin del ndice.
Integracin Internet y correo electrnico.
MAPI, permitiendo aplicaciones de flujo de trabajo y notificacin de cambio de datos automtica.
Compatibilidad con Microsoft Internet Information Server y otros servidores Web populares.
SQL Web Assistant, para el retorno automtico de datos en formato HTML.
Procedimientos almacenados para generar pginas HTML o actualizar datos en plantillas Web.
Posibilidad de poblar automticamente carpetas pblicas de Microsoft Exchange con datos.
Gestin y administracin centralizada de bases de datos.
SQL Enterprise Manager, una consola de gestin y motorizacin 32-bit visual basada en Windows.
Un nico punto de configuracin y gestin de control de datos remotas.
SQL Executive, planificador de trabajos y monitor para gestin proactiva de servidores distribuidos.
Operaciones remotas desatendidas mediante un "agente inteligente" que incluye evento-alerta- respuesta.
Scripts Visual Basic a travs de SQL-Distributed Management Objects (SQL-DMO) basados en OLE.
DBA Assistant, para el mantenimiento automtico rutinario en una nica tarea planificada.
SQL Trace, para monitorizar consultas cliente-servidor mediante SQL almacenadas en archivos de registros.
Soporte de MIB y traps SNMP para monitorizar SQL Server desde herramientas de gestin basadas en SNMP.
Disponibilidad, fiabilidad y tolerancia a fallos.
Mirroring de dispositivos de base de datos con failover automtico para tolerancia a fallos de dispositivos.
Copias de seguridad online desatendidas garantizando la consistencia de datos para la ms alta disponibilidad.
Contextos de usuario protegidos, que pueden aislar los fallos a un thread de un nico usuario.
Recuperacin point-in-time para restaurar bases de datos o transaccin logs en un intervalo de tiempo.
Tolerancia a fallos de servidor, permitiendo failover automtico a un servidor de backup o en espera.
Mejoras en programabilidad y lenguaje.
Triggers, procedimientos almacenados (autoexec), disparador de eventos antes y despus de conexiones.
Procedimientos almacenados extendidos (funciones definidas por el usuario) utilizando C/C++.
Cursores basados en el motor con scrolling hacia adelante y atrs; posicionamiento absoluto y relativo.
Sentencias DLL permitidas dentro de transacciones.
Transacciones distribuidas dentro de interfaces DB-Librery, ODBC, Transact-SQL, XA y OLE Transaction.
Procedimientos almacenados OLE Automation.
Seguridad.
Un nico ID de login tanto para red como para la DB para mejorar la seguridad y facilitar la administracin.
Password y encriptacin de datos en red para mejorar la seguridad.
Encriptacin de procedimientos almacenados para la integridad y seguridad de cdigo de aplicacin.
Interoperabilidad e integracin con desktops.
API estndard DB-Library totalmente soportada: estndar ODBC Nivel 2 totalmente soportado como API nativa.
Gateway Open Data Services (ODS) programable para acceso transparente a fuentes de datos externas.
Gateways de Microsoft y de terceros para fuentes de datos relacionales y no-relacionales, incluyendo IBM DB2.
Soporte de importantes estndares de mercado como ANSI SQL-92, FIPS 127-2, XA, SNMP.
Soporte de transacciones.

Soporta procedimientos almacenados.

Incluye tambin un entorno grfico de administracin, que permite el uso de comandos DDL y DML grficamente.
Permite trabajar en modo cliente-servidor, donde la informacin y datos se alojan en el servidor y los terminales o clientes de la red slo acceden a la
informacin.
Adems permite administrar informacin de otros servidores de datos.
Este sistema incluye una versin reducida, llamada MSDE con el mismo motor de base de datos pero orientado a proyectos ms pequeos, que en sus versiones
2005 y 2008 pasa a ser el SQL Express Edition, que se distribuye en forma gratuita.
Es comn desarrollar completos proyectos complementando Microsoft SQL Server y Microsoft Access a travs de los llamados ADP (Access Data Project). De esta
forma se completa la base de datos (Microsoft SQL Server), con el entorno de desarrollo (VBA Access), a travs de la implementacin de aplicaciones de dos capas
mediante el uso de formularios Windows.
En el manejo de SQL mediante lneas de comando se utiliza el SQLCMD, osql, o PowerShell.
Para el desarrollo de aplicaciones ms complejas (tres o ms capas), Microsoft SQL Server incluye interfaces de acceso para varias plataformas de desarrollo, entre
ellas .NET, pero el servidor slo est disponible para Sistemas Operativos.
El tipo NUMERIC fue mejorado para ser usado como identificador de columna a partir de la versin 2008 R2.







Bibliografa

Bsica

Bases de Datos, 5; edicin, Pearson Education, 2008.

bases de datos con Access 2002. Daz de Santos, 2003.

Paraninfo. 2008

Bases de Datos, 5 edicin, Madrid, 2006.
Complementaria
Coles, Michael. Pro T-SQL 2008 programmer's guide. Apress, cop.
2008
Vieira, Robert. Professional Microsoft SQL Server 2008 programming.
Wiley, cop. 2009.

S-ar putea să vă placă și