Sistemas de Gestión de Bases de Datos: Modelo Relacional, PostgreSQL vs. DB2 y Álgebra Relacional


Definición de Sistema Gestor de Base de Datos (SGBD)

Un Sistema Gestor de Base de Datos (SGBD) consiste en una colección de datos interrelacionados y un conjunto de programas para acceder y modificar dichos datos. La colección de datos, usualmente llamada base de datos, contiene información relevante para una empresa u organización.

Objetivos de un SGBD

  • Almacenar y recuperar información de la base de datos de forma práctica y eficiente.
  • Gestionar grandes cantidades de datos.
  • Definir estructuras para el almacenamiento de la información.
  • Proporcionar mecanismos para la manipulación de los datos.
  • Garantizar la fiabilidad y seguridad de la información.

Esquema de Base de Datos

El esquema de una base de datos describe la estructura de la base de datos (diseño lógico) en un lenguaje formal soportado por el SGBD. En una base de datos relacional, el esquema define las tablas, los campos de cada tabla y las relaciones entre ellos. El esquema se almacena generalmente en un diccionario de datos.

Ejemplo:

Esquema-cuenta = (número-cuenta, nombre-sucursal, saldo)

Esto indica que la entidad «cuenta» se representa mediante el esquema «Esquema-cuenta». Generalmente, los esquemas incluyen una lista de atributos y sus dominios correspondientes.

Modelo Relacional: Estructura y Restricciones

El modelo relacional se basa en un conjunto de tablas que representan tanto los datos como las relaciones entre ellos. Este modelo describe los datos en los niveles lógico y de vistas.

Estructura Básica

La estructura básica del modelo relacional consiste en un conjunto de tablas, cada una con un nombre único. Cada fila de la tabla representa una relación entre un conjunto de valores (tupla). Existe una correspondencia directa entre el concepto de tabla y el de relación matemática.

Componentes de una tabla:

  • Atributos: Las columnas de la tabla.
  • Tupla: Cada fila de la tabla.
  • Dominio: El conjunto de valores permitidos para un atributo.
  • Grado: El número de atributos de una tabla.
  • Cardinalidad: El número de tuplas de una tabla.

Restricciones del Modelo Relacional

Las restricciones son condiciones que deben cumplir los datos de la base de datos. Existen varios tipos:

  1. Restricciones inherentes al modelo relacional:
    • No puede haber dos tuplas idénticas.
    • El orden de las tuplas no es significativo.
    • El orden de los atributos no es significativo.
    • Cada atributo solo puede tomar un valor del dominio al que pertenece.
  2. Restricciones definidas por el usuario:
    • Clave primaria (Primary key): Identifica de forma única cada tupla en una tabla.
    • Unicidad (Unique): Asegura que los valores de una columna o conjunto de columnas sean únicos.
    • Obligatoriedad (Not null): Especifica que una columna no puede contener valores nulos.
    • Integridad referencial (Foreign key): Garantiza que los valores de una columna existan en otra tabla (tabla referenciada). Opciones de integridad referencial:
      • RESTRICT
      • CASCADE
      • NO ACTION
      • SET DEFAULT

Comparación entre PostgreSQL y DB2: Ventajas y Desventajas

PostgreSQL

Ventajas:

  • Sistema de código abierto y gratuito.
  • Conexiones estables.
  • Capacidad para manejar consultas complejas.
  • Código fuente disponible.
  • Integridad transaccional y control de concurrencia multi-versión (MVCC).

Desventajas:

  • Requiere personal capacitado para su administración.
  • Puede ser más lento en comparación con MySQL o SQL Server en ciertas operaciones.
  • La sintaxis puede no ser intuitiva.
  • Puede consumir muchos recursos.
  • No posee ayuda en línea integrada.

DB2

Ventajas:

  • Optimización del tiempo de respuesta en consultas.
  • Recuperación utilizando accesos solo a índices.
  • Soporte para predicados correlacionados.
  • Uso de tablas de resumen y tablas replicadas.
  • Implementación de uniones hash (hash joins).
  • Combinación de seguridad externa y control interno de acceso.

Desventajas:

  • Puede ser lento al crear y ejecutar consultas complejas.
  • Alto consumo de memoria RAM.
  • Costos elevados de licencias.

Lenguaje de Manipulación de Datos (LMD)

El Lenguaje de Manipulación de Datos (LMD) permite a los usuarios acceder y manipular los datos organizados mediante el modelo de datos apropiado. Las operaciones básicas son:

  • Recuperación de información.
  • Inserción de nueva información.
  • Borrado de información.
  • Modificación de información.

Existen dos tipos principales de LMD:

  • Procedimentales: El usuario especifica *qué* datos necesita y *cómo* obtenerlos.
  • No procedimentales (Declarativos): El usuario especifica *qué* datos necesita, pero no *cómo* obtenerlos.

Álgebra Relacional: Ejemplo Práctico

El Álgebra Relacional es un lenguaje de consulta procedimental que proporciona un conjunto de operaciones para manipular relaciones (tablas). Es la base teórica de SQL.

Operación: Obtener un listado de clientes masculinos mayores de 18 años, mostrando apellido, nombre y DNI.

Expresión en Álgebra Relacional:

Π apellido,nombre,dni (σ edad>18 AND sexo = "masculino" (Cliente))

Donde:

  • Π: Proyección (selecciona las columnas especificadas).
  • σ: Selección (filtra las filas que cumplen la condición).
  • Cliente: La tabla de clientes.

Modelo Entidad-Relación Extendido: Especialización y Restricciones

Especialización

La especialización es el proceso de identificar subconjuntos dentro de un conjunto de entidades (subclases) que comparten atributos o comportamientos específicos, diferenciándolos del resto de entidades del conjunto (superclase). La especialización se puede aplicar repetidamente para refinar el esquema de diseño.

Restricciones en la Especialización/Generalización

Las restricciones determinan qué entidades pueden pertenecer a un conjunto de entidades de nivel inferior (subclase). Se clasifican en:

  1. Según su definición:
    • Definida por condición: La pertenencia a la subclase se determina por una condición sobre los atributos de la entidad.
    • Definida por el usuario: La pertenencia se define explícitamente.
  2. Según la pertenencia:
    • Disjunta (Disjoint): Una entidad puede pertenecer como máximo a una subclase.
    • Solapada (Overlapping): Una entidad puede pertenecer a múltiples subclases.
  3. Según su completitud:
    • Total: Toda entidad de la superclase *debe* pertenecer a alguna subclase.
    • Parcial: Una entidad de la superclase *puede* no pertenecer a ninguna subclase.

Dejar un Comentario

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