Articulo de referencia

Base de datos relacional

Una base de datos relacional ( RDB [ 1 ] ) es una base de datos basada en el modelo relacional de datos, tal como lo propuso EF Codd en 1970. [ 2 ] Un sistema de gestión de base...

Una base de datos relacional ( RDB [ 1 ] ) es una base de datos basada en el modelo relacional de datos, tal como lo propuso EF Codd en 1970. [ 2 ]

Un sistema de gestión de bases de datos relacionales (RDBMS, por sus siglas en inglés) es un tipo de sistema de gestión de bases de datos que almacena datos en un formato estructurado utilizando filas y columnas .

Muchos sistemas de bases de datos relacionales están equipados con la opción de usar SQL (Structured Query Language) para consultar y actualizar la base de datos. [ 3 ]

Historia

El concepto de base de datos relacional fue definido por EF Codd en IBM en 1970. Codd introdujo el término relacional en su artículo de investigación "Un modelo relacional de datos para grandes bancos de datos compartidos". [ 2 ] En este artículo y en otros posteriores, definió lo que entendía por relación . Una definición bien conocida de lo que constituye un sistema de base de datos relacional se compone de las 12 reglas de Codd .

Sin embargo, ninguna implementación comercial del modelo relacional se ajusta a todas las reglas de Codd, [ 4 ] por lo que el término ha llegado gradualmente a describir una clase más amplia de sistemas de bases de datos, que como mínimo:

  1. Presentar los datos al usuario como relaciones (una presentación en forma tabular, es decir, como una colección de tablas , donde cada tabla consta de un conjunto de filas y columnas );
  2. Proporcionar operadores relacionales para manipular los datos en formato tabular.

En 1974, IBM comenzó a desarrollar System R , un proyecto de investigación para desarrollar un prototipo de RDBMS. [ 5 ] [ 6 ] El primer sistema vendido como RDBMS fue Multics Relational Data Store (junio de 1976). [ 7 ] [ 8 ] Oracle fue lanzado en 1979 por Relational Software, ahora Oracle Corporation . [ 9 ] Ingres e IBM BS12 le siguieron. Otros ejemplos de un RDBMS incluyen IBM Db2 , SAP Sybase ASE e Informix . En 1984, el primer RDBMS para Macintosh comenzó a desarrollarse, con nombre en clave Silver Surfer, y fue lanzado en 1987 como 4th Dimension y conocido hoy como 4D. [ 10 ]

Los primeros sistemas que fueron implementaciones relativamente fieles del modelo relacional fueron los siguientes:

  • Universidad de Michigan – Micro DBMS (1969) [ 11 ]
  • Instituto Tecnológico de Massachusetts (1971) [ 12 ]
  • Centro Científico de IBM en el Reino Unido en Peterlee – IS1 (1970–72), [ 13 ] y su sucesor, PRTV (1973–79). [ 14 ]

La definición más común de un SGBD relacional es la de un producto que presenta una vista de los datos como una colección de filas y columnas, aunque no se base estrictamente en la teoría relacional . Según esta definición, los productos SGBD relacionales suelen implementar algunas, pero no todas, las 12 reglas de Codd.

Una segunda corriente de pensamiento sostiene que si una base de datos no implementa todas las reglas de Codd (o la comprensión actual del modelo relacional, tal como la expresan Christopher J. Date , Hugh Darwen y otros), no es relacional. Esta visión, compartida por muchos teóricos y otros estrictos defensores de los principios de Codd, descalificaría a la mayoría de los sistemas de gestión de bases de datos (SGBD) como no relacionales. Para mayor claridad, suelen referirse a algunos SGBD relacionales como sistemas de gestión de bases de datos verdaderamente relacionales (SGBDR), y a otros como sistemas de gestión de bases de datos pseudorelacionales (SGBDR). [ 15 ]

A partir de 2009, la mayoría de los sistemas de gestión de bases de datos relacionales comerciales emplean SQL como su lenguaje de consulta . [ 16 ]

Se han propuesto e implementado lenguajes de consulta alternativos, en particular la implementación de Ingres QUEL anterior a 1996 .

Modelo relacional

