SQL-92
SQL-92 fue la tercera revisión del lenguaje SQL. A diferencia de SQL-89, fue una revisión importante del estándar.[cita requerida] Aparte de algunas incompatibilidades menores, el estándar SQL-89 es compatible con SQL-92.
La especificación estándar creció aproximadamente unas cinco veces en comparación con SQL-89. Gran parte de ello se debía a especificaciones más precisas de las características existentes. El aumento debido a las nuevas características fue solo por un factor de 1,5–2. Muchas de las nuevas características ya habían sido implementadas por los vendedores antes de que se adoptase el nuevo estándar. Sin embargo, la mayoría de las nuevas características se agregaron en los niveles "intermedio" y "completo" de la especificación, lo que significa que la conformidad con el nivel de entrada SQL-92 apenas era más exigente que la conformidad con SQL-89.
Las revisiones posteriores del estándar incluyen SQL:1999 (SQL3), SQL:2003, SQL:2008, SQL:2011 y SQL:2016.
Nuevas características
[editar]Las nuevas características significativas incluyen:
- Nuevos tipos de datos definidos:
DATE
,TIME
,TIMESTAMP
,INTERVAL
,BIT
string,VARCHAR
strings, yNATIONAL CHARACTER
strings. - Soporte adicional codificación de caracteres más allá del requisito base para representar sentencias SQL.
- Nuevas operaciones escalares tales como concatenación de cadenas y extracción de subcadenas, matemáticas, de fecha y hora y declaraciones condicionales.
- Nuevas operaciones como
UNION JOIN
,NATURAL JOIN
, establecer diferencias y establecer intersecciones. - Expresiones condicionales con
CASE
. - Soporte alternativo para el Lenguaje de Definición de Datos (DDL por sus siglas en inglés) a través de
ALTER
yDROP
. - Posibilidad de enlazar C (lenguaje de programación), Ada (lenguaje de programación) y MUMPS.
- Nueva funcionalidad para controlar los privilegios de usuario.
- Nueva funcionalidad de comprobación de la integridad, como la restricción de verificación.
- Un nuevo esquema de información de sólo lectura sobre metadatos de la base de datos como, por ejemplo, las tablas que contiene, etc. Un ejemplo de esto es
SELECT * FROM INFORMATION_SCHEMA.TABLES;
. - Ejecución dinámica de sentecias (en lugar de prepararlas).
- Mejor soporte para acceso remoto.
- Tablas temporales. Por ejemplo,
CREATE TEMP TABLE
etc. - Transacciones.
- Nuevas operaciones para cambiar tipos de datos en el momento indicado a través de
CAST (expr AS type)
. - Cursores.
- Asegura la compatibilidad hacia delante y hacia atrás con otros estándares SQL.
Extensiones
[editar]Dos extensiones significativas se publicaron después del estándar (pero antes de la siguiente revisión importante).
Referencias
[editar]Enlaces externos
[editar]- The SQL-92 standard
- BNF Grammar for ISO/IEC 9075:1992 - Database Language SQL (SQL-92)
- Presentation of SQL:1999; covers history and features of SQL-92 as well.