You are on page 1of 9

Breve Historia de SQL La historia de SQL (que se pronuncia deletreando en ingls las letras que lo componen, es decir "ese-cu-ele"

y no "siquel" como se oye a menudo) empieza en 1974 con la definicin, por parte de Donald Chamberlin y de otras personas que trabajaban en los laboratorios de investigacin de IBM, de un lenguaje para la especificacin de las caractersticas de las bases de datos que adoptaban el modelo relacional. Este lenguaje se llamaba SEQUEL (Structured English Query Language) y se implement en un prototipo llamado SEQUEL-XRM entre 1974 y 1975. Las experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una revisin del lenguaje (SEQUEL/2), que a partir de ese momento cambi de nombre por motivos legales, convirtindose en SQL. El prototipo (System R), basado en este lenguaje, se adopt y utiliz internamente en IBM y lo adoptaron algunos de sus clientes elegidos. Gracias al xito de este sistema, que no estaba todava comercializado, tambin otras compaas empezaron a desarrollar sus productos relacionales basados en SQL. A partir de 1981, IBM comenz a entregar sus productos relacionales y en 1983 empez a vender DB2. En el curso de los aos ochenta, numerosas compaas (por ejemplo Oracle y Sybase, slo por citar algunos) comercializaron productos basados en SQL, que se convierte en el estndar industrial de hecho por lo que respecta a las bases de datos relacionales. En 1986, el ANSI adopt SQL (sustancialmente adopt el dialecto SQL de IBM) como estndar para los lenguajes relacionales y en 1987 se transform en estndar ISO. Esta versin del estndar va con el nombre de SQL/86. En los aos siguientes, ste ha sufrido diversas revisiones que han conducido primero a la versin SQL/89 y, posteriormente, a la actual SQL/92. El hecho de tener un estndar definido por un lenguaje para bases de datos relacionales abre potencialmente el camino a la intercomunicabilidad entre todos los productos que se basan en l. Desde el punto de vista prctico, por desgracia las cosas fueron de otro modo. Efectivamente, en general cada productor adopta e implementa en la propia base de datos slo el corazn del lenguaje SQL (el as llamado Entry level o al mximo el Intermediate level), extendindolo de manera individual segn la propia visin que cada cual tenga del mundo de las bases de datos. Actualmente, est en marcha un proceso de revisin del lenguaje por parte de los comits ANSI e ISO, que debera terminar en la definicin de lo que en este momento se conoce como SQL3. Las caractersticas principales de esta nueva encarnacin de SQL deberan ser su transformacin en un lenguaje stand-alone (mientras ahora se usa como lenguaje hospedado en otros lenguajes) y la introduccin de nuevos tipos de datos ms complejos que permitan, por ejemplo, el tratamiento de datos multimediales.

SQL Server Historia de Liberaciones Versin 1.0 (OS/2) 4.21 (WinNT) 6.0 6.5 7.0 Ao Nombre de la Nombre Clave Liberacin SQL Server 1.0 SQL 4.21 Server

1989

1993 1995 1996 1998 1999

SQL Server 6.0 SQL95 SQL Server 6.5 Hydra SQL Server 7.0 Sphinx SQL Server 7.0 Plato OLAP Tools SQL 2000 Server Shiloh

8.0

2000

8.0

2003

SQL Server 2000 Liberty 64-bit Edition SQL 2005 SQL 2008 Server Yukon

9.0

2005

10.0

2008

Server

Katmai

10.5

2010

SQL Server Kilimanjaro 2008 R2

Objetos del motor de base de datos


Objeto de Motor de base de datos de SQL Server Tamao de lote
1

Tamao y cantidad mxima de SQL Server (32 bits) 65.536 * Tamao de paquete de red 8,000 8,060 900 900 900 8,060 El menor del tamao del lote o 250 MB 2^31-1 2^30-1 1 Limitado solo por el nmero de

