Articulo de referencia

SQL

[[Raymond F. Boyce]]"},"developer":{"wt":"[[ISO/IEC JTC 1/SC 32|ISO/IEC JTC 1 (Joint Technical Committee 1) / SC 32 (Subcommittee 32)]] / WG 3 (Working ...

Lenguaje de consulta estructurado ( SQL ) ( pronunciado / ˌ ɛ s ˌ k j u ˈ ɛ l / SQL ; o alternativamente como / ˈ s k w ə l / "secuela") [ 4 ] [ 5 ] es unlenguaje específico de dominioutilizado para gestionar datos, especialmente en unsistema de gestión de bases de datos relacionales(RDBMS). Es particularmente útil para manejardatos estructurados, es decir, datos que incorporan relaciones entre entidades y variables. [ 6 ]

Introducido en la década de 1970, SQL ofrecía dos ventajas principales sobre las API de lectura y escritura más antiguas , como ISAM o VSAM . En primer lugar, introdujo el concepto de acceder a muchos registros con un solo comando . En segundo lugar, elimina la necesidad de especificar cómo acceder a un registro, es decir, con o sin índice .

Originalmente basado en el álgebra relacional y el cálculo relacional de tuplas , SQL consta de muchos tipos de sentencias, [ 7 ] que pueden clasificarse informalmente como sublenguajes , comúnmente: lenguaje de consulta de datos (DQL), lenguaje de definición de datos (DDL), lenguaje de control de datos (DCL) y lenguaje de manipulación de datos (DML). [ 8 ]

El alcance de SQL abarca la consulta de datos, la manipulación de datos (insertar, actualizar y eliminar), la definición de datos ( creación y modificación de esquemas ) y el control de acceso a los datos. Si bien SQL es esencialmente un lenguaje declarativo ( 4GL ), también incluye elementos procedimentales .

SQL fue uno de los primeros lenguajes comerciales en utilizar el modelo relacional de Edgar F. Codd . El modelo se describió en su influyente artículo de 1970, "Un modelo relacional de datos para grandes bancos de datos compartidos". [ 9 ] A pesar de no adherirse completamente al modelo relacional descrito por Codd , SQL se convirtió en el lenguaje de bases de datos más utilizado. [ 10 ] [ 11 ]

SQL se convirtió en estándar del Instituto Nacional Estadounidense de Estándares (ANSI) en 1986 y de la Organización Internacional de Normalización (ISO) en 1987. [ 12 ] Desde entonces, el estándar se ha revisado varias veces para incluir un conjunto más amplio de características e incorporar extensiones comunes. A pesar de la existencia de estándares, prácticamente ninguna implementación existente se adhiere completamente a él, y la mayoría del código SQL requiere al menos algunos cambios antes de ser portado a diferentes sistemas de bases de datos .

Historia

SQL fue desarrollado inicialmente en IBM por Donald D. Chamberlin y Raymond F. Boyce después de conocer el modelo relacional de Edgar F. Codd [ 13 ] a principios de la década de 1970. [ 14 ] Esta versión, inicialmente llamada SEQUEL (Structured English Query Language), fue diseñada para manipular y recuperar datos almacenados en el sistema de gestión de bases de datos cuasirelacional original de IBM, System R , que un grupo del Laboratorio de Investigación de IBM en San José había desarrollado durante la década de 1970. [ 14 ]

El primer intento de Chamberlin y Boyce de crear un lenguaje de base de datos relacional fue SQUARE (Specifying Queries in A Relational Environment), pero su uso era complicado debido a la notación de subíndices y superíndices. Tras trasladarse al Laboratorio de Investigación de San José en 1973, comenzaron a trabajar en una continuación de SQUARE. [ 13 ] El nombre original SEQUEL, considerado un juego de palabras con QUEL , el lenguaje de consulta de Ingres , [ 15 ] se cambió posteriormente a SQL (eliminando las vocales) porque "SEQUEL" era una marca registrada de la empresa británica Hawker Siddeley Dynamics Engineering Limited. [ 16 ] Posteriormente, la etiqueta SQL se convirtió en el acrónimo de Structured Query Language (Lenguaje de Consulta Estructurado). [ 17 ]

Después de probar SQL en sitios de prueba de clientes para determinar la utilidad y practicidad del sistema, IBM comenzó a desarrollar productos comerciales basados ​​en su prototipo System R, incluidos System/38 , SQL/DS e IBM Db2 , que estuvieron disponibles comercialmente en 1979, 1981 y 1983, respectivamente. [ 18 ] El respaldo de IBM hizo que la industria pasara a SQL desde alternativas como QUEL. [ 19 ]

A finales de la década de 1970, Relational Software, Inc. (ahora Oracle Corporation ) vislumbró el potencial de los conceptos descritos por Codd, Chamberlin y Boyce, y desarrolló su propio sistema de gestión de bases de datos relacionales (RDBMS) basado en SQL con la intención de venderlo a la Marina de los EE. UU. , la Agencia Central de Inteligencia (CIA ) y otras agencias gubernamentales estadounidenses . En junio de 1979, Relational Software presentó una de las primeras implementaciones comerciales de SQL, Oracle V2 (Versión 2) para computadoras VAX .

En 1986, los grupos de normalización ANSI e ISO adoptaron oficialmente la definición del lenguaje estándar "Database Language SQL". Se publicaron nuevas versiones del estándar en 1989, 1992 , 1996, 1999 , 2003 , 2006 , 2008 , 2011 , [ 13 ] 2016 y, más recientemente, en 2023. [ 20 ]

Interoperabilidad y estandarización

Descripción general

Las implementaciones de SQL son incompatibles entre proveedores y no necesariamente siguen los estándares por completo. En particular, la sintaxis de fecha y hora, la concatenación de cadenas NULL, y la sensibilidad a mayúsculas y minúsculas en las comparaciones varían de un proveedor a otro. PostgreSQL [ 21 ] y Mimer SQL [ 22 ] se esfuerzan por cumplir con los estándares, aunque PostgreSQL no se adhiere al estándar en todos los casos. Por ejemplo, la conversión de nombres sin comillas a minúsculas en PostgreSQL es incompatible con el estándar SQL, [ 23 ] que establece que los nombres sin comillas deben convertirse a mayúsculas. [ 24 ] Por lo tanto, según el estándar, Foodebería ser equivalente a FOO, no a foo.

Las implementaciones populares de SQL suelen omitir la compatibilidad con características básicas del SQL estándar, como los tipos de datos ` DATEor` . Los ejemplos más evidentes, y casualmente los sistemas de gestión de bases de datos SQL comerciales y propietarios más populares, son Oracle (cuyo `or` se comporta como `or` , [ 25 ] [ 26 ] y carece de un tipo `or`) [ 27 ] y MS SQL Server (antes de la versión de 2008). Como resultado, el código SQL rara vez se puede portar entre sistemas de bases de datos sin modificaciones.TIMEDATEDATETIMETIME

Razones de incompatibilidad

Entre las razones que explican la falta de portabilidad entre sistemas de bases de datos se incluyen las siguientes:

  • La complejidad y el tamaño del estándar SQL implican que la mayoría de los implementadores no lo admiten en su totalidad.
  • El estándar SQL no especifica el comportamiento de la base de datos en algunas áreas importantes (por ejemplo, índices , almacenamiento de archivos), dejando que las implementaciones decidan cómo comportarse.
  • El estándar SQL delega algunas decisiones a las implementaciones individuales, como por ejemplo cómo nombrar una columna de resultados que no se nombró explícitamente. [ 28 ] : 207
  • El estándar SQL especifica con precisión la sintaxis que debe implementar un sistema de base de datos que cumpla con dicho estándar. Sin embargo, la especificación de la semántica de las construcciones del lenguaje que ofrece el estándar es menos clara, lo que genera ambigüedad.
  • Muchos proveedores de bases de datos tienen una amplia base de clientes; cuando la versión más reciente del estándar SQL entra en conflicto con el comportamiento anterior de la base de datos del proveedor, este puede no estar dispuesto a romper la compatibilidad con versiones anteriores .
  • Existen pocos incentivos comerciales para que los proveedores faciliten el cambio de proveedores de bases de datos (véase el fenómeno de la dependencia del proveedor ).
  • Los usuarios que evalúan software de bases de datos tienden a dar mayor prioridad a otros factores, como el rendimiento, que al cumplimiento de los estándares.

Historia de la estandarización

SQL fue adoptado como estándar por ANSI en 1986 como SQL-86 [ 29 ] y por ISO en 1987. [ 12 ] Es mantenido por ISO/IEC JTC 1, Tecnología de la información, Subcomité SC 32, Gestión e intercambio de datos .

Hasta 1996, el programa de estándares de gestión de datos del Instituto Nacional de Estándares y Tecnología (NIST) certificaba el cumplimiento de los sistemas de gestión de bases de datos SQL con el estándar SQL. Actualmente, los proveedores autocertifican el cumplimiento de sus productos. [ 30 ]

El estándar original declaraba que la pronunciación oficial de "SQL" era un acrónimo : / ˌɛsˌkjuːˈɛl / ( " esscueel"). [ 10 ] Sin embargo , muchos profesionales de bases de datos de habla inglesa (incluido el propio Donald Chamberlin [ 31 ] ) utilizan la pronunciación similar a un acrónimo de / ˈsiːkwəl / ( " secuela "), [ 32 ] reflejando el nombre de desarrollo previo al lanzamiento del lenguaje, "SEQUEL". [ 14 ] [ 16 ] [ 31 ] El estándar SQL ha pasado por varias revisiones:

Estándar actual

La norma se suele indicar con el patrón: ISO/IEC 9075-n:yyyy Parte n: título , o, como abreviatura, ISO/IEC 9075. Las partes interesadas pueden adquirir los documentos de las normas de ISO, [ 37 ] IEC o ANSI. Algunos borradores antiguos están disponibles gratuitamente. [ 38 ] [ 39 ]

La norma ISO/IEC 9075 se complementa con la norma ISO/IEC 13249: Paquetes de aplicaciones y multimedia SQL y algunos informes técnicos .

Sintaxis

UPAGDATmi dolasmi:{UPAGDATmi doonortetrimistablmi}SmiT dolasmi:{SmiT pagopaglationortedoolmetronorte= pagopaglationorte+1litmiralmiincógnitapagrmissionorte}WHmiRmi dolasmi:{WHmiRmi norteametromidoolmetronorte=USAlitmiralmiincógnitapagrmissionortepagrmididoatmi};}declaraciónSQL qmiry{\displaystyle \underbrace {\left.{\begin{array}{rl}\textstyle {\mathtt {UPDATE~clause{\mathtt {:}}}}&\{{\mathtt {UPDATE\ \overbrace {\mathtt {countries}} ^{\mathtt {table}}}}\}\\\textstyle {\mathtt {SET~clause:}}&\{{{\mathtt {SET\ \overbrace {\mathtt {population}} ^{\mathtt {column}}=~}}\overbrace {\mathtt {{population}+\underbrace {\mathtt {1}} _{\mathtt {literal}}}} ^{\mathtt {expression}}}\}\\\textstyle {\mathtt {WHERE~clause:}}&\{{{\mathtt {WHERE\ \underbrace {\overbrace {\mathtt {name}} ^{\mathtt {column}}{\mathtt {=}}\overbrace {\overbrace {\mathtt {'USA'}} ^{\mathtt {literal}}} ^{\mathtt {expression}}} _{\mathtt {predicate}}}}\}{\texttt {;}}}\end{array}}\right\}{\textstyle {\texttt {statement}}}} _{\textstyle {\mathtt {SQL~query}}}}
Un diagrama que muestra varios de los elementos del lenguaje SQL que componen una sola instrucción.