Un modelo relacional organiza los datos en una o más tablas (o "relaciones") de columnas y filas , con una clave única que identifica cada fila. Las filas también se denominan registros o tuplas . [ 17 ] Las columnas también se denominan atributos. Generalmente, cada tabla/relación representa un "tipo de entidad" (como cliente o producto). Las filas representan instancias de ese tipo de entidad (como "Lee" o "silla") y las columnas representan valores atribuidos a esa instancia (como dirección o precio).

Por ejemplo, cada fila de una tabla de clases corresponde a una clase, y una clase corresponde a varios estudiantes, por lo que la relación entre la tabla de clases y la tabla de estudiantes es "uno a muchos" [ 18 ].

Llaves

Cada fila de una tabla tiene su propia clave única. Las filas de una tabla se pueden vincular con filas de otras tablas añadiendo una columna para la clave única de la fila vinculada (estas columnas se conocen como claves foráneas ). Codd demostró que las relaciones de datos de complejidad arbitraria se pueden representar mediante un conjunto simple de conceptos. [ 2 ]

Parte de este procesamiento implica poder seleccionar o modificar consistentemente una única fila en una tabla. Por lo tanto, la mayoría de las implementaciones físicas tienen una clave primaria (PK) única para cada fila de la tabla. Cuando se escribe una nueva fila en la tabla, se genera un nuevo valor único para la clave primaria; esta es la clave que el sistema utiliza principalmente para acceder a la tabla. El rendimiento del sistema se optimiza para las PK. También se pueden identificar y definir otras claves más naturales como claves alternativas (AK). A menudo se necesitan varias columnas para formar una AK (esta es una de las razones por las que generalmente se utiliza una sola columna de tipo entero como PK). Tanto las PK como las AK tienen la capacidad de identificar de forma única una fila dentro de una tabla. Se puede aplicar tecnología adicional para garantizar un ID único en todo el mundo, un identificador único global , cuando existen requisitos de sistema más amplios.

Las claves primarias (PK) en una base de datos se utilizan para definir las relaciones entre las tablas. Cuando una PK se migra a otra tabla, se convierte en una clave foránea (FK) en dicha tabla. Si cada celda puede contener un único valor y la PK se migra a una tabla de entidades regular, este patrón de diseño puede representar una relación uno a uno o uno a muchos . La mayoría de los diseños de bases de datos relacionales resuelven las relaciones muchos a muchos creando una tabla adicional que contiene las PK de ambas tablas de entidades ; la relación se convierte en una entidad. La tabla de resolución se nombra adecuadamente y las dos FK se combinan para formar una PK. La migración de PK a otras tablas es la segunda razón principal por la que normalmente se utilizan enteros asignados por el sistema como PK; por lo general, no hay eficiencia ni claridad en migrar un conjunto de otros tipos de columnas. 

Relaciones

Las relaciones son una conexión lógica entre diferentes tablas (entidades), establecida a partir de la interacción entre estas tablas. Estas relaciones pueden modelarse como un modelo entidad-relación .

Actas

Para que un sistema de gestión de bases de datos (DBMS) funcione de manera eficiente y precisa, debe utilizar transacciones ACID . [ 19 ] [ 20 ] [ 21 ]

Procedimientos almacenados

Parte de la programación en un sistema de gestión de bases de datos relacionales (RDBMS) se realiza mediante procedimientos almacenados (SP). Estos procedimientos suelen reducir considerablemente la cantidad de información que se transfiere dentro y fuera del sistema. Para mayor seguridad, el diseño del sistema puede otorgar acceso únicamente a los procedimientos almacenados y no directamente a las tablas. Los procedimientos almacenados básicos contienen la lógica necesaria para insertar datos nuevos y actualizar los existentes. Se pueden escribir procedimientos más complejos para implementar reglas y lógica adicionales relacionadas con el procesamiento o la selección de datos.

Terminología

Terminología de bases de datos relacionales

La base de datos relacional fue definida por primera vez en junio de 1970 por Edgar Codd , del Laboratorio de Investigación de IBM en San José . [ 2 ] La visión de Codd sobre lo que califica como un SGBDR se resume en sus 12 reglas . Una base de datos relacional se ha convertido en el tipo de base de datos predominante. Otros modelos, además del modelo relacional, incluyen el modelo de base de datos jerárquica y el modelo de red .

