Tema 73. El modelo relacional. Definiciones y conceptos básicos. Arquitectura. Diseño. Normalización. Manipulación: álgebra y cálculo relacional. Modelo entidad–relación. El lenguaje SQL. Normas y estándares para la interoperabilidad entre gestores de bases de datos relacionales. Principales SGBD comerciales. SGBD de código abierto.

OPE 2025. TFA INFORMÁTICA

Tema 73: El modelo relacional

1. Definiciones y conceptos básicos

El modelo relacional es un paradigma para la gestión de bases de datos basado en la organización de los datos en tablas (o relaciones). Cada tabla está formada por filas (tuplas) y columnas (atributos). Este modelo fue introducido por Edgar F. Codd en 1970 y se basa en teoría de conjuntos y lógica de primer orden.

Conceptos clave:

  • Relación: Conjunto de tuplas que comparten un mismo esquema.
  • Tupla: Fila de una tabla que representa una instancia específica.
  • Atributo: Columna de una tabla que define una propiedad o característica de las tuplas.
  • Clave primaria: Atributo o conjunto de atributos que identifican de manera única cada tupla.
  • Clave foránea: Atributo que establece una relación entre dos tablas.

2. Arquitectura del modelo relacional

La arquitectura del modelo relacional se basa en tres niveles:

  • Nivel interno: Define la organización física de los datos en el almacenamiento.
  • Nivel conceptual: Describe la estructura lógica de la base de datos, incluyendo relaciones, atributos y restricciones.
  • Nivel externo: Proporciona vistas personalizadas de los datos para los usuarios.

3. Diseño del modelo relacional

El diseño del modelo relacional sigue varias etapas:

  • Identificación de entidades y atributos: Determinar las entidades y sus propiedades.
  • Definición de relaciones: Establecer las asociaciones entre las entidades.
  • Normalización: Aplicar reglas para eliminar redundancias y garantizar la integridad de los datos.

4. Normalización

La normalización es un proceso que organiza los datos en una base de datos para reducir la redundancia y mejorar la integridad. Las formas normales más comunes son:

  • Primera Forma Normal (1FN): Garantiza que los valores de los atributos sean atómicos.
  • Segunda Forma Normal (2FN): Elimina dependencias parciales.
  • Tercera Forma Normal (3FN): Elimina dependencias transitivas.
  • Forma Normal de Boyce-Codd (FNBC): Refina la 3FN en caso de claves candidatas superpuestas.

5. Manipulación del modelo relacional: Álgebra y cálculo relacional

  • Álgebra relacional: Lenguaje procedural que permite operar sobre relaciones mediante operadores como selección, proyección, uniones, intersecciones y diferencias.
  • Cálculo relacional: Lenguaje declarativo basado en lógica de predicados que describe qué datos recuperar sin especificar cómo hacerlo.

6. Modelo entidad-relación (ER)

El modelo ER es una metodología de diseño que utiliza diagramas para representar visualmente entidades, atributos y relaciones. Las principales componentes del modelo ER son:

  • Entidades: Objetos del mundo real.
  • Atributos: Propiedades de las entidades.
  • Relaciones: Asociaciones entre entidades.

7. El lenguaje SQL

SQL (Structured Query Language) es el lenguaje estándar para interactuar con bases de datos relacionales. Se divide en:

  • DDL (Data Definition Language): Permite crear, modificar y eliminar estructuras de datos (CREATE, ALTER, DROP).
  • DML (Data Manipulation Language): Permite consultar y modificar datos (SELECT, INSERT, UPDATE, DELETE).
  • DCL (Data Control Language): Administra permisos y seguridad (GRANT, REVOKE).
  • TCL (Transaction Control Language): Gestiona transacciones (COMMIT, ROLLBACK).

8. Normas y estándares para la interoperabilidad entre SGBD