El lenguaje SQL se subdivide en varios elementos lingüísticos, entre los que se incluyen:

  • Las cláusulas , que son componentes constitutivos de las sentencias y consultas. (En algunos casos, son opcionales). [ 40 ]
  • Expresiones que pueden producir valores escalares o tablas que constan de columnas y filas de datos.
  • Los predicados , que especifican condiciones que pueden evaluarse mediante la lógica trivalente SQL (3VL) (verdadero/falso/desconocido) o valores booleanos , se utilizan para limitar los efectos de las sentencias y consultas, o para cambiar el flujo del programa.
  • Las consultas , que recuperan los datos en función de criterios específicos. Este es un elemento importante de SQL .
  • Declaraciones que pueden tener un efecto persistente en los esquemas y los datos, o que pueden controlar transacciones , el flujo del programa, las conexiones, las sesiones o los diagnósticos.
    • Las sentencias SQL también incluyen el terminador de sentencia punto y coma (";"). Aunque no es obligatorio en todas las plataformas, se define como una parte estándar de la gramática SQL.
  • Los espacios en blanco insignificantes generalmente se ignoran en las sentencias y consultas SQL, lo que facilita el formato del código SQL para una mejor legibilidad.

Extensiones de procedimiento

SQL está diseñado para un propósito específico: consultar datos contenidos en una base de datos relacional . SQL es un lenguaje de programación declarativo basado en conjuntos , no un lenguaje de programación imperativo como C o BASIC . Sin embargo, las extensiones al SQL estándar añaden funcionalidades de lenguajes de programación procedimentales , como las estructuras de control de flujo.