Tamao y cantidad mxima de SQL Server (64 bits) 65.536 * Tamao de paquete de red 8,000 8,060 900 900 900 8,060 El menor del tamao del lote o 250 MB

Bytes por columna de cadenas cortas Bytes por GROUP BY y ORDER BY Bytes por clave de ndice Bytes por clave externa Bytes por clave principal Bytes por fila
8 2

Bytes en texto de origen de un procedimiento almacenado

Bytes por columna varchar(max), varbinary(max), xml, text o image Caracteres por columna ntext o nvarchar(max) ndices clster por tabla Columnas en GROUP BY y ORDER BY

2^31-1 2^30-1 1 Limitado solo por el nmero de bytes

bytes Columnas o expresiones en una instruccin GROUP BY WITH CUBE o WITH ROLLUP Columnas por clave de ndice Columnas por clave externa Columnas por clave principal Columnas por tabla no ancha Columnas por tabla ancha Columnas por instruccin SELECT Columnas por instruccin INSERT Conexiones por cliente
7

10

10

16 16 16 1,024 30,000 4,096 4096 Valor mximo de conexiones configuradas 524.272 terabytes 32,767 32,767 32,767

16 16 16 1,024 30,000 4,096 4096 Valor mximo de conexiones configuradas 524.272 terabytes 32,767 32,767 32,767

Tamao de la base de datos Bases de datos por instancia de SQL Server Grupos de archivos por base de datos Archivos por base de datos

Tamao de archivo (datos) Tamao de archivo (registro) Referencias de tabla de claves externas por tabla Longitud del identificador (en caracteres) Instancias por equipo
4

16 terabytes 2 terabytes 253 128 50 instancias en un servidor independiente para todas las ediciones de SQL Server. SQL Server admite 25 instancias en un clster de conmutacin por error.

16 terabytes 2 terabytes 253 128 50 instancias en un servidor independiente. 25 instancias en un clster de conmutacin por error.

Longitud de una cadena que contiene instrucciones SQL (tamao de 1 lote) Bloqueos por conexin Bloqueos por instancia de SQL Server SQL Server
5

65.536 * Tamao de paquete de red

65.536 * Tamao de paquete de red

Mximo de bloqueos por servidor Hasta 2.147.483.647


6

Mximo de bloqueos por servidor Limitado solo por la memoria 32 32 32 999 32

Niveles de procedimientos almacenados anidados Subconsultas anidadas Niveles de desencadenadores anidados ndices no clster por tabla

32 32 32 999 32

El nmero de expresiones distintas en la clusula BY GROUP cuando

cualquiera de los elementos siguientes est presente: CUBE, ROLLUP, GROUPING SETS, WITH CUBE, WITH ROLLUP El nmero de conjuntos de agrupamiento generados por los operadores de la clusula BY GROUP Parmetros por procedimiento almacenado Parmetros por funcin definida por el usuario REFERENCES por tabla Filas por tabla 4,096 4,096

2,100 2,100 253 Limitado por el espacio de almacenamiento disponible

2,100 2,100 253 Limitado por el espacio de almacenamiento disponible Limitado por el nmero de objetos de la base de datos 1,000 30,000 Limitado solo por los recursos disponibles

Tablas por base de datos

Limitado por el nmero de objetos de la base de datos 1,000 30,000 Limitado solo por los recursos disponibles Limitado por el nmero de objetos de la base de datos 4096

Particiones por tabla o ndice con particiones Estadsticas en columnas no indizadas Tablas por instruccin SELECT

Desencadenadores por tabla

Limitado por el nmero de objetos de la base de datos 4096

Columnas por instruccin UPDATE (tablas anchas)

