stringtranslate.com

SQL:1999

SQL:1999 (también llamado SQL 3) fue la cuarta revisión del lenguaje de consulta de bases de datos SQL . Introdujo muchas características nuevas, muchas de las cuales requirieron aclaraciones en la versión posterior SQL:2003 . Mientras tanto, [ aclaración necesaria ] SQL:1999 está obsoleto.

Resumen

Los documentos de la norma ISO se publicaron entre 1999 y 2002 en varias entregas, la primera de las cuales constaba de varias partes. A diferencia de las ediciones anteriores, el nombre de la norma utilizaba dos puntos en lugar de un guion para mantener la coherencia con los nombres de otras normas ISO . La primera entrega de SQL:1999 tenía cinco partes:

Posteriormente se publicaron tres partes más, también consideradas parte de SQL:1999:

Nuevas funciones

Tipos de datos

Tipos de datos booleanos

El estándar SQL:1999 requiere un tipo booleano, [1] pero muchos servidores SQL comerciales ( Oracle Database , IBM Db2 ) no lo admiten como tipo de columna, tipo de variable o no lo permiten en el conjunto de resultados. Microsoft SQL Server es uno de los pocos sistemas de bases de datos que admite correctamente valores BOOLEAN utilizando su tipo de datos "BIT" [ cita requerida ] . Cada campo de 1 a 8 bits ocupa un byte completo de espacio en el disco. MySQL interpreta "BOOLEAN" como sinónimo de TINYINT (entero con signo de 8 bits). [2] PostgreSQL proporciona un tipo booleano conforme al estándar. [3]

Distintos tipos de energía definidos por el usuario

A veces llamados simplemente tipos distintos , estos se introdujeron como una característica opcional (S011) para permitir que los tipos atómicos existentes se extiendan con un significado distintivo para crear un nuevo tipo y, de ese modo, permitir que el mecanismo de verificación de tipos detecte algunos errores lógicos, por ejemplo, agregar accidentalmente una edad a un salario. Por ejemplo:

crear tipo edad como entero FINAL ; crear tipo salario como entero FINAL ;          

crea dos tipos diferentes e incompatibles. Los tipos distintos de SQL utilizan equivalencia de nombres, no equivalencia estructural, como las definiciones de tipos en C. Aún es posible realizar operaciones compatibles en (columnas o datos) de tipos distintos utilizando un tipo explícito CAST.

Pocos sistemas SQL los admiten. IBM Db2 es uno de los que los admite. [4] La base de datos Oracle no los admitía en 2012, recomendando en su lugar emularlos mediante un tipo estructurado de un solo lugar . [5]

Tipos estructurados definidos por el usuario

Estas son la columna vertebral de la extensión de base de datos relacional de objetos en SQL:1999. Son análogas a las clases en lenguajes de programación orientados a objetos . SQL:1999 solo permite herencia única .

Expresiones de tabla comunes y consultas recursivas

SQL:1999 agregó una construcción WITH [RECURSIVE] que permite que las consultas recursivas, como el cierre transitivo , se especifiquen en el lenguaje de consulta mismo; consulte expresiones de tabla comunes .

AlgunoOLAPcapacidades

GROUP BY se amplió con ROLLUP, CUBE y GROUPING SETS.

Control de acceso basado en roles

Soporte completo para RBAC a través de CREAR ROL.

Palabras clave

SQL:1999 introdujo la palabra clave UNNEST. [6]

Referencias

  1. ^ ISO/IEC 9075-2:1999 Archivado el 24 de diciembre de 2016 en Wayback Machine sección 4.6 Tipos booleanos
  2. ^ "MySQL :: Manual de referencia de MySQL 5.0 :: 11.4 Uso de tipos de datos de otros motores de base de datos". Dev.mysql.com. 2010-01-09. Archivado desde el original el 2014-02-07 . Consultado el 2014-01-30 .
  3. ^ "Documentación de PostgreSQL sobre el tipo booleano". Archivado desde el original el 9 de marzo de 2018. Consultado el 6 de diciembre de 2023 .
  4. ^ "Centro de información de soluciones IBM Information Management Software for z/OS". Publib.boulder.ibm.com . Consultado el 30 de enero de 2014 .
  5. ^ "Oracle Compliance To Core SQL:2003". Docs.oracle.com. Archivado desde el original el 2013-12-02 . Consultado el 2014-01-30 .
  6. ^ Jones, Arie; Stephens, Ryan K.; Plew, Ronald R.; Garrett, Robert F.; Kriegel, Alex (2005). "Apéndice B Palabras clave ANSI y de proveedores". Referencia del programador de funciones SQL. John Wiley & Sons. pág. 680. ISBN 9780764598074. Recuperado el 16 de mayo de 2016 .

Lectura adicional