In addition to the standard SQL/PSM extensions and proprietary SQL extensions, procedural and object-oriented programmability is available on many SQL platforms via DBMS integration with other languages. The SQL standard defines SQL/JRT extensions (SQL Routines and Types for the Java Programming Language) to support Java code in SQL databases. Microsoft SQL Server 2005 uses the SQLCLR (SQL Server Common Language Runtime) to host managed .NET assemblies in the database, while prior versions of SQL Server were restricted to unmanaged extended stored procedures primarily written in C. PostgreSQL lets users write functions in a wide variety of languages—including Perl, Python, Tcl, JavaScript (PL/V8) and C.[41]

Alternatives

A distinction should be made between alternatives to SQL as a language, and alternatives to the relational model itself. Below are proposed relational alternatives to the SQL language. See navigational database and NoSQL for alternatives to the relational model.

Distributed SQL processing

La arquitectura de bases de datos relacionales distribuidas (DRDA) fue diseñada por un grupo de trabajo dentro de IBM entre 1988 y 1994. DRDA permite que las bases de datos relacionales conectadas en red cooperen para satisfacer las solicitudes SQL. [ 43 ] [ 44 ]

Un usuario o programa interactivo puede enviar sentencias SQL a una base de datos relacional local y recibir tablas de datos e indicadores de estado como respuesta de bases de datos relacionales remotas. Las sentencias SQL también pueden compilarse y almacenarse en bases de datos relacionales remotas como paquetes, para luego ser invocadas mediante el nombre del paquete. Esto es fundamental para el funcionamiento eficiente de programas de aplicación que realizan consultas complejas y frecuentes. Resulta especialmente importante cuando las tablas a las que se accede se encuentran en sistemas remotos.