La siguiente tabla resume algunos de los términos más importantes de las bases de datos relacionales y su término SQL correspondiente:

Relaciones o tablas

En una base de datos relacional, una relación es un conjunto de tuplas que comparten los mismos atributos . Una tupla suele representar un objeto e información sobre él. Los objetos suelen ser objetos físicos o conceptos. Una relación se describe generalmente como una tabla , organizada en filas y columnas . Todos los datos a los que hace referencia un atributo pertenecen al mismo dominio y cumplen las mismas restricciones.

El modelo relacional especifica que las tuplas de una relación no tienen un orden específico y que, a su vez, las tuplas no imponen ningún orden a los atributos. Las aplicaciones acceden a los datos mediante consultas que utilizan operaciones como `select` para identificar tuplas, `project` para identificar atributos y `join` para combinar relaciones. Las relaciones se pueden modificar mediante los operadores `insert` , `delete` y `update` . Las nuevas tuplas pueden proporcionar valores explícitos o derivarse de una consulta. Del mismo modo, las consultas identifican las tuplas que se deben actualizar o eliminar.

Por definición, las tuplas son únicas. Si una tupla contiene una clave candidata o primaria, obviamente es única; sin embargo, no es necesario definir una clave primaria para que una fila o registro sea una tupla. La definición de una tupla exige que sea única, pero no requiere la definición de una clave primaria. Dado que una tupla es única, sus atributos constituyen, por definición, una superclave .

Relaciones base y derivadas

Todos los datos se almacenan y se acceden mediante relaciones . Las relaciones que almacenan datos se denominan "relaciones base" y, en las implementaciones, se llaman "tablas". Otras relaciones no almacenan datos, sino que se calculan aplicando operaciones relacionales a otras relaciones. Estas relaciones a veces se denominan "relaciones derivadas". En las implementaciones, se denominan " vistas " o "consultas". Las relaciones derivadas son convenientes porque actúan como una sola relación, aunque puedan obtener información de varias relaciones. Además, las relaciones derivadas pueden utilizarse como una capa de abstracción .

Dominio

Un dominio describe el conjunto de valores posibles para un atributo dado y puede considerarse una restricción sobre el valor de dicho atributo. Matemáticamente, asociar un dominio a un atributo significa que cualquier valor para ese atributo debe pertenecer al conjunto especificado. Por ejemplo, la cadena de caracteres "ABC" no pertenece al dominio entero, pero el valor entero 123 sí. Otro ejemplo de dominio describe los valores posibles para el campo "CoinFace" como ("Cara","Cruz"). Por lo tanto, el campo "CoinFace" no aceptará valores de entrada como (0,1) o (C,C).

Restricciones

Las restricciones se utilizan a menudo para restringir aún más el dominio de un atributo. Por ejemplo, una restricción puede limitar un atributo entero a valores entre 1 y 10. Las restricciones proporcionan un método para implementar reglas de negocio en la base de datos y admiten el uso posterior de datos dentro de la capa de aplicación. SQL implementa la funcionalidad de restricciones en forma de restricciones de verificación . Las restricciones limitan los datos que se pueden almacenar en las relaciones . Estas se definen generalmente mediante expresiones que dan como resultado un valor booleano , que indica si los datos satisfacen o no la restricción. Las restricciones pueden aplicarse a atributos individuales, a una tupla (restringiendo combinaciones de atributos) o a una relación completa. Dado que cada atributo tiene un dominio asociado, existen restricciones ( restricciones de dominio ). Las dos reglas principales para el modelo relacional se conocen como integridad de entidad e integridad referencial .

Clave principal

Cada relación /tabla tiene una clave primaria, siendo esta una consecuencia de que una relación sea un conjunto . [ 22 ] Una clave primaria especifica de forma única una tupla dentro de una tabla. Si bien los atributos naturales (atributos utilizados para describir los datos que se ingresan) a veces son buenas claves primarias, a menudo se utilizan claves subrogadas . Una clave subrogada es un atributo artificial asignado a un objeto que lo identifica de forma única (por ejemplo, en una tabla de información sobre estudiantes de una escuela, a todos se les podría asignar un ID de estudiante para diferenciarlos). La clave subrogada no tiene un significado intrínseco (inherente), sino que es útil por su capacidad de identificar de forma única una tupla. Otro caso común, especialmente en lo que respecta a la cardinalidad N:M, es la clave compuesta . Una clave compuesta es una clave formada por dos o más atributos dentro de una tabla que (juntos) identifican de forma única un registro. [ 23 ]