La interoperabilidad entre sistemas de gestión de bases de datos (SGBD) es crucial para garantizar la integración y el intercambio de información entre diferentes plataformas. Las normas y estándares más destacados son:

  • SQL ANSI/ISO: Es el estándar universal para bases de datos relacionales, adoptado por la mayoría de los SGBD. Incluye definiciones para manipulación y definición de datos, así como reglas para el control de transacciones y seguridad.
  • ODBC (Open Database Connectivity): Es una interfaz estándar que permite a las aplicaciones acceder a bases de datos utilizando controladores específicos. Es independiente del sistema operativo y del lenguaje de programación, lo que facilita la interoperabilidad.
  • JDBC (Java Database Connectivity): Diseñada para aplicaciones Java, permite conectarse a bases de datos de diferentes proveedores mediante controladores JDBC.
  • XML (Extensible Markup Language) y JSON (JavaScript Object Notation): Son formatos ampliamente utilizados para el intercambio de datos entre sistemas. Los SGBD modernos ofrecen soporte nativo para el manejo de datos en estos formatos.
  • Estándares de interoperabilidad basados en web: Tecnologías como REST (Representational State Transfer) y SOAP (Simple Object Access Protocol) permiten que los SGBD interactúen con aplicaciones a través de servicios web.
  • ETL (Extract, Transform, Load): Herramientas y procesos que permiten la extracción, transformación y carga de datos entre diferentes SGBD, asegurando la coherencia y calidad de los datos.
  • Esquemas de metadatos: Los estándares como Dublin Core y Metadata Object Description Schema (MODS) permiten describir y compartir información estructurada entre sistemas.

La aplicación de estas normas no solo mejora la interoperabilidad, sino que también garantiza la portabilidad, seguridad y escalabilidad en entornos de bases de datos heterogéneos.

9. Principales SGBD comerciales y de código abierto

  • SGBD comerciales: Oracle Database, Microsoft SQL Server, IBM Db2.
  • SGBD de código abierto: MySQL, PostgreSQL, MariaDB, SQLite.

Los SGBD comerciales suelen ofrecer características avanzadas y soporte corporativo, mientras que los de código abierto destacan por su flexibilidad y comunidad activa.


Aquí tienes un cuestionario tipo test basado en el tema 73:


Cuestionario sobre el modelo relacional

Pregunta 1
¿Cuál es el principal propósito del proceso de normalización en una base de datos relacional?
a) Mejorar el rendimiento de las consultas mediante índices.
b) Reducir la redundancia y mejorar la integridad de los datos.
c) Aumentar la cantidad de datos que una tabla puede almacenar.
d) Simplificar la interfaz gráfica del usuario final.

Respuesta correcta: b) Reducir la redundancia y mejorar la integridad de los datos.
Explicación:

  • b) Correcta: La normalización reorganiza los datos para evitar duplicaciones y asegurar consistencia.
  • a) Incorrecta: Aunque los índices mejoran el rendimiento, no son parte de la normalización.
  • c) Incorrecta: La normalización no afecta la capacidad de almacenamiento.
  • d) Incorrecta: La normalización se centra en la estructura interna, no en la interfaz.

Pregunta 2
¿Qué componente del modelo entidad-relación describe las propiedades de una entidad?
a) Relación.
b) Clave primaria.
c) Atributo.
d) Tupla.

Respuesta correcta: c) Atributo.
Explicación:

  • c) Correcta: Los atributos representan propiedades o características de una entidad.
  • a) Incorrecta: Una relación representa asociaciones entre entidades.
  • b) Incorrecta: La clave primaria identifica de manera única una entidad.
  • d) Incorrecta: La tupla representa una instancia específica, no una propiedad.

Pregunta 3
¿Cuál de las siguientes tecnologías se utiliza para garantizar la interoperabilidad entre aplicaciones y sistemas de bases de datos?
a) JSON y XML.
b) DML y TCL.
c) SQL Server y Oracle.
d) FNBC y 3FN.

Respuesta correcta: a) JSON y XML.
Explicación:

  • a) Correcta: JSON y XML son formatos estandarizados para el intercambio de datos entre sistemas.
  • b) Incorrecta: DML y TCL son subconjuntos de SQL, pero no son estándares de interoperabilidad.
  • c) Incorrecta: SQL Server y Oracle son SGBD, no tecnologías para interoperabilidad.
  • d) Incorrecta: FNBC y 3FN son formas normales, no estándares para integración de sistemas.