Los mensajes, protocolos y componentes estructurales de DRDA se definen mediante la Arquitectura de Gestión de Datos Distribuidos . El procesamiento SQL distribuido, al estilo de DRDA, se distingue de las bases de datos SQL distribuidas contemporáneas .

Críticas

Diseño

SQL se desvía en varios aspectos de su fundamento teórico, el modelo relacional y su cálculo de tuplas. En ese modelo, una tabla es un conjunto de tuplas, mientras que en SQL, las tablas y los resultados de las consultas son listas de filas; la misma fila puede aparecer varias veces, y el orden de las filas puede utilizarse en las consultas (por ejemplo, en la LIMITcláusula ). Los críticos argumentan que SQL debería reemplazarse por un lenguaje que vuelva estrictamente a su fundamento original: por ejemplo, véase The Third Manifesto de Hugh Darwen y CJ Date (2006, ISBN 0-321-39942-0).

Ortogonalidad y completitud

Las primeras especificaciones no admitían características importantes, como las claves primarias. No se podían nombrar los conjuntos de resultados y no se habían definido las subconsultas. Estas se añadieron en 1992. [ 13 ]

La falta de tipos de suma se ha descrito como un obstáculo para el uso completo de los tipos definidos por el usuario de SQL. Por ejemplo, fue necesario añadir compatibilidad con JSON mediante un nuevo estándar en 2016. [ 45 ]

Nulo