clave externa

Una clave foránea se refiere a un campo en una tabla relacional que coincide con la columna de clave primaria de otra tabla. Establece una relación entre ambas claves. Las claves foráneas no necesitan tener valores únicos en la relación de referencia. Una clave foránea puede utilizarse para establecer referencias cruzadas entre tablas, y utiliza eficazmente los valores de los atributos de la relación referenciada para restringir el dominio de uno o más atributos en la relación de referencia. El concepto se describe formalmente como: «Para todas las tuplas en la relación de referencia proyectadas sobre los atributos de referencia, debe existir una tupla en la relación referenciada proyectada sobre esos mismos atributos, de manera que los valores de cada uno de los atributos de referencia coincidan con los valores correspondientes en los atributos referenciados».

Procedimientos almacenados

Un procedimiento almacenado es código ejecutable asociado a la base de datos, donde generalmente se almacena. Los procedimientos almacenados suelen recopilar y personalizar operaciones comunes, como insertar una tupla en una relación , obtener información estadística sobre patrones de uso o encapsular lógica y cálculos empresariales complejos . Con frecuencia, se utilizan como interfaz de programación de aplicaciones (API) por motivos de seguridad o simplicidad. Las implementaciones de procedimientos almacenados en sistemas de gestión de bases de datos relacionales SQL suelen permitir a los desarrolladores aprovechar extensiones procedimentales (a menudo específicas del proveedor) de la sintaxis SQL declarativa estándar . Si bien los procedimientos almacenados no forman parte del modelo de base de datos relacional, todas las implementaciones comerciales los incluyen.

Índice

Un índice es una forma de proporcionar un acceso más rápido a los datos. Los índices se pueden crear sobre cualquier combinación de atributos en una relación . Las consultas que filtran utilizando esos atributos pueden encontrar tuplas coincidentes directamente mediante el índice (de forma similar a la búsqueda en una tabla hash ), sin tener que comprobar cada tupla por separado. Esto es análogo a usar el índice de un libro para ir directamente a la página donde se encuentra la información que se busca, de modo que no sea necesario leer todo el libro para encontrar lo que se busca. Las bases de datos relacionales suelen proporcionar múltiples técnicas de indexación, cada una de las cuales es óptima para alguna combinación de distribución de datos, tamaño de la relación y patrón de acceso típico. Los índices generalmente se implementan mediante árboles B+ , árboles R y mapas de bits . Los índices generalmente no se consideran parte de la base de datos, ya que se consideran un detalle de implementación, aunque suelen ser mantenidos por el mismo grupo que mantiene las demás partes de la base de datos. El uso de índices eficientes tanto en claves primarias como foráneas puede mejorar drásticamente el rendimiento de las consultas. Esto se debe a que los índices B-tree dan como resultado tiempos de consulta proporcionales a log(n), donde n es el número de filas en una tabla, y los índices hash dan como resultado consultas de tiempo constante (sin dependencia del tamaño siempre que la parte relevante del índice quepa en la memoria).

Operaciones relacionales

Las consultas realizadas sobre la base de datos relacional y las relaciones derivadas en la base de datos se expresan en un cálculo relacional o un álgebra relacional . En su álgebra relacional original, Codd introdujo ocho operadores relacionales en dos grupos de cuatro operadores cada uno. Los primeros cuatro operadores se basaron en las operaciones matemáticas tradicionales de conjuntos :

  • El operador de unión (∪) combina las tuplas de dos relaciones y elimina las tuplas duplicadas del resultado. El operador de unión relacional es equivalente al operador UNION de SQL .
  • El operador de intersección (∩) produce el conjunto de tuplas que dos relaciones tienen en común. La intersección se implementa en SQL mediante el operador INTERSECT .
  • El operador de diferencia de conjuntos (-) actúa sobre dos relaciones y produce el conjunto de tuplas de la primera relación que no existen en la segunda. La diferencia se implementa en SQL mediante los operadores EXCEPT o MINUS.
  • El producto cartesiano (×) de dos relaciones es una unión que no está restringida por ningún criterio, lo que da como resultado que cada tupla de la primera relación coincida con cada tupla de la segunda. El producto cartesiano se implementa en SQL como el operador de unión cruzada (Cross join ).

Los operadores restantes propuestos por Codd implican operaciones especiales específicas para bases de datos relacionales:

  • La operación de selección o restricción (σ) recupera tuplas de una relación, limitando los resultados a aquellos que cumplen un criterio específico, es decir, un subconjunto en términos de teoría de conjuntos. El equivalente en SQL de la selección es la consulta SELECT con una cláusula WHERE.
  • La operación de proyección (π) extrae únicamente los atributos especificados de una tupla o conjunto de tuplas.
  • La operación de unión definida para bases de datos relacionales se conoce comúnmente como unión natural (⋈). En este tipo de unión, dos relaciones se conectan mediante sus atributos comunes. La aproximación de MySQL a una unión natural es el operador INNER JOIN . En SQL, un INNER JOIN evita que se produzca un producto cartesiano cuando hay dos tablas en una consulta. Por cada tabla añadida a una consulta SQL, se añade un INNER JOIN adicional para evitar dicho producto. Por lo tanto, para N tablas en una consulta SQL, se requieren N−1 INNER JOINS para evitar un producto cartesiano.
  • La división relacional (÷) es una operación ligeramente más compleja que consiste esencialmente en utilizar las tuplas de una relación (el dividendo) para dividir una segunda relación (el divisor). El operador de división relacional es, en efecto, lo opuesto al operador de producto cartesiano (de ahí su nombre).

Desde que Codd introdujo los ocho operadores originales, se han introducido o propuesto otros, entre los que se incluyen operadores de comparación relacional y extensiones que ofrecen soporte para datos anidados y jerárquicos, entre otros.

Normalización

La normalización fue propuesta inicialmente por Codd como parte integral del modelo relacional. Comprende un conjunto de procedimientos diseñados para eliminar dominios no simples (valores no atómicos) y la redundancia (duplicación) de datos, lo que a su vez previene anomalías en la manipulación de datos y la pérdida de integridad de los mismos. Las formas más comunes de normalización aplicadas a las bases de datos se denominan formas normales .

Sistema de gestión de bases de datos relacionales (RDBMS)

La estructura general de una base de datos relacional

Connolly y Begg definen el sistema de gestión de bases de datos (DBMS) como un "sistema de software que permite a los usuarios definir, crear, mantener y controlar el acceso a la base de datos". [ 24 ] RDBMS es una extensión de esa sigla que a veces se utiliza cuando la base de datos subyacente es relacional.

Una definición alternativa para un sistema de gestión de bases de datos relacionales es un sistema de gestión de bases de datos (DBMS) basado en el modelo relacional . La mayoría de las bases de datos de uso generalizado en la actualidad se basan en este modelo. [ 25 ]

Los sistemas de gestión de bases de datos relacionales (RDBMS) han sido una opción común para el almacenamiento de información en bases de datos utilizadas para registros financieros, información de fabricación y logística, datos de personal y otras aplicaciones desde la década de 1980. Las bases de datos relacionales a menudo han reemplazado a las bases de datos jerárquicas heredadas y a las bases de datos de red , debido a que los RDBMS eran más fáciles de implementar y administrar. No obstante, los datos almacenados relacionalmente recibieron continuos desafíos, sin éxito, por parte de los sistemas de gestión de bases de datos orientadas a objetos en las décadas de 1980 y 1990 (introducidos en un intento de abordar la denominada incompatibilidad de impedancia objeto-relacional entre las bases de datos relacionales y los programas de aplicación orientados a objetos), así como por los sistemas de gestión de bases de datos XML en la década de 1990. [ 26 ] Sin embargo, debido a la expansión de tecnologías, como el escalado horizontal de clústeres de computadoras , las bases de datos NoSQL se han popularizado recientemente como una alternativa a las bases de datos RDBMS. [ 27 ]

Bases de datos relacionales distribuidas

La arquitectura de base de datos relacional distribuida (DRDA) fue diseñada por un grupo de trabajo dentro de IBM en el período de 1988 a 1994. DRDA permite que las bases de datos relacionales conectadas en red cooperen para satisfacer las solicitudes SQL. [ 28 ] [ 29 ] Los mensajes, protocolos y componentes estructurales de DRDA están definidos por la arquitectura de gestión de datos distribuidos .

Lista de motores de bases de datos

Según DB-Engines , en diciembre de 2024 los sistemas más populares en el sitio web db-engines.com fueron: [ 30 ]

  1. Base de datos Oracle
  2. MySQL
  3. Servidor Microsoft SQL
  4. PostgreSQL
  5. Copo de nieve
  6. IBM Db2
  7. SQLite
  8. Microsoft Access
  9. Databricks
  10. María DB

Según la empresa de investigación Gartner , en 2011, los cinco principales proveedores de software propietario de bases de datos relacionales por ingresos fueron Oracle (48,8%), IBM (20,2%), Microsoft (17,0%), SAP incluyendo Sybase (4,6%) y Teradata (3,7%). [ 31 ]

Véase también

Referencias

  1. Hastings, Jordan (2003). Herramientas de software portátiles para la gestión y referenciación de taxonomías . Actas del taller de técnicas de cartografía digital '03 . Vol.  Informe de archivo abierto del Servicio Geológico de los Estados Unidos 03–471. 2. Tecnología de bases de datos relacionales y representación taxonómica. Archivado del original el 21-10-2014 . Recuperado el 06-04-2024 a través del Servicio Geológico de los Estados Unidos .
  2. 1 2 3 4 Codd, EF (1970). "Un modelo relacional de datos para grandes bancos de datos compartidos" . Communications of the ACM . 13 (6): 377– 387. doi : 10.1145/362384.362685 . S2CID 207549016 . 
  3. Ambler, Scott (21 de marzo de 2023). "Bases de datos relacionales 101: Una visión global" .
  4. Date, Chris (5 de mayo de 2005). Bases de datos en profundidad: teoría relacional para profesionales . O'Reilly. ISBN 0-596-10012-4.
  5. Financiando una revolución: Apoyo gubernamental a la investigación informática . National Academies Press. 8 de enero de 1999. ISBN 0309062780.
  6. Sumathi, S.; Esakkirajan, S. (13 de febrero de 2008). Fundamentos de los sistemas de gestión de bases de datos relacionales . Springer. ISBN 978-3540483977El producto se llamaba SQL/DS (Structured Query Language/Data Store) y se ejecutaba en el entorno del sistema operativo DOS/VSE .
  7. Leavitt, Don (6 de septiembre de 1976). "MDBM respalda los enfoques relacionales y de red" . Computerworld . IDG Enterprise.
  8. Schmidt, Joachim W.; Brodie, Michael L. (1982). Sistemas de bases de datos relacionales: análisis y comparación . Springer Science & Business Media. págs. 181–220 . ISBN  978-3-642-68847-8.
  9. "Cronología de Oracle" (PDF) . Revista Profit . 12 (2). Oracle: 26 de mayo de 2007. Consultado el 16 de mayo de 2013 .
  10. "Nuevo programa de software de base de datos lleva a Macintosh a las grandes ligas" . tribunedigital-chicagotribune . 28 de junio de 1987. Consultado el 17 de marzo de 2016 .
  11. Hershey, WR; Easthope, CH (1 de diciembre de 1972). "Una estructura de datos y lenguaje de recuperación basados ​​en la teoría de conjuntos" . ACM SIGIR Forum . 7 (4). Association for Computing Machinery : 45–55 . doi : 10.1145/1095495.1095500 . Recuperado el 4 de enero de 2024 .
  12. SIGFIDET '74: Actas del taller de 1974 de la ACM SIGFIDET (ahora SIGMOD) sobre descripción, acceso y control de datos: modelos de datos: conjunto de estructuras de datos frente a relacionales . Association for Computing Machinery . 1 de enero de 1975. doi : 10.1145/800297 . ISBN 978-1-4503-7418-7Consultado el 4 de enero de 2024 .
  13. Notley, MG (1972). El sistema Peterlee IS/1 . Centro Científico de IBM en el Reino Unido . Consultado el 4 de enero de 2024 .
  14. Todd, Stephen (1976). "El vehículo de prueba relacional de Peterlee: una descripción general del sistema". IBM Systems Journal . 15 (4): 285– 308. doi : 10.1147/sj.154.0285 .
  15. "¿Qué es un SGBDR (sistema de gestión de bases de datos relacionales)? | Definición de TechTarget" . Búsqueda en Gestión de Datos . Consultado el 16 de abril de 2026 .
  16. ^ Ramakrishnan, Raghu; Donjerkovic, Donko; Ranganathan, Arvind; Beyer, Kevin S.; Krishnaprasad, Muralidhar (1998). "SRQL: lenguaje de consulta relacional ordenado" (PDF) . E Actas de SSDBM .
  17. "Descripción general de las bases de datos relacionales" . oracle.com .
  18. "Un modelo de relación universal para una base de datos anidada" , El modelo de base de datos de relación universal anidada , Lecture Notes in Computer Science, vol. 595, Berlín, Heidelberg: Springer Berlin Heidelberg, pp. 109–135 , 1992, doi : 10.1007/3-540-55493-9_5 , ISBN   978-3-540-55493-6, consultado el 1 de noviembre de 2020{{citation}}: CS1 mantenimiento: parámetro de trabajo con ISBN ( enlace )
  19. "Gray será galardonado con el premio AM Turing esta primavera" . Microsoft PressPass. 23 de noviembre de 1998. Archivado del original el 6 de febrero de 2009. Consultado el 16 de enero de 2009 .
  20. Gray, Jim (septiembre de 1981). "El concepto de transacción: virtudes y limitaciones" (PDF) . Actas de la 7.ª Conferencia Internacional sobre Bases de Datos Muy Grandes . Cupertino, CA: Tandem Computers . págs. 144–154 . Consultado el 9 de noviembre de 2006 . 
  21. Gray, Jim y Reuter, Andreas, Procesamiento de transacciones distribuidas: conceptos y técnicas . Morgan Kaufmann , 1993. ISBN 1-55860-190-2.
  22. Fecha (1984) , pág. 268.
  23. Connolly, Thomas M; Begg, Carolyn E (2015). Sistemas de bases de datos: un enfoque práctico para el diseño, la implementación y la gestión ( ed. global). Boston Columbus Indianápolis: Pearson. pág. 416. ISBN   978-1-292-06118-4.
  24. Connolly, Thomas M.; Begg, Carolyn E. (2014). Sistemas de bases de datos: un enfoque práctico para el diseño, la implementación y la gestión (6.ª ed.). Pearson. pág. 64. ISBN   978-1292061184.
  25. Pratt, Philip J.; Last, Mary Z. (8 de septiembre de 2014). Conceptos de gestión de bases de datos (8.ª ed.). Course Technology. pág. 29. ISBN   9781285427102.
  26. Feuerlich, George (21 de abril de 2010). Dateso 10; Tendencias y direcciones de las bases de datos: desafíos y oportunidades actuales (1.ª ed.). Praga, Sokolovsk: MATFYZPRESS. págs. 163–174 . ISBN   978-80-7378-116-3.
  27. "Las bases de datos NoSQL se adueñan del mercado de las bases de datos relacionales" . 4 de marzo de 2015. Consultado el 14 de marzo de 2018 .
  28. Reinsch, R. (1988). "Base de datos distribuida para SAA". IBM Systems Journal . 27 (3): 362– 389. doi : 10.1147/sj.273.0362 .
  29. Referencia de la arquitectura de bases de datos relacionales distribuidas . IBM Corp. SC26-4651-0. 1990.
  30. "Clasificación de DB-Engines de sistemas de gestión de bases de datos relacionales" . DB-Engines . Consultado el 1 de diciembre de 2024 .
  31. "Oracle, líder indiscutible en el mercado de RDBMS de 24 mil millones de dólares" . Eye on Oracle . 12 de abril de 2012. Archivado del original el 8 de enero de 2014. Consultado el 1 de marzo de 2013 .

Fuentes