Ediciones SQL Server 2000 SQL Server 2000 est disponible en seis diferentes versiones adems en cualquier edicin se incluye el SQL Server 2000 Desktop Engine: Enterprise, soporta todas las caractersticas de SQL Server 2000. Esta edicin es para empresas que implementan medianas y grandes bases de datos, las cuales brindan recursos a soluciones web, organizaciones con un alto ndice de trabajo transaccional, y soporte para data warehouse. Estndar, ideal para aplicaciones que necesiten brindar informacin a grupos de trabajos o departamentos dentro de una organizacin. Entre las caractersticas ms saltantes que no se encuentran disponibles para el motor relacional, podemos mencionar: Clustering Log Shipping Vistas indexadas Entre las caractersticas ms destacadas que no se encuentran disponibles para los servicios de anlisis: Definicin de cubos particionados Cubos OLAP enlazados Soporte para dimensiones ROLAP Celdas calculadas Personal, soporta todas las caractersticas del SQL Server 2000 Standard Edition, excepto la replicacin transaccional, para lo cual slo puede ser definido como un suscriptor. Windows CE Edition, es empleado para almacenar informacin en dispositivos Windows CE. SQL Server 2000 CE es implementado como un conjunto de libreras (DLLs) que operan como un OLE DB CE Provider. Est implementacin permite que SQL Server 2000 CE soportar ActiveX Data Objects for Windows CE (ADOCE) y OLE DB CE APIs en Windows CE versiones disponibles para Visual Basic y Visual C++. Adems tambin es posible que mltiples aplicaciones puedan compartir al mismo tiempo un conjunto de DLLs. Developer Edition, soporta todas las caractersticas de SQL Server 2000, adems de un conjunto de herramientas grficas para la configuracin de idiomas, esta es una edicin slo para desarrolladores que emplean SQL Server como su origen de datos. Esta edicin slo esta licenciada para desarrollo y prueba de los sistemas. Enterprise Evaluation Edition, soporta todas las caractersticas de SQL Server2000, a excepcin de las herramientas grficas para configuracin del lenguaje. Esta edicin es libre y se puede descargar desde el Web aunque slo podr ejecutarla por 120 das.

SQL Server 2000 Desktop Engine, es una versin distribuible del motor de base de datos relacional de SQL Server 2000. Esta edicin es empleada para aquellas aplicaciones que no requieran la implementacin de tareas administrativas para el cliente. Debe recordar que las bases de datos no deben exceder los 2 Gb. de tamao. Bases de Datos de SQL Server SQL Server soporta bases de datos del sistema y bases de datos del usuario. Las bases de datos del sistema, almacenan informacin que permite operar y administrar el sistema, mientras que las de usuario almacenan los datos requeridos por las operaciones del cliente. Las bases de datos del sistema son: master La base de datos master se compone de las tablas de sistema que realizan el seguimiento de la instalacin del servidor y de todas las bases de datos que se creen posteriormente. Asimismo controla las asignaciones de archivos, los parmetros de configuracin que afectan al sistema, las cuentas de inicio de sesin. Esta base de datos es crtica para el sistema, as que es bueno tener siempre una copia de seguridad actualizada. tempdb Es una base de datos temporal, fundamentalmente un espacio de trabajo, es diferente a las dems bases de datos, puesto que se regenera cada vez que arranca SQL Server. Se emplea para las tablas temporales creadas explcitamente por los usuarios, para las tablas de trabajo intermedias de SQL Server durante el procesamiento y la ordenacin de las consultas. model Se utiliza como plantilla para todas las bases de datos creadas en un sistema. Cuando se emite una instruccin CREATE DATABASE, la primera parte de la base de datos se crea copiando el contenido de la base de datos model, el resto de la nueva base de datos se llena con pginas vacas. msdb Es empleada por el servicio SQL Server Agent para guardar informacin con respecto a tareas de automatizacin como por ejemplo copias de seguridad y tareas de duplicacin, asimismo solucin a problemas. La informacin contenida en las tablas que contiene esta base de datos, es fcilmente accedida desde el Administrador Empresarial, as que se debe tener cuidado de modificar esta informacin directamente a menos que se conozca muy bien lo que se esta haciendo. Distribution Almacena toda la informacin referente a la distribucin de datos basada en un proceso de replicacin.