El concepto de Null es objeto de debate . El marcador Null indica la ausencia de un valor y se distingue de un valor de 0 para una columna de enteros o una cadena vacía para una columna de texto. El concepto de Nulls refuerza la lógica trivalente en SQL , que es una implementación concreta de la lógica trivalente general . [ 13 ]

Duplicados

Otra crítica común es que permite filas duplicadas, lo que dificulta la integración con lenguajes como Python , cuyos tipos de datos podrían complicar la representación precisa de los datos, [ 13 ] tanto en términos de análisis sintáctico como por la falta de modularidad. Esto suele evitarse declarando una clave primaria o una restricción de unicidad con una o más columnas que identifiquen de forma única una fila en la tabla.

Desajuste de impedancia

En un sentido similar al desajuste de impedancia objeto-relacional , se produce un desajuste entre el lenguaje declarativo SQL y los lenguajes procedimentales en los que SQL suele estar integrado. [ 46 ]

Tipos de datos SQL

El estándar SQL define tres tipos de datos (capítulo 4.1.1 de SQL/Foundation):

  • tipos de datos predefinidos
  • tipos construidos
  • tipos definidos por el usuario.

Los tipos construidos son uno de ARRAY, MULTISET, REF(referencia) o ROW. Los tipos definidos por el usuario son comparables a las clases en lenguajes orientados a objetos, con sus propios constructores, observadores, mutadores, métodos, herencia, sobrecarga, sobrescritura, interfaces, etc. Los tipos de datos predefinidos son compatibles intrínsecamente con la implementación.

Tipos de datos predefinidos

  • Tipos de caracteres
    • Personaje ( CHAR)
    • Carácter variable ( VARCHAR)
    • Objeto grande de carácter ( CLOB)
  • Tipos de carácter nacional
    • Carácter nacional ( NCHAR)
    • Carácter nacional variable ( NCHAR VARYING)
    • Objeto grande de carácter nacional ( NCLOB)
  • Tipos binarios
    • Binario ( BINARY)
    • Variable binaria ( VARBINARY)
    • Objeto binario grande ( BLOB)
  • Tipos numéricos
    • Tipos numéricos exactos ( NUMERIC, DECIMAL, SMALLINT, INTEGER, BIGINT)
    • Tipos numéricos aproximados ( FLOAT, REAL, DOUBLE PRECISION)
    • Tipo de punto flotante decimal ( DECFLOAT)
  • Tipos de fecha y hora ( DATE, TIME, TIMESTAMP)
  • Tipo de intervalo ( INTERVAL)
  • Booleano
  • XML (véase SQL/XML ) [ 47 ]
  • JSON

Véase también