Pregunta 4
¿Cuál es una de las principales ventajas de usar ODBC en sistemas de bases de datos?
a) Permite definir estructuras de datos mediante SQL.
b) Ofrece conectividad universal independientemente del sistema operativo o el SGBD.
c) Garantiza que los datos estén en la tercera forma normal.
d) Simplifica la creación de diagramas entidad-relación.

Respuesta correcta: b) Ofrece conectividad universal independientemente del sistema operativo o el SGBD.
Explicación:

  • b) Correcta: ODBC actúa como una interfaz estándar que facilita la interoperabilidad entre bases de datos y aplicaciones.
  • a) Incorrecta: Definir estructuras de datos es una función de DDL, no de ODBC.
  • c) Incorrecta: ODBC no está relacionado con la normalización de datos.
  • d) Incorrecta: Los diagramas ER no tienen relación directa con ODBC.

 

Pregunta 5
¿Cuál de las siguientes es una característica fundamental del modelo relacional?
a) Los datos se organizan en árboles jerárquicos.
b) Los datos se almacenan como objetos y clases.
c) Los datos se estructuran en tablas con filas y columnas.
d) Los datos se organizan mediante punteros físicos entre registros.

Respuesta correcta: c) Los datos se estructuran en tablas con filas y columnas.
Explicación:

  • c) Correcta: El modelo relacional organiza los datos en tablas, también llamadas relaciones, con tuplas (filas) y atributos (columnas).
  • a) Incorrecta: La organización jerárquica es característica de los modelos jerárquicos, no relacionales.
  • b) Incorrecta: La organización en objetos y clases pertenece al modelo orientado a objetos.
  • d) Incorrecta: Los punteros físicos son comunes en modelos de red, no en el modelo relacional.

Pregunta 6
¿Qué lenguaje de SQL se utiliza para administrar permisos de acceso a los datos?
a) DDL.
b) DML.
c) TCL.
d) DCL.

Respuesta correcta: d) DCL.
Explicación:

  • d) Correcta: El DCL (Data Control Language) gestiona la seguridad y los permisos mediante comandos como GRANT y REVOKE.
  • a) Incorrecta: El DDL (Data Definition Language) se utiliza para definir y modificar estructuras de datos.
  • b) Incorrecta: El DML (Data Manipulation Language) se centra en consultar y modificar datos.
  • c) Incorrecta: El TCL (Transaction Control Language) gestiona transacciones, no permisos.

Pregunta 7
¿Qué estándar se utiliza para conectar aplicaciones Java a bases de datos?
a) ODBC.
b) JDBC.
c) REST.
d) SOAP.

Respuesta correcta: b) JDBC.
Explicación:

  • b) Correcta: JDBC (Java Database Connectivity) es una interfaz estándar diseñada para que las aplicaciones Java puedan interactuar con bases de datos.
  • a) Incorrecta: ODBC es un estándar general, pero no está diseñado específicamente para Java.
  • c) Incorrecta: REST es un estilo arquitectónico para servicios web, no para conexión a bases de datos.
  • d) Incorrecta: SOAP es un protocolo de servicios web, no un estándar para bases de datos.

Pregunta 8
¿Cuál es el principal objetivo de las herramientas ETL (Extract, Transform, Load)?
a) Diseñar diagramas entidad-relación.
b) Proveer conectividad entre aplicaciones y bases de datos.
c) Migrar y transformar datos entre sistemas heterogéneos.
d) Normalizar bases de datos a la tercera forma normal.

Respuesta correcta: c) Migrar y transformar datos entre sistemas heterogéneos.
Explicación:

  • c) Correcta: ETL se utiliza para extraer datos de un sistema, transformarlos según sea necesario y cargarlos en otro sistema, garantizando interoperabilidad y consistencia.
  • a) Incorrecta: El diseño de diagramas ER no está relacionado con ETL.
  • b) Incorrecta: Las herramientas ETL no están enfocadas en la conectividad directa.
  • d) Incorrecta: La normalización es un proceso teórico aplicado al diseño de bases de datos, no una función de ETL.

Pregunta 9
¿Cuál es un SGBD de código abierto conocido por su soporte avanzado de estándares y extensibilidad?
a) Oracle Database.
b) Microsoft SQL Server.
c) PostgreSQL.
d) IBM Db2.

Respuesta correcta: c) PostgreSQL.
Explicación:

  • c) Correcta: PostgreSQL es un SGBD de código abierto reconocido por su compatibilidad con estándares y capacidad de extensión.
  • a) Incorrecta: Oracle Database es comercial, no de código abierto.
  • b) Incorrecta: Microsoft SQL Server es un producto comercial.
  • d) Incorrecta: IBM Db2 es un SGBD comercial, no de código abierto.

 


Pregunta 10
¿Qué operación del álgebra relacional se utiliza para combinar dos tablas mediante atributos comunes?
a) Selección.
b) Proyección.
c) Unión.
d) Join.

Respuesta correcta: d) Join.
Explicación:

  • d) Correcta: La operación de «Join» combina filas de dos tablas basándose en atributos comunes.
  • a) Incorrecta: La selección filtra filas, pero no combina tablas.
  • b) Incorrecta: La proyección selecciona columnas, no filas ni tablas.
  • c) Incorrecta: La unión combina tablas, pero requiere que tengan el mismo esquema.

Pregunta 11
¿Cuál es el estándar más utilizado para definir estructuras de datos en servicios web y bases de datos?
a) SOAP.
b) JSON.
c) XML.
d) REST.

Respuesta correcta: c) XML.
Explicación:

  • c) Correcta: XML es ampliamente usado para definir estructuras de datos debido a su flexibilidad y legibilidad.
  • b) Incorrecta: JSON es popular, pero XML tiene más aplicaciones históricas y sigue siendo un estándar clave.
  • a) Incorrecta: SOAP es un protocolo, no un formato de datos.
  • d) Incorrecta: REST es un estilo arquitectónico, no un estándar para datos.

Pregunta 12
En el modelo relacional, ¿qué asegura la clave primaria en una tabla?
a) Que los datos estén ordenados alfabéticamente.
b) Que ninguna fila tenga valores nulos.
c) Que cada fila sea única.
d) Que las filas puedan relacionarse con otra tabla.

Respuesta correcta: c) Que cada fila sea única.
Explicación:

  • c) Correcta: La clave primaria garantiza que cada tupla (fila) sea identificable de manera única.
  • a) Incorrecta: El orden alfabético no es una función de la clave primaria.
  • b) Incorrecta: Aunque la clave primaria no permite nulos, su propósito principal es la unicidad.
  • d) Incorrecta: Relacionar tablas es función de las claves foráneas.

Pregunta 13
¿Cuál es la principal característica del modelo entidad-relación?
a) Organiza datos en filas y columnas.
b) Representa gráficamente las entidades y sus relaciones.
c) Define cómo se almacenan físicamente los datos.
d) Optimiza consultas complejas en bases de datos.

Respuesta correcta: b) Representa gráficamente las entidades y sus relaciones.
Explicación:

  • b) Correcta: El modelo ER se utiliza para diseñar bases de datos visualizando entidades y sus relaciones.
  • a) Incorrecta: La organización en filas y columnas corresponde al modelo relacional.
  • c) Incorrecta: El almacenamiento físico está relacionado con la arquitectura interna de los SGBD.
  • d) Incorrecta: La optimización de consultas no es una característica directa del modelo ER.

Pregunta 14
¿Qué tipo de restricción asegura que un valor en una columna debe coincidir con un valor en otra tabla?
a) Clave primaria.
b) Clave foránea.
c) Índice único.
d) Restricción CHECK.

Respuesta correcta: b) Clave foránea.
Explicación:

  • b) Correcta: Las claves foráneas establecen relaciones entre tablas, asegurando integridad referencial.
  • a) Incorrecta: La clave primaria asegura unicidad dentro de una tabla, no entre tablas.
  • c) Incorrecta: Los índices únicos evitan duplicados, pero no aseguran relaciones.
  • d) Incorrecta: CHECK valida condiciones dentro de una tabla, no entre tablas.

Pregunta 15
¿Cuál de los siguientes comandos SQL pertenece al DML (Data Manipulation Language)?
a) CREATE.
b) SELECT.
c) GRANT.
d) COMMIT.

Respuesta correcta: b) SELECT.
Explicación:

  • b) Correcta: SELECT es un comando DML utilizado para consultar datos.
  • a) Incorrecta: CREATE pertenece al DDL, utilizado para definir estructuras.
  • c) Incorrecta: GRANT pertenece al DCL, usado para administrar permisos.
  • d) Incorrecta: COMMIT es parte del TCL, para gestionar transacciones.

Pregunta 16
¿Cuál es una ventaja clave de PostgreSQL frente a otros SGBD?
a) Es completamente comercial y tiene soporte corporativo.
b) Su soporte avanzado para JSON y XML.
c) Carece de características avanzadas, pero es simple.
d) Es exclusivo para sistemas operativos Windows.

Respuesta correcta: b) Su soporte avanzado para JSON y XML.
Explicación:

  • b) Correcta: PostgreSQL es conocido por su capacidad avanzada para manejar datos en formatos JSON y XML.
  • a) Incorrecta: PostgreSQL es de código abierto, no comercial.
  • c) Incorrecta: Es un SGBD avanzado con numerosas funcionalidades.
  • d) Incorrecta: PostgreSQL es multiplataforma.

Pregunta 17
¿Qué significa que un SGBD sea «transaccional»?
a) Permite múltiples usuarios simultáneos.
b) Garantiza integridad, consistencia y recuperación de datos mediante transacciones.
c) Optimiza el rendimiento de consultas SQL complejas.
d) Se especializa en grandes volúmenes de datos no estructurados.

Respuesta correcta: b) Garantiza integridad, consistencia y recuperación de datos mediante transacciones.
Explicación:

  • b) Correcta: Un SGBD transaccional asegura las propiedades ACID (Atomicidad, Consistencia, Aislamiento, Durabilidad).
  • a) Incorrecta: La concurrencia no define la transaccionalidad.
  • c) Incorrecta: El rendimiento no es exclusivo de los SGBD transaccionales.
  • d) Incorrecta: Los datos no estructurados son gestionados por SGBD NoSQL.

Pregunta 18
¿Cuál es la principal diferencia entre MySQL y SQLite?
a) MySQL es comercial, mientras que SQLite es de código abierto.
b) SQLite es un SGBD ligero y embebido, mientras que MySQL es cliente-servidor.
c) SQLite requiere instalación de un servidor, mientras que MySQL no.
d) MySQL no soporta transacciones, pero SQLite sí.

Respuesta correcta: b) SQLite es un SGBD ligero y embebido, mientras que MySQL es cliente-servidor.
Explicación:

  • b) Correcta: SQLite es ideal para aplicaciones locales y embebidas, mientras que MySQL es más robusto para entornos cliente-servidor.
  • a) Incorrecta: Ambos son de código abierto.
  • c) Incorrecta: Es MySQL el que requiere un servidor.
  • d) Incorrecta: Ambos soportan transacciones.

Pregunta 19
¿Qué tecnología facilita el intercambio de datos entre un SGBD y aplicaciones usando servicios web?
a) SOAP y REST.
b) FNBC y 2FN.
c) ODBC y JDBC.
d) SELECT y INSERT.

Respuesta correcta: a) SOAP y REST.
Explicación:

  • a) Correcta: SOAP y REST son tecnologías para la comunicación a través de servicios web.
  • b) Incorrecta: Las formas normales no son tecnologías de intercambio de datos.
  • c) Incorrecta: ODBC y JDBC son interfaces para conectar aplicaciones con SGBD, no servicios web.
  • d) Incorrecta: SELECT e INSERT son comandos SQL.

Pregunta 20
¿Qué estándar SQL asegura que los datos en una transacción parcial no sean visibles para otros usuarios?
a) Atomicidad.
b) Consistencia.
c) Aislamiento.
d) Durabilidad.

Respuesta correcta: c) Aislamiento.
Explicación:

  • c) Correcta: El aislamiento garantiza que las transacciones no interfieran entre sí mientras están en progreso.
  • a) Incorrecta: La atomicidad asegura que una transacción sea completamente ejecutada o no ejecutada en absoluto.
  • b) Incorrecta: La consistencia asegura que los datos sigan reglas de integridad.
  • d) Incorrecta: La durabilidad asegura que los cambios de una transacción se conserven incluso tras fallos.

Aquí tienes cinco preguntas adicionales centradas en las normas y estándares para la interoperabilidad entre gestores de bases de datos relacionales:


Pregunta 21
¿Qué estándar permite a las aplicaciones acceder a diferentes bases de datos relacionales mediante controladores específicos, independientemente del sistema operativo?
a) JDBC.
b) SQL ANSI/ISO.
c) ODBC.
d) REST.

Respuesta correcta: c) ODBC.
Explicación:

  • c) Correcta: ODBC (Open Database Connectivity) es una interfaz estándar que facilita la interoperabilidad entre aplicaciones y bases de datos, independientemente del sistema operativo.
  • a) Incorrecta: JDBC está diseñado específicamente para aplicaciones Java.
  • b) Incorrecta: SQL ANSI/ISO define un lenguaje estándar, pero no una interfaz de conexión.
  • d) Incorrecta: REST es un estándar para servicios web, no para acceso directo a bases de datos.

Pregunta 22
¿Cuál es el principal objetivo del estándar SQL ANSI/ISO?
a) Garantizar la seguridad en bases de datos distribuidas.
b) Proporcionar un lenguaje común para definir, manipular y consultar datos.
c) Facilitar el intercambio de datos entre sistemas web.
d) Implementar protocolos de transferencia de datos entre SGBD.

Respuesta correcta: b) Proporcionar un lenguaje común para definir, manipular y consultar datos.
Explicación:

  • b) Correcta: SQL ANSI/ISO estandariza el lenguaje para interactuar con bases de datos relacionales, asegurando compatibilidad entre sistemas.
  • a) Incorrecta: Aunque el estándar contempla aspectos de seguridad, no es su principal objetivo.
  • c) Incorrecta: El intercambio de datos entre sistemas web se logra mediante estándares como JSON o XML.
  • d) Incorrecta: SQL no implementa protocolos, sino que define un lenguaje.

Pregunta 23
¿Qué tecnología permite que los SGBD intercambien datos estructurados en un formato legible y ampliamente soportado?
a) JSON y XML.
b) SQL ANSI/ISO.
c) ODBC y JDBC.
d) SOAP y REST.

Respuesta correcta: a) JSON y XML.
Explicación:

  • a) Correcta: JSON y XML son formatos estándar para el intercambio de datos estructurados entre sistemas.
  • b) Incorrecta: SQL define un lenguaje, no un formato para el intercambio de datos.
  • c) Incorrecta: ODBC y JDBC son interfaces de conexión, no formatos de datos.
  • d) Incorrecta: SOAP y REST son protocolos para servicios web, no formatos de datos.

Pregunta 24
¿Qué estándar se utiliza para acceder a bases de datos relacionales desde aplicaciones Java?
a) ODBC.
b) JDBC.
c) SOAP.
d) XML.

Respuesta correcta: b) JDBC.
Explicación:

  • b) Correcta: JDBC (Java Database Connectivity) permite a las aplicaciones Java interactuar con bases de datos mediante controladores específicos.
  • a) Incorrecta: ODBC es un estándar general, pero no está optimizado para Java.
  • c) Incorrecta: SOAP es un protocolo para servicios web, no una interfaz de bases de datos.
  • d) Incorrecta: XML es un formato de datos, no una interfaz.

Pregunta 25
¿Cuál es el propósito principal de las herramientas ETL en la interoperabilidad entre SGBD?
a) Garantizar la seguridad de las transacciones.
b) Proporcionar acceso remoto a bases de datos.
c) Extraer, transformar y cargar datos entre diferentes sistemas.
d) Establecer conexiones en tiempo real con bases de datos distribuidas.

Respuesta correcta: c) Extraer, transformar y cargar datos entre diferentes sistemas.
Explicación:

  • c) Correcta: Las herramientas ETL (Extract, Transform, Load) permiten la migración e integración de datos entre diferentes SGBD, asegurando calidad y consistencia.
  • a) Incorrecta: La seguridad de las transacciones no es el objetivo principal de ETL.
  • b) Incorrecta: ETL no se utiliza para proporcionar acceso remoto, sino para procesos de integración.
  • d) Incorrecta: Aunque pueden usarse en bases distribuidas, no es su propósito principal.

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *