Sunteți pe pagina 1din 23

Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

Digital Guide

(/digitalguide/)

 09.05.19 | Cuestiones técnicas (hosting/cuestiones-tecnicas/)


/sharer.php?u=https:
url=https://www.ionos.es
//www.ionos.es
¿Te ha gustado el artículo? 4.7     //www.ionos.es
(6) relacionales
/digitalguide/hosting
/digitalguide/hosting

Productos asociados

Hosting

Ver tarifas 

Hosting para
Bases de datos relacionales: el modelo de agencias
datos en detalle
Ofrece un servicio fiable y
Las bases de datos (hosting/cuestiones-tecnicas/bases-de-datos/) son de alto rendimiento a tus
parte esencial de cualquier sistema informático, puesto que todos los clientes con un pack
programas necesitan recurrir a diversos datos mientras se ejecutan o hosting de IONOS.
generan otros que se han de almacenar de forma fiable, sin
contradicciones y a largo plazo. Esto es posible en bases de datos (BD)
Ver packs 

estructuradas y gestionadas por sistemas de gestión de bases de datos


(SGBD), aplicaciones de software que interactúan con el usuario o con
otros programas para poner a su disposición un segmento de la
información guardada en la base de datos.
Artículos Favoritos

Compraventa de
dominios
La compraventa de
dominios puede resultar
muy lucrativa. Descubre a
qué debes prestar

1 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

Digital Guide atención en el negocio de


Índice
los dominios...
1. Qué es una base de datos relacional (hosting/cuestiones-tecnicas
/bases-de-datos-relacionales/#c146690) (dominios/noticias-
(/digitalguide/)
2. Cómo funcionan las bases de datos relacionales sobre-dominos/la-
(hosting/cuestiones-tecnicas/bases-de-datos-relacionales compra-venta-de-
/#c146699) dominios-en-
3. Diferencias con otros modelos de bases de datos internet-y-su-
(hosting/cuestiones-tecnicas/bases-de-datos-relacionales rentabilidad/)
/#c146720)
4. Bases de datos relacionales: ¿qué ventajas tienen?
(hosting/cuestiones-tecnicas/bases-de-datos-relacionales El correo con
/#c146726)
dominio propio
5. Inconvenientes de las bases de datos relacionales Infórmate de las ventajas
(hosting/cuestiones-tecnicas/bases-de-datos-relacionales
de contar con un correo
/#c146727)
electrónico personalizado
6. Conclusión (hosting/cuestiones-tecnicas/bases-de-datos-
y entérate de cómo se
relacionales/#c146728)
configura...

Hasta hoy la gestión electrónica de datos ha estado dominada por el


(correo-
modelo de base de datos relacional. Entre los gestores de bases de electronico/cuestiones-
datos relacionales más utilizados se cuentan, por orden alfabético: tecnicas/como-crear-
un-correo-con-
Db2: conDb2 (https://www.ibm.com/analytics/es/es/technology dominio-propio/
/db2/db2-linux-unix-windows.html) los usuarios disponen de un
SGBD relacional propietario de la casa IBM.
ccTLD: la lista
Microsoft SQL Server: la aplicación de Microsoft
completa
(https://www.microsoft.com/es-es/sql-server/default.aspx) para
gestionar bases de datos relacionales está disponible con una La lista completa de ccTLD
licencia Microsoft de pago. presenta todos los
dominios geográficos así
MySQL: MySQL (https://www.mysql.com) es el SGBD de código
abierto más utilizado a nivel global. Desde que pasa a las manos como algunas de sus
de Oracle, MySQL se distribuye con una licencia dual. Sus características...
primeros desarrolladores siguen encargándose del proyecto,
ahora bajo el nombre de MariaDB. (dominios/extensiones-
de-dominio/cctld-la-
PostgreSQL: conPostgreSQL (https://www.postgresql.org/) los lista-completa-de-
usuarios disponen de un SGBD relacional libre y orientado a dominios-por-pais/
objetos de cuyo continuo desarrollo se ocupa su comunidad
open source.

2 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

Digital Guide
Oracle Database: el programa deOracle (https://cloud.oracle.com Emoticonos
en
/es_ES/iaas/database-applications) se distribuye como software Outlook
propietario.
(/digitalguide/) Los smileys están bien
SQLite: por último,SQLite (https://www.sqlite.org asentados en el
/index.html) constituye una biblioteca de programas con licencia intercambio digital. Pero,
de dominio público que contiene un gestor de bases de datos
¿cómo se insertan en
relacionales.
Outlook?...
Todos estos sistemas se basan en una organización tabular de la
información, pero ¿cómo exactamente? A continuación nos (correo-
adentramos en los principios fundamentales del diseño de bases de electronico/cuestiones-
datos relacionales, presentamos algunos ejemplos y las distinguimos tecnicas/insertar-
de otros modelos de datos.
emoticonos-en-
outlook/)

Qué es una base de datos relacional


USB booteable
Un concepto capital del modelo relacional es el de relación, postulado Descubre cómo un USB de
por el matemático y teórico de bases de datos Edgar F. Codd. Siguiendo arranque te permite volver
al científico británico, una relación representa un conjunto de
a poner en marcha un
entidades con las mismas propiedades. Cada relación se compone de
equipo tras haberse
una serie de filas o registros (las llamadas tuplas), cuyos valores
producido un problema...
dependen de ciertos atributos (columnas).
(servidores/know-
Para definir los atributos de una relación y el tipo de dato (dominio)
how/usb-booteable/
permitido para estos valores, se utiliza un esquema con esta sintaxis:

R = (A1:D1, A2:D2,… , An:Dn)

Aquí, la relación R comprende de los atributos A1a An y cada atributo


corresponde a un tipo de dato o dominio (D1, D2 , etc.).

Veámoslo a la luz de un ejemplo concreto. El siguiente esquema define


los atributos de la relación “Empleados”:

3 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

Digital Guide

(/digitalguide/)

segundo apellido, nombre, número de la seguridad social (nº SS), calle,


código postal y municipio, y podría utilizarse para la gestión interna de
los datos personales de la plantilla de una empresa.

A cada atributo le corresponde un tipo de dato, string o integer, lo que


indica que hay atributos que esperan cómo valor una secuencia de
caracteres (string) y otros que solo aceptan números enteros (integer).

Una relación con el esquema explicado arriba podría contener la


siguiente tupla (fila):

La tabla, concepto clásico de la organización de la información, es el


formato que utiliza el modelo relacional para explicar de un modo
visual la ordenación de los valores de una tupla en función de los
atributos definidos en la relación. Una base de datos relacional no es
otra cosa, entonces, que un conjunto de tablas interrelacionadas.

Las tablas son sistemas de clasificación constituidos por filas


horizontales y columnas verticales que permiten agrupar datos y
presentarlos de forma ordenada. Cada fila de una tabla se denomina
tupla. Los valores que contiene cada tupla vienen determinados por los
atributos definidos en el esquema relacional.

En el modelo de bases de datos relacional se llama relación a un conjunto de


tuplas con los mismos atributos

4 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

Digital Guide
En el siguiente ejemplo se muestra una tabla tal como resultaría del 
esquema anterior:
(/digitalguide/)

Empleados            

e_ID 1er 2º apellido nombre nº SS calle CP


apellido
1 García Fernández Antonio 32 Calle 11111
12345678 Principal
12 1
2 García García Josefa 28 Calle 22222
87654321 Iglesia 2
49
3 Expósito Hernández Gonzalo 25 Plaza 33333
09122598 Mercado
46 3
4 Casas González Antonia 23 Calle 44444
17083912 Grande
78 4

Esta tabla guarda los datos de la plantilla de una empresa y se


compone de cuatro registros, cada uno de los cuales contiene
información sobre un solo empleado.

 Nota
Tal y como lo definió Edgar F. Codd, el término “relación” se
utiliza como sinónimo de “tabla”, pero en la práctica se aplica de
forma diferente, entre otras cosas para hacer referencia también
a las mismas relaciones entre las tablas. Para evitar
malentendidos, en adelante evitaremos denominar relaciones a
las tablas.

Cómo funcionan las bases de datos relacionales

Los datos estructurados en tablas constituyen la BD de un sistema


relacional. El SGBD define su estructura y gestiona también los

5 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

permisos de escritura y lectura y para interactuar con él, los usuarios


Digital Guide
utilizan un lenguaje de bases de datos. Todo gestor de bases de datos 
relacionales soporta al menos un lenguaje formal que permite ejecutar
las siguientes operaciones: (/digitalguide/)

Definir la estructura de datos: en la definición de los datos se


guarda una descripción con metadatos de la estructura de datos
en el diccionario del sistema. Cuando un usuario crea una tabla
nueva, en el diccionario de datos se almacena su
correspondiente esquema. El vocabulario de un lenguaje de
bases de datos que se utiliza para definir los datos se denomina
Data Definition Language (DDL), lenguaje de definición de datos.

Definir derechos: todos los lenguajes de bases de datos


proporcionan una sintaxis que permite otorgar o retirar
permisos. En este contexto se habla de Data Control Language
(DCL) o lenguaje de control de datos, un vocabulario integrado
en el lenguaje de bases de datos.

Definir condiciones de integridad: por condiciones de integridad


se entienden los requisitos de estado que se exigen a un banco
de datos. Si se definen condiciones para su integridad, la BD
garantiza que se cumplan en todo momento. Se habla entonces
de un estado consistente. Una condición básica de integridad en
una base de datos relacional es, por ejemplo, que cada registro
(tupla) pueda identificarse de forma inequívoca.

Definir transacciones: cuando se lleva a una BD de un estado


consistente a otro diferente se habla de transacción. Estas
transacciones contienen una serie de instrucciones que deben
ejecutarse siempre de forma íntegra. Si una se interrumpe, la BD
vuelve a su estado original (Rollback). Cada transacción comienza
con una orden para crear una conexión con la BD a la que siguen
otras que inician las operaciones de datos en sí, así como un
paso de comprobación (Commit) que asegura la integridad de la
BD. Las operaciones que pongan en peligro la integridad de la
tabla no se consignan (committed), es decir, no se escriben en la
base de datos de forma permanente. Por último, se cierra la
conexión con la BD. Al vocabulario del lenguaje de bases de
datos con el que se manipulan los datos se le conoce como Data
Manipulation Language (DML).

Definir vistas: las llamadas views son vistas virtuales de un


subconjunto de los datos de una tabla. Para crear una vista, el

6 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

SGBD genera una tabla virtual (relación lógica)


Digital sobre la base de
Guide
las tablas físicas. En estas vistas pueden emplearse las mismas 
operaciones que se utilizarían en tablas físicas. Según la función
de la vista de datos pueden distinguirse distintos tipos de vista.
(/digitalguide/)
Las más habituales son aquellas que filtran determinadas filas
(consulta de selección) o columnas (vista de columnas) de una
tabla, así como las que conectan diversas tablas entre sí (vista de
conjunto).

En el modelo relacional se utiliza de forma estándar para estas


operaciones el lenguaje de bases de datosSQL (Structured Query
Language), basado en el álgebra relacional.

Las operaciones típicas de las BD como consultar, crear, actualizar o


borrar datos se realizan por medio de las llamadas sentencias SQL (SQL
statements), una combinación de órdenes SQL, semánticamente
vinculadas al inglés y por este motivo bastante elocuentes. La siguiente
tabla contiene términos fundamentales del modelo de datos relacional
y su equivalente en terminología SQL:

Modelo de datos relacional SQL

Relación Table (tabla)


Atributo Column (columna)
Tupla Row (fila)

Para ejecutar una consulta sencilla con SQL podemos utilizar este
esquema:

Utilizamos SELECT en primer lugar para ordenar al SGBD relacional que


consulte ciertos datos. A continuación definimos los datos que
queremos consultar proporcionando tanto la tabla como la columna
que deseamos seleccionar. Con WHERE integramos una condición en la
sentencia SQL porque no queremos abrir todos los valores en esta
columna, sino solo el valor de un determinado registro.

Volviendo a nuestra tabla “Empleados”, esta sentencia SQL podría

7 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

resultar así: Digital Guide


(/digitalguide/)

Esta declaración indica al gestor de la BD que invoque un valor de la


columna nº SS de la tabla “Empleados”. La condición que hemos
definido es que se seleccione el valor del registro cuyo valor de atributo
de la columna e_ID equivalga al valor 3.

Como resultado, la base de datos entrega el valor 25 091225 46, el


número de la seguridad social de Gonzalo Expósito Hernández, el
empleado identificado con el número 3.

 Consejo
En nuestro tutorial básico de SQL (servidores/know-how/guia-
para-aprender-a-utilizar-mysql/) presentamos una descripción
detallada de las operaciones fundamentales de SQL.

Normalización

Cuando se trabaja con bases de datos relacionales, rara vez se hace


con una única tabla. Normalmente se manejan arquitecturas en las
cuales los datos se clasifican en tablas separadas en función de su
significado. La necesidad de hacer consultas cruzadas para obtener
datos guardados en tablas diferentes es la que da origen al concepto
que sustenta el modelo relacional de bases de datos.

En principio, la información de una base de datos relacional podría


guardarse sin problemas en una sola tabla, con la ventaja de que no
sería necesario interconectar diversas tablas ni utilizar la compleja
sintaxis derivada de las consultas a varias tablas diferentes. Sin
embargo, es aquí precisamente donde reside la fuerza del modelo
relacional, pues el reparto de información en varias tablas contribuye a
reducir las entradas dobles (las llamadas anomalías), un proceso que
se conoce como “normalización”. El grado de normalización de una

8 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

tabla puede definirse a partir de varias formas normales:


Digital Guide

Primera forma normal (1FN)
Segunda forma normal (2FN)
(/digitalguide/)
Tercera forma normal (3NF)
Forma normal de BoyceCodd (FNBC)
Cuarta forma normal (4FN)
Quinta forma normal (5FN)

Los requisitos de cada una de estas formas normales y la translación


de una base de datos de una forma normal a otra son temas de
nuestro artículo sobre la normalización.

En este modelo de datos se llama “relaciones” (relationships) a las


relaciones entre tablas separadas por medio de claves. Estas claves son
las que conectan las tablas entre sí y permiten que los datos de tablas
diferentes puedan consultarse o modificarse siempre con la misma
sentencia.

Claves

Las tablas como la de nuestro ejemplo permiten consultar valores o


registros de distintas formas, pero en todas ellas el componente
principal son las claves. En el modelo relacional se conoce como claves
a los atributos que sirven para identificar un registro de forma
inequívoca.

Volviendo a nuestra tabla “Empleados”, la siguiente clave permite


identificar una tupla:

Con los datos de la tabla, la siguiente clave serviría para identificar de


forma única el registro del empleado Gonzalo Expósito:

A estas llaves se las conoce como superclaves, si bien en la práctica


tienen poca relevancia, entre otras cosas porque a menudo contienen

9 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

más atributos de los necesarios. En cambio, en elGuide


Digital contexto de las bases
de datos relacionales, acostumbra a trabajarse con los fragmentos más 
pequeños de una superclave, los llamados candidatos a clave. Una
tabla puede contener varios candidatos a(/digitalguide/)
clave que identifican a las
tuplas inequívocamente.

Como hemos visto en nuestra consulta anterior, los registros de la


tabla “Empleados” pueden identificarse solo con el número de
identificación (e_ID). Otro candidato a clave podría ser el número de la
seguridad social (nº SS). Una clave como {apellido, nombre}, en cambio,
no sería un buen candidato, ya que esta pareja de atributos no puede
asignarse con seguridad a un solo empleado (en una empresa podría
encontrarse a varios empleados con el mismo nombre y el mismo
primer apellido). En consecuencia, una identificación con esta clave no
estaría libre de duda. Sin embargo, no puede haber dos empleados
que compartan el ID o número de la seguridad social.

Así, para nuestra tabla pueden definirse los siguientes candidatos a


clave:

Las bases de datos relacionales suelen estructurarse de tal forma que


uno de los posibles candidatos a clave indique el orden de los registros.
Este candidato a clave se convierte entonces en clave primaria (primary
key) y suele tratarse de números identificativos consecutivos. En
nuestra tabla sería e_ID.

Por su capacidad para identificar los registros en las bases de datos


relacionales, las claves se ajustan a la perfección para interconectar las
diferentes tablas que componen una BD. Para hacerlo, la clave
primaria de una tabla se convierte en la clave ajena (foreign key) de
otra.

La tabla que presentamos a continuación contiene los datos que una


empresa podría haber registrado sobre su parque móvil. La clave
primaria de la tabla llamada “Vehículos” es un coche_ID consecutivo:

10 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

coche_ID marca modelo matrículaDigital Guide


fabricación ITV

1 VW Caddy 1234 TGB 2016 43452
2 Opel Astra 9876 ZBU 2010 43689
(/digitalguide/)
3 BMW X6 5847 LOG 2017 43344

Ahora, para mostrar el coche que conduce cada empleado debería


conectarse la tabla “Vehículos” con la tabla “Empleados”. Una forma de
hacerlo sería integrando la clave primaria de la tabla del automóvil
(coche_ID) como clave ajena en la tabla con los datos sobre la plantilla:

1er 2º
e_ID apellido apellido nombre nº SS calle CP municipio

1 García Fernández Antonio 32 Calle 11111 Villarriba


12345678 Principal
12 1
2 García García Josefa 28 Calle 22222 Villabajo
87654321 Iglesia 2
49
3 Expósito Hernández Gonzalo 25 Plaza 33333 Campoarriba
091225 Mercado
46 3
4 Casas González Antonia 23 Calle 44444 Campoabajo
170839 Grande
78 4

Ahora sabemos que el trabajador García Fernández conduce un


automóvil con el ID 3, la señora Casas González uno con el ID 2 y que
Josefa y Gonzalo comparten el coche con el ID 1.

Si se tratara de saber qué trabajador llevará la próxima vez el coche al


taller y cuándo lo hará, se deberá consultar tanto la tabla “Empleados”
como la tabla “Vehículos”. Pero como se han conectado mediante la
clave ajena, esta consulta puede hacerse una sola vez. Las operaciones
de BD que abarcan varias tablas se realizan en el modelo relacional con
ayuda de las llamadas sentencias JOIN.

JOIN

JOIN puede traducirse como la acción de “unir” o “combinar” y en este

11 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

contexto hace referencia a una operaciónDigital


que permite
Guideconsultar varias
tablas de datos simultáneamente. Los datos que se extraen de las 
tablas seleccionadas se agrupan en un subconjunto con todos los
posibles resultados (espacio de muestreo(/digitalguide/)
en matemáticas) y se
entregan en función de las condiciones que se han definido.

El fundamento matemático del JOIN de SQL lo componen dos


operaciones del álgebra relacional: el producto cartesiano y la
selección. Los usuarios deciden con la elección del tipo de JOIN y con
ayuda de una condición de selección qué datos se extraen de las
tablas.

Los JOIN se dividen en EQUI JOIN y NON EQUI JOIN.

Entre los tipos de JOIN más importantes se cuentan:

INNER JOIN (combinación interna)


OUTER JOIN (combinación externa)
SELF JOIN (una tabla enlaza consigo misma)

En nuestro artículo sobre los JOIN de SQL (hosting/cuestiones-tecnicas


/sql-join/) conocerás cómo funcionan los JOIN de SQL en las tablas de
bases de datos relacionales y qué has de tener en cuenta al escoger el
tipo de JOIN.

Diferencias con otros modelos de bases de


datos

Las bases de datos relacionales basadas en SQL se diferencian de los


conceptos que rompen con la estructura fija de las tablas y persiguen
un enfoque alternativo a la hora de organizar los datos. Entre los más
importantes se encuentran las bases de datos orientadas a objetos y
los sistemas basados en documentos.

Con las bases de datos orientadas a objetos (BDOO) entra en escena a


finales de la década de 1980 un nuevo modelo que retoma elementos
de la programación orientada a objetos y permite el almacenamiento
de los datos en forma de objetos. Aunque este principio no logra
consolidarse, algunas de sus ideas consiguen colarse en el desarrollo
de sistemas de bases de datos relacionales. El resultado son productos

12 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

con extensiones objeto-relacionales que facilitan el almacenamiento de


Digital Guide
tipos abstractos de datos en el modelo relacional de base de datos. 
Con los cambios en el uso de Internet que(/digitalguide/)
trajo consigo el nuevo siglo y
la web 2.0, el modelo relacional volvió a ser objeto de críticas. En el
marco del movimiento NoSQL (Not only SQL), cuyo objeto era crear
sistemas de BD de gran rendimiento aptos para aplicaciones con un
uso masivo de datos, comienzan a desarrollarse entonces modelos
alternativos como el de las bases de datos orientadas a documentos
(BDOD). Estos dos modelos, los orientados a objetos y a documentos,
se diferencian del modelo relacional sobre todo en la forma como se
almacenan y se accede a los datos.

Bases de datos orientadas a objetos

El modelo orientado a objetos considera el almacenamiento de datos


como objetos, los cuales se procesan de forma análoga a como sucede
en la programación orientada a objetos. Un objeto define a una
entidad y contiene:

los atributos necesarios para describir a la entidad,


conexiones (relaciones) con otros objetos,
funciones que permiten acceder a los datos almacenados
(métodos).

Un objeto es, así, una combinación de datos en la cual también se


define el punto de acceso a estos datos. Los objetos se consideran
tipos abstractos de datos.

El SGBD orientado a objetos (ODBMS, object database management


system) asigna automáticamente un ID a cada objeto que permite
identificarle de forma única y dirigirse a él con métodos. Este ID es
independiente del estado del objeto y está desvinculado de sus
valores. Esto permite asignar ID diferentes a dos objetos con los
mismos datos, esto es, con un mismo estado. El modelo orientado a
objetos se aleja así del relacional, modelo en el que cada tupla puede
identificarse a partir de sus datos, por ejemplo, con una clave primaria.

Otra característica del modelo orientado a objetos es el aislamiento de


los datos: la única forma de acceder a los datos guardados es

13 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

utilizando los métodos que el usuario ha Digital


definidoGuide
previamente. Esto
protege a los datos de cambios procedentes de puntos de acceso no 
definidos.
(/digitalguide/)
Por otro lado, las estructuras de bases de datos se definen aquí por
medio de un sistema de clases jerárquico. En el contexto de la
programación orientada a objetos, una clase es un conjunto de objetos
que poseen las mismas propiedades y a cada clase de objetos le
subyace una definición de clases. Este esquema prescribe los atributos
y los métodos de todos los objetos de la misma clase, determinando
así cómo se crean y se modifican.

Para interactuar con el sistema gestor de estas bases de datos, los


usuarios utilizan un lenguaje de consultas inspirado en SQL, el lenguaje
de consultas a objetos u OQL (Object Query Language). El resultado de
una consulta OQL no es, como en SQL, un espacio de resultados
posibles, sino una lista de todos los objetos que satisfacen las
condiciones de la declaración OQL.

Algunas implementaciones conocidas del modelo de BDOO son Realm


(https://realm.io/products/realm-database), ZODB
(http://www.zodb.org/en/latest/#) y Perst (http://www.mcobject.com
/perst).

El desarrollo de las BDOO pretendía solucionar un problema de la


programación de aplicaciones, la incompatibilidad de impedancia
objeto-relacional (Object-relational impedence mismatch), que se
produce inevitablemente si se guardan objetos de un lenguaje
orientado a objetos como C#, C++ o Java en una base de datos
relacional y resulta de las diferencias fundamentales entre ambos
paradigmas de programación, como son:

Las bases de datos relacionales no soportan conceptos


orientados a objetos como las clases y la herencia.
El modelo relacional no permite la identificación de objetos
independiente del estado.
El modelo relacional tampoco cuenta con el mecanismo de
protección que aporta el aislamiento de datos.

Una forma de evitar estos problemas de incompatibilidad consiste en


no utilizar bases de datos relacionales y optar por una BDOO cuando

14 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

se programan aplicaciones orientadas a objetos. Sin embargo, la


Digital Guide
desventaja de esta opción es que los datos encapsulados en objetos 
dejan de estar disponibles fuera de la aplicación. A esto se añade la
reducida expansión de este tipo de bases(/digitalguide/)
de datos. La mayoría de
herramientas e interfaces que se utilizan para analizar bancos de datos
sigue estando diseñada para bases de datos relacionales y no soportan
el modelo orientado a objetos.

Pese a todo, los programadores de aplicaciones que no quieran


prescindir de las ventajas del modelo relacional tienen la posibilidad de
compensar estas incompatibilidades con ayuda del mapeo objeto-
relacional (O/R mapping o object-relational mapping, ORM). Las
funcionalidades para la representación objeto-relacional se
implementan con bibliotecas que crean una capa de abstracción entre
la aplicación orientada a objetos y los datos guardados en las tablas.

Asimismo, hay muchos fabricantes de sistemas relacionales que


equipan sus productos con funciones para compensar estas
incompatibilidades con la programación orientada a objetos. Estos
sistemas se conocen como objeto-relacionales.

Las BDOO trasponen los principios de la orientación a objetos a la


tecnología de bases de datos y por ello son adecuadas sobre todo en la
programación de aplicaciones orientada a objetos, pero los sistemas de
bases de datos de este tipo son poco frecuentes y aún muy nuevos
para el mercado.

Bases de datos objeto-relacionales

Los sistemas mixtos son sistemas de bases de datos relacionales que


se han ampliado con conceptos del modelo orientado a objetos. De
este modo los principios probados del modelo relacional se ampliarían
a tipos abstractos de datos como los objetos.

Para poder gestionar estos tipos abstractos de datos, las bases de


datos objeto-relacionales amplían las bases de datos relacionales con:

Tipos de datos complejos y personalizables: mientras que las


bases de datos relacionales solo pueden procesar datos
alfanuméricos, con los tipos de datos personalizables también se

15 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

pueden gestionar archivos multimedia estructurados


Digital Guide de forma
compleja. 
Constructores de tipos: permiten derivar tipos nuevos de los
tipos básicos ya existentes.
(/digitalguide/)
Funciones y métodos: como SQL no permite crear funciones, los
sistemas objeto-relacionales han de proveer extensiones con las
cuales puedan definirse funciones de acceso y edición de tipos
de datos complejos.

A partir del cambio de siglo se incluyen extensiones objeto-


relacionales, como los tipos estructurados, en las últimas versiones del
estándar SQL, pero no los soportan todos los SGBD. Algunos sistemas
conocidos que disponen de estas extensiones son IBM Db2, Oracle
Database y Microsoft SQL Server.

Bases de datos orientadas a documentos

Si en las bases de datos relacionales los datos se almacenan en tablas,


el modelo orientado a documentos se basa en un conjunto
heterogéneo de datos compuesto por documentos, que pueden ser
estructurados, como archivos JSON, YAML o XML, o no estructurados,
como Binary Large Objects (BLOB) –archivos de imagen, vídeo o audio.

En el caso de los documentos estructurados, el almacenamiento tiene


lugar por medio de pares clave/valor donde a cada clave se le asigna
un valor concreto. En este contexto se utiliza el término “clave” como
sinónimo de atributo y no tiene nada que ver con las claves del modelo
relacional. Los valores pueden equivaler a cualquier tipo de
información. Las listas o las matrices también podrían ser valores.

Un documento en formato JSON (https://www.json.org/json-


es.html) para almacenar los datos de nuestra plantilla podría tener esta
construcción:

16 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

Digital Guide

(/digitalguide/)

Varios documentos pueden agruparse en una colección de


documentos, una llamada collection. Este documento con datos de
empleados podría unirse a otra parte de la colección “Empleados”.

Las consultas tienen lugar utilizando funciones, lo que puede hacerse


con JavaScript. Los SGBD que trabajan orientados a documentos
otorgan un ID único a cada documento, pero, a diferencia de como
ocurre en el modelo relacional, aquí no existe ningún esquema que
abarque a la base de datos por completo. Los documentos en una base
de datos basada en documentos no han de observar ninguna forma
normal ni existen propiedades estructurales que hayan de cumplirse
en todos los documentos. En principio, cada documento puede tener
una estructura diferente. Pese a todo, en lo que hace al desarrollo de
aplicaciones, se recomienda crear los documentos en uno de los
esquemas adecuados a la aplicación para lograr los requisitos
necesarios para poder realizar consultas.

Las relaciones, como la conexión de tablas de bases de datos en el


modelo relacional, no son posibles aquí. Aunque es posible añadir
manualmente el ID de un documento como referencia en un
documento diferente, los SGBD orientados a documentos no ofrecen
JOIN, con lo que estas posibilidades de consulta deben programarse a
propósito.

En definitiva, los sistemas orientados a documentos son la mejor


opción si se han de procesar grandes cantidades de datos con
estructura heterogénea y escasa interconexión. Esto hace a este
modelo apto sobre todo para el trabajo con big data.

Los sistemas relacionales controlan en todo momento que se cumplan

17 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

las condiciones indicadas en las definiciones de las


Digital tablas, lo que, al
Guide
procesar grandes volúmenes de datos, conduce a una menor velocidad 
de escritura. Los sistemas NoSQL no presentan unos requisitos de
(/digitalguide/)
consistencia de datos tan estrictos, condición que los hace adecuados
para grandes arquitecturas en las cuales se han de gestionar de forma
paralela muchas instancias de base de datos.

También las aplicaciones web recurren con frecuencia creciente a las


bases de datos orientadas a documentos. Pero si se requiere una
fuerte interconexión, el almacenamiento basado en documentos va
ligado a un esfuerzo mucho mayor. En este caso sería más conveniente
utilizar sistemas relacionales.

Algunos ejemplos de bases de datos orientadas a documentos son


BaseX, CouchDB, eXist, MongoDB y RavenDB.

Bases de datos relacionales: ¿qué ventajas


tienen?

El modelo relacional para bases de datos se ha impuesto, no sin


motivo, en el entorno del procesamiento electrónico de datos.
Resumimos a continuación los principales puntos fuertes de este
modelo de base de datos:

Sencillez: el modelo de datos que subyace a la base de datos


relacional se implementa y gestiona más fácilmente que otros
modelos. Las ingentes cantidades de información (datos de
clientes, listas de pedido, movimientos de las cuentas) que las
empresas quieren almacenar a largo plazo se organizan sin
problemas en la estructura de tablas en que se basa el modelo
relacional de base de datos.

Escasa redundancia de datos: las formas normales del modelo


relacional fijan una normativa que tiene el fin de evitar
duplicaciones. Si las reglas de normalización se aplican de forma
consecuente, los sistemas relacionales facilitan un
almacenamiento de datos libre de redundancias, puesto que
solo es necesario editar los datos una única vez, lo que simplifica
sobre todo el mantenimiento interno y técnico del banco de
datos.

18 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

Alta consistencia de datos: las bases de datos


Digital relacionales
Guide
normalizadas permiten almacenar datos sin contradicciones, 
contribuyendo así a la consistencia de los datos. Asimismo, los
sistemas relacionales presentan funciones con las cuales se
(/digitalguide/)
definen y se controlan automáticamente las condiciones de
integridad. Aquellas transacciones que ponen en peligro la
consistencia de los datos se bloquean.

Procesamiento de datos orientado a conjuntos: el sistema de


base de datos relacional se apoya en un procesamiento
orientado a conjuntos que subdivide cada entidad en valores
mínimos. Esto permite conectar entidades diferentes por medio
del contenido, así como realizar consultas complejas como JOIN.

Lenguaje de consultas homogéneo: para la realización de


consultas a bases de datos relacionales se ha consolidado el
lenguaje SQL, que ha sido estandarizado por la ISO
(https://www.iso.org/home.html) y la IEC (http://www.iec.ch/). El
propósito de tal estandarización es que las aplicaciones puedan
desarrollarse y ejecutarse con independencia del SGBD en que se
utilicen. Con todo, el soporte de SQL varía mucho en función del
SGBD.

Inconvenientes de las bases de datos


relacionales

Según el escenario en que se emplean los sistemas de bases de datos


relacionales, ciertas ventajas, como el estar basados en tablas, así
como el reparto de los datos en tablas interconectadas, pueden
interpretarse también como desventajas. Además, algunas de sus
propiedades más destacadas son difícilmente reconciliables con los
modernos requisitos de la programación de aplicaciones (orientación a
objetos, multimedia y big data).

Presentación de los datos en tablas: no siempre es posible


integrar cualquier tipo de dato en el formato fijo de las tablas
bidimensionales aun cuando estén interconectadas (impedance
mismatch). Los datos abstractos o no estructurados que surgen
en relación con las aplicaciones multimedia y las soluciones de
big data no pueden representarse en el modelo relacional.

Sistema no jerárquico: las bases de datos relacionales no ofrecen


la posibilidad, a diferencia de las orientadas a objetos, de

19 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

desarrollar tablas con clases organizadas


Digitalde forma jerárquica,
Guide
impidiendo, así, poner en práctica conceptos como las entidades 
subordinadas, que heredan propiedades de entidades
superiores. De este modo no es posible, por ejemplo, crear
(/digitalguide/)
subtuplas: todas las tuplas de una base de datos relacional están
al mismo nivel jerárquico.

Segmentación de los datos: el principio de base de los sistemas


relacionales que consiste en almacenar la información en tablas
separadas (normalización) conduce inevitablemente a su
segmentación. Este diseño deriva en complejas consultas que
abarcan varias tablas, de modo que el elevado número de
segmentos resultantes acostumbra a reflejarse negativamente
en el rendimiento.

Peor rendimiento frente a las bases de datos NoSQL: el modelo


relacional plantea elevados requisitos en cuanto a la consistencia
de datos que van en detrimento de la velocidad de escritura en
las transacciones.

Conclusión

El modelo relacional para bases de datos se caracteriza por la claridad,


tiene una base matemática y ha probado su eficacia en la práctica
durante más de 40 años. Pese a todo, el almacenamiento de datos en
tablas estructuradas no se ha adaptado a las necesidades de la
tecnología de la información moderna.

Son especialmente la gestión de grandes volúmenes de datos en el


marco de los análisis de big data y el almacenamiento de datos
abstractos los factores que saturan la capacidad de los sistemas
relacionales. Y es precisamente aquí donde los sistemas especializados,
como las BD basadas en objetos o los conceptos desarrollados en la
senda del movimiento NoSQL, muestran su superioridad, si bien no es
posible prescindir completamente del modelo relacional. Las bases de
datos relacionales despliegan todo su potencial sobre todo en aquellos
ámbitos corporativos protagonizados por el procesamiento de datos
de transacciones.

Los datos sobre acciones de los clientes o medidas de marketing


pueden representarse perfectamente en el formato de tabla, a la par

20 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

que los usuarios sacan provecho de una sintaxis que, pese a su


Digital Guide
simplicidad, permite consultas complejas. 

(/digitalguide/)
 09.05.19 | Cuestiones técnicas (hosting/cuestiones-tecnicas/)
/sharer.php?u=https:
url=https://www.ionos.es
//www.ionos.es
¿Te ha gustado el artículo? 4.7     //www.ionos.es
(6) relacionales
/digitalguide/hosting
/digitalguide/hosting

Sistemas de Almacenamiento (tags/sistemas-de-almacenamiento/)


Base de Datos (tags/base-de-datos/)

Artículos similares

21 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

Digital Guide

(/digitalguide/)
(paginas- (hosting/cuestiones- (hosting/cuestiones-
web/desarrollo- tecnicas/sql-join/) tecnicas/base-de-datos-
web/crud-las- en-memoria/)
principales-
operaciones-de-bases-
SQL JOIN: con-
de-datos/) sultas a varias Bases de datos
tablas de datos en memoria: al-
CRUD: la base (hosting/cues- macenamiento
de la gestión de tiones-tecnicas de big data
datos (paginas- /sql-join/) (hosting/cues-
web/desarrollo-  29.08.2018
tiones-tecnicas
web/crud-las- | Cuestiones técnicas /base-de-
principales-
(hosting/cuestiones-tecnicas/)
datos-en-
operaciones- Un punto fuerte del memoria/)
modelo relacional de
de-bases-de-  07.03.2019
| Cuestiones técnicas
datos/) bases de datos es el
(hosting/cuestiones-tecnicas/)
reparto de la
 04.09.2019
Las bases de datos en
| Desarrollo web (paginas- información en bases
web/desarrollo-web/) memoria permiten
de datos separadas que
Muy seguramente, todo analizar y suministrar
se estructuran en
desarrollador web se ha big data en tiempo real.
función de relaciones
encontrado, en más de El almacenamiento en
semánticas. Este
una ocasión, con el la unidad de memoria
concepto, denominado
concepto CRUD. El RAM propicia esta alta
normalización, es la
acrónimo identifica a las velocidad de acceso. Las
base para un
operaciones típicas bases de datos
almacenamiento de
para la comunicación tradicionales se basan,
datos sin redundancia y
con los sistemas de en cambio, en el
requiere un mecanismo
bases de datos, almacenamiento en el
con el que puedan
encargadas de fijar las disco duro. ¿En qué se
combinarse los datos
bases del proceso de diferencian las bases de
de diferentes tablas
gestión de datos. Ahora datos en memoria de
para realizar consultas.
bien, ¿cómo se crean los sistemas de bases
Con los diferentes...
exactamente estas de datos tradicionales?

funciones de acceso y Y ¿cuáles son las bases

gestión de datos? y de datos...

¿qué papel juegan los

22 de 23 21/12/19 02:39
Bases de datos relacionales: qué son y por qué s... https://www.ionos.es/digitalguide/hosting/cuest...

Digital Guide

http://ionos.ly
(/digitalguide/)
http://ionos.ly
http://ionos.ly
http://ionos.ly
feeds/rss-
/IONOS_YT_ES
/IONOS_FB_ES
/IONOS_TW_ES/IONOS_IN
digitalguide

Empresa (https://www.ionos.es/empresa) Uso de Cookies (https://www.ionos.es/cookies


Privacidad (https://www.ionos.es/terms-gtc/terms-privacy)
Centro de Ayuda (https://www.ionos.es/ayuda)
© 2019 1&1 IONOS España S.L.U. (https://www.ionos.es)

23 de 23 21/12/19 02:39

S-ar putea să vă placă și