Referencias

  1. Paul, Ryan (24 de octubre de 2005). "Una visita guiada al Microsoft Command Shell" . Ars Technica . Consultado el 10 de abril de 2011 .
  2. "Registro de tipo de medio para aplicación/sql" . Autoridad de Números Asignados de Internet . 10 de abril de 2013. Archivado del original el 7 de mayo de 2013. Recuperado el 10 de abril de 2013 .
  3. Shafranovich, Y. (abril de 2013). "El tipo de medio application/sql, RFC 6922" . Grupo de Trabajo de Ingeniería de Internet . pág. 3. doi : 10.17487/RFC6922 . Archivado del original el 13 de octubre de 2014. Recuperado el 10 de abril de 2013 . 
  4. Beaulieu, Alan (abril de 2009). Mary E Treseler (ed.). Aprendiendo SQL (2.ª ed.). Sebastopol, CA, EE. UU.: O'Reilly. ISBN  978-0-596-52083-0.
  5. Chamberlin, Donald D.; Frana, Philip L. (3 de octubre de 2001). "Entrevista de historia oral con Donald D. Chamberlin" . University Digital Conservancy . hdl : 11299/107215 . Archivado del original el 24 de febrero de 2020. Recuperado el 14 de enero de 2020. Cambiamos el nombre original "SEQUEL" a SQL porque recibimos una carta del abogado de alguien que decía que el nombre "SEQUEL" les pertenecía. Lo abreviamos a SQL, por Structured Query Language, y el producto se conoció como SQL/DS.
  6. Jonker, Alexandra; Mucci, Tim. "¿Qué es el lenguaje de consulta estructurado (SQL)? | IBM" . www.ibm.com . Consultado el 2 de julio de 2026 .
  7. SQL-92 , 4.22 Sentencias SQL, 4.22.1 Clases de sentencias SQL "Hay al menos cinco formas de clasificar las sentencias SQL:", 4.22.2, Sentencias SQL clasificadas por función "Las siguientes son las principales clases de sentencias SQL:"; SQL:2003 4.11 Sentencias SQL y revisiones posteriores.
  8. Chatham, Mark (2012). Structured Query Language By Example - Volume I: Data Query Language . Lulu.com. p. 8. ISBN  978-1-291-19951-2.
  9. Codd, Edgar F. (junio de 1970). "Un modelo relacional de datos para grandes bancos de datos compartidos". Communications of the ACM . 13 (6): 377–87 . CiteSeerX 10.1.1.88.646 . doi : 10.1145/362384.362685 . S2CID 207549016 .  
  10. 1 2 Chapple, Mike. "Fundamentos de SQL" . Bases de datos . About.com. Archivado del original el 22 de febrero de 2009. Consultado el 28 de enero de 2009 .
  11. "Lenguaje de consulta estructurado (SQL)" . International Business Machines. 27 de octubre de 2006. Consultado el 10 de junio de 2007 .
  12. 1 2 "ISO 9075:1987: Tecnología de la información – Lenguajes de bases de datos – SQL – Parte 1: Marco (SQL/Framework)" . 1 de junio de 2023. Recuperado el 24 de junio de 2025 .   
  13. 1 2 3 4 5 6 Chamberlin, Donald (2012). "Historia temprana de SQL". IEEE Annals of the History of Computing . 34 (4): 78– 82. Bibcode : 2012IAHC...34d..78C . doi : 10.1109/MAHC.2012.61 . S2CID 1322572 . 
  14. 1 2 3 Chamberlin, Donald D; Boyce, Raymond F (1974). "SEQUEL: Un lenguaje de consulta en inglés estructurado" (PDF) . Actas del taller ACM SIGFIDET de 1974 sobre descripción, acceso y control de datos . Association for Computing Machinery: 249–64 . Archivado del original (PDF) el 26 de septiembre de 2007. Recuperado el 9 de junio de 2007 .
  15. Starkey, Jim. "SQL dinámico, infraestructura y la API interna" . www.ibphoenix.com . Archivado del original el 19 de enero de 2023. Consultado el 19 de enero de 2023 .
  16. 1 2 Oppel, Andy (27 de febrero de 2004). Bases de datos desmitificadas . San Francisco, CA : McGraw-Hill Osborne Media. págs. 90–1 . ISBN  978-0-07-146960-9Archivado del original el 14 de enero de 2012. Consultado el 12 de mayo de 2011 .
  17. Yasar, Kinza; Loshin, Peter; Sirkin, Jessica. "¿Qué es el lenguaje de consulta estructurado (SQL)? | Definición de TechTarget" . Search Data Management . Informa TechTarget . Archivado del original el 10 de marzo de 2025. Consultado el 25 de marzo de 2025 .
  18. "Historia de IBM, 1978" . Archivos de IBM . IBM. 23 de enero de 2003. Archivado del original el 17 de enero de 2005. Consultado el 9 de junio de 2007 .
  19. Morgenthaler, Gary (8 de diciembre de 2005). "Historia oral de Gary Morgenthaler" (PDF) (Entrevista). Entrevistado por Luann Johnson. Museo de Historia de la Computación. pág. 18. Recuperado el 30 de mayo de 2025 . 
  20. "ISO - ISO/IEC JTC 1/SC 32 - Gestión e intercambio de datos" . www.iso.org . Archivado del original el 16 de marzo de 2017. Consultado el 2 de enero de 2021 .
  21. "Acerca de PostgreSQL" . Sitio web oficial de PostgreSQL 9.1 . Grupo de Desarrollo Global de PostgreSQL. 2012. Archivado del original el 9 de marzo de 2012. Consultado el 9 de marzo de 2012. PostgreSQL se enorgullece de su cumplimiento con los estándares. Su implementación SQL se ajusta estrictamente al estándar ANSI-SQL:2008.
  22. "Mimer SQL, basado en estándares" . Sitio web oficial de Mimer SQL . Mimer Information Technology. 2009. Archivado del original el 3 de mayo de 2016. Consultado el 11 de diciembre de 2018 .
  23. "4.1. Estructura léxica" . Documentación de PostgreSQL . 2018. Archivado del original el 5 de octubre de 2018. Consultado el 11 de diciembre de 2018 .
  24. "(Segundo borrador de revisión informal) ISO/IEC 9075:1992, Lenguaje de bases de datos SQL, Sección 5.2, regla de sintaxis 11" . 30 de julio de 1992. Archivado del original el 21 de junio de 2006. Consultado el 8 de octubre de 2009 .
  25. Lorentz, Diana; Roeser, Mary Beth; Abraham, Sundeep; Amor, Angela; Arora, Geeta; Arora, Vikas; Ashdown, Lance; Baer, ​​Hermann; Bellamkonda, Shrikanth (octubre de 2010) [1996]. "Elementos básicos de Oracle SQL: tipos de datos" . Oracle Database SQL Language Reference 11g Release 2 (11.2) . Oracle Database Documentation Library. Redwood City, CA: Oracle USA, Inc. Archivado del original el 20 de noviembre de 2010. Recuperado el 29 de diciembre de 2010. Para cada valor, Oracle almacena la siguiente información: siglo, año, mes, día, hora, minuto y segundo .DATE
  26. Lorentz, Diana; Roeser, Mary Beth; Abraham, Sundeep; Amor, Angela; Arora, Geeta; Arora, Vikas; Ashdown, Lance; Baer, ​​Hermann; Bellamkonda, Shrikanth (octubre de 2010) [1996]. "Elementos básicos de Oracle SQL: tipos de datos" . Oracle Database SQL Language Reference 11g Release 2 (11.2) . Oracle Database Documentation Library. Redwood City, CA: Oracle USA, Inc. Archivado del original el 20 de noviembre de 2010. Recuperado el 29 de diciembre de 2010. Los tipos de datos de fecha y hora son ...DATE
  27. Lorentz, Diana; Roeser, Mary Beth; Abraham, Sundeep; Amor, Angela; Arora, Geeta; Arora, Vikas; Ashdown, Lance; Baer, ​​Hermann; Bellamkonda, Shrikanth (octubre de 2010) [1996]. "Elementos básicos de Oracle SQL: Tipos de datos" . Oracle Database SQL Language Reference 11g Release 2 (11.2) . Oracle Database Documentation Library. Redwood City, CA: Oracle USA, Inc. Archivado del original el 20 de noviembre de 2010. Recuperado el 29 de diciembre de 2010. No defina columnas con los siguientes tipos de datos SQL/DS y DB2, ya que no tienen un tipo de datos Oracle correspondiente:...TIME
  28. Date, Chris J. (2013). Teoría relacional para profesionales de la informática: De qué se tratan realmente las bases de datos relacionales (1.ª ed.). Sebastopol, California: O'Reilly Media. ISBN  978-1-449-36943-9.
  29. "Guía de consulta" . Registros X3H2, 1978–95 . Instituto Nacional Estadounidense de Estándares. Archivado del original el 19 de junio de 2010. Recuperado el 26 de abril de 2008 .
  30. Doll, Shelley (19 de junio de 2002). "¿SQL sigue siendo un estándar?" . Builder.com de TechRepublic . TechRepublic. Archivado del original el 5 de julio de 2012 . Recuperado el 12 de abril de 2016 .
  31. 1 2 Gillespie, Patrick. "Pronunciando SQL: SQL o Sequel?" . Archivado del original el 27 de mayo de 2012 . Recuperado el 12 de febrero de 2012 .
  32. ↑ Melton, Jim ; Alan R Simon (1993). "1.2. ¿Qué es SQL?" . Entendiendo el nuevo SQL: Una guía completa . Morgan Kaufmann. pág. 536. ISBN  978-1-55860-245-8SQL (pronunciado correctamente "ess cue ell," en lugar del algo común "sequel")...
  33. ^ Wagner, Michael (2010). SQL/XML:2006 - Evaluación de la conformidad estándar del sistema de datos bancarios . Editorial Diplomática. pag. 100.ISBN  978-3-8366-9609-8.
  34. "SQL:2008 ahora es un estándar internacional ISO aprobado" . Sybase. Julio de 2008. Archivado del original el 28 de junio de 2011.
  35. ^ Krishna Kulkarni, Jan-Eike Michels (septiembre de 2012). "Características temporales en SQL: 2011" (PDF) . Registro SIGMOD . 41 (3).
  36. Fred Zemke (2012). "Novedades de SQL:2011" (PDF) . Oracle Corporation.
  37. "ISO/IEC 9075" . Archivado del original el 12 de agosto de 2022. Consultado el 9 de agosto de 2022 .
  38. SQL:1992 borrador (texto) , archivado del original el 21 de junio de 2006 , recuperado el 8 de octubre de 2009.
  39. Borrador SQL:2011 , Whitemarsh Information Systems Corporation, archivado desde el original (Zip) el 25 de mayo de 2023
  40. Norma internacional ANSI/ISO/IEC (IS). Lenguaje de bases de datos SQL—Parte 2: Fundamentos (SQL/Foundation). 1999.
  41. "Programación de servidores PostgreSQL" . Documentación oficial de PostgreSQL 9.1 . postgresql.org. 2011. Archivado del original el 2 de marzo de 2012. Consultado el 9 de marzo de 2012 .
  42. Fernando Saenz -Perez. "Outer Joins in a Deductive Database System" (PDF) . Lbd.udc.es. Archivado (PDF) del original el 9 de agosto de 2016. Consultado el 16 de enero de 2017 .
  43. Reinsch, R. (1988). "Base de datos distribuida para SAA". IBM Systems Journal . 27 (3): 362– 389. doi : 10.1147/sj.273.0362 .
  44. Referencia de la arquitectura de bases de datos relacionales distribuidas . IBM Corp. SC26-4651-0. 1990.
  45. Brandon, Jamie (julio de 2021). "Contra SQL" . Recuperado el 2 de agosto de 2021 .
  46. ^ Teorey, Toby; Piedra de luz, Sam; Nadeau, Tom; Jagadish, HV (2011). "Diseño Objeto-Relacional" . www.sciencedirect.com . págs. 139-160 . doi : 10.1016/B978-0-12-382020-4.00011-2 . Consultado el 9 de junio de 2026 . 
  47. "Soporte estándar de SQL 2003 en Oracle Database 10g" (PDF) . Oracle . Oracle Corporation . Noviembre de 2003. Archivado (PDF) del original el 27 de marzo de 2024. Consultado el 27 de marzo de 2024 .La compatibilidad con XML se añadió en ANSI SQL 2003, parte 14.

Fuentes

  • Codd, Edgar F (junio de 1970). "Un modelo relacional de datos para grandes bancos de datos compartidos" . Communications of the ACM . 13 (6): 377–87 . doi : 10.1145/362384.362685 . S2CID 207549016 . 
  • Debate sobre supuestos fallos de SQL (wiki de C2)
  • CJ Date con Hugh Darwen : Guía del estándar SQL  : una guía del usuario del lenguaje estándar de bases de datos SQL, 4.ª ed. , Addison Wesley, EE. UU., 1997, ISBN 978-0-201-96426-4
  • Reunión de SQL de 1995: Personas, proyectos y política , editado por Paul McJones : transcripción de una reunión dedicada a la historia personal de las bases de datos relacionales y SQL.
  • Instituto Nacional Estadounidense de Estándares. Registros X3H2, 1978–1995. La colección del Instituto Charles Babbage documenta el desarrollo de los estándares NDL y SQL por parte del comité H2.
  • Entrevista de historia oral con Donald D. Chamberlin, Instituto Charles Babbage . En esta entrevista, Chamberlin relata su juventud, su formación académica en el Harvey Mudd College y la Universidad de Stanford , y su trabajo en tecnología de bases de datos relacionales. Chamberlin fue miembro del equipo de investigación de System R y, junto con Raymond F. Boyce , desarrolló el lenguaje de base de datos SQL. También comenta brevemente su investigación más reciente sobre lenguajes de consulta XML.