Diseño de Bases de Datos: Conceptos y Mejores Prácticas

Introducción

Una base de datos es un conjunto de datos relacionados y estructurados, almacenados en algún soporte de almacenamiento físico, al cual se puede acceder desde uno o varios programas. Antes de diseñar una base de datos, se debe establecer un proceso a partir del mundo real para plasmarlo mediante una serie de datos. La imagen que se obtiene del mundo real se denomina modelo conceptual y consiste en una serie de elementos que definen perfectamente lo que se quiere plasmar del mundo real en la base de datos.

Imagen

El Sistema Administrador de Bases de Datos (DBMS) (DataBase Management System) es un conjunto de programas, procedimientos y lenguajes que proporcionan a los usuarios las herramientas necesarias para operar con una base de datos. El DBMS actúa como intermediario entre los usuarios y los datos. Debe cumplir una serie de funciones como la descripción de los datos, definiendo los registros, sus campos y las relaciones de autorización. Debe manipular los datos, permitiendo a los usuarios insertar, suprimir, modificar y consultar datos de la base de datos. Finalmente, debe permitir usar la base de datos, dando una interfaz adecuada a cada tipo de usuario.

Una vez definida la estructura de datos deseada en el DBMS (por ejemplo, en SQL Server), el motor crea objetos físicos para almacenar los datos. El motor de la base de datos realiza las consultas, altas, bajas, modificaciones y procedimientos de forma transparente al usuario. La combinación de estructura y datos es lo que se denomina base de datos.

Concepto de Base de Datos

La idea de base de datos surge de la necesidad de mantener datos relacionados. Por ejemplo, consideremos tres archivos: artículos, clientes y pedidos. Un cliente puede tener varios pedidos, y pueden existir varios pedidos para un mismo artículo en diferentes fechas.

Si los requerimientos son:

  • Obtener los pedidos del cliente XXX: una solución es generar una lista por cada cliente, relacionando los archivos de clientes y pedidos.
  • Obtener todos los pedidos de un artículo: se tendría una lista por cada artículo, relacionando pedidos y artículos.

Estas relaciones son complejas, por lo que se necesita una herramienta que facilite estos requerimientos, considerando que utilizan los mismos datos. Una base de datos es un conjunto de datos almacenados en un soporte de acceso directo, interrelacionados y estructurados según un modelo que recoja el máximo contenido semántico.

Características del Dato

  • No efímero: permanece en el tiempo.
  • Estructurado: facilita su uso compartido.
  • Operacional Transaccional (OLTP): permite manipularlos con operadores para obtener resultados.
  • Sentido semántico: refleja una realidad existente.
  • Integro: preciso y consistente.

Los datos en una base de datos se consideran datos de operación, distinguiéndose de los datos de entrada y de salida. Una base de datos es un conjunto de datos de operación almacenados y utilizados por las aplicaciones de una organización. Los datos de operación no incluyen datos de entrada o salida, ni datos transitorios. Reflejan el sentido de la organización, por lo que su semántica difiere entre organizaciones, aunque su sintaxis sea idéntica. El diseño lógico de una base de datos también se conoce como modelado semántico.

Análisis del Concepto de Base de Datos

  • Interrelaciones y Restricciones Semánticas: una base de datos almacena entidades, atributos y las interrelaciones entre datos, junto con restricciones semánticas.
  • Control de Redundancia: se controla la redundancia de datos para evitar duplicidades perjudiciales, aunque se admite cierta redundancia física por eficiencia. No se permite la redundancia lógica.
  • Múltiples Usuarios y Aplicaciones: las bases de datos sirven a múltiples usuarios y aplicaciones en una organización.
  • Independencia Lógica y Física: los tratamientos son independientes de los datos y viceversa, lo que influye en la arquitectura de los DBMS.
  • Descripción Única e Integrada: la descripción de los datos (metadatos) se almacena junto con los datos, asegurando la documentación y la consistencia.
  • Actualización y Recuperación: se realizan mediante procesos que mantienen la integridad, seguridad y confidencialidad.

Ventajas de las Bases de Datos

A continuación, se resumen las ventajas de las bases de datos:

  • Independencia de datos y tratamientos: los cambios en los tratamientos no afectan el diseño de la base de datos, y viceversa.
  • Consistencia de resultados: la información se almacena una sola vez, garantizando resultados consistentes.
  • Mejor disponibilidad de datos: los datos se comparten entre aplicaciones, aumentando la disponibilidad y transparencia.
  • Mayor valor informativo (sinergia): el valor del conjunto de datos es superior a la suma del valor individual.
  • Mejor documentación: los DBMS proporcionan herramientas para documentar el contenido semántico de los datos.
  • Mayor eficiencia en la captura de datos: al evitar redundancias, los datos se capturan y validan una sola vez.
  • Reducción del espacio de almacenamiento: la disminución de redundancias y las técnicas de compactación reducen el espacio en disco.

Desventajas de las Bases de Datos

Las desventajas incluyen:

  • Instalación costosa: requiere inversión en equipos, software y nuevas instalaciones.
  • Personal especializado: se necesitan administradores de bases de datos con conocimientos específicos.
  • Desfase entre teoría y práctica: algunas funcionalidades pueden ser teóricas y no estar disponibles en la práctica.
  • Resistencia al cambio: la implementación de una base de datos puede encontrar resistencia en la organización.

Componentes de los Sistemas de Bases de Datos

Un sistema de bases de datos incluye:

  • La base de datos
  • El DBMS (ej. Oracle, Sybase, SQL Server)
  • Programas de aplicación
  • Personal calificado (DBA, programadores)
  • Usuarios (operadores del sistema)
  • Máquinas (hardware)

El DBMS es el software que maneja todos los accesos a la base de datos. La interfaz con el usuario limita el acceso del usuario común a la base de datos. El Administrador de Bases de Datos (DBA) es responsable del control general del sistema.

Funciones del DBA

  • Decidir el contenido: identifica las entidades y datos relevantes, creando un modelo conceptual.
  • Decidir la estructura de almacenamiento: define la representación interna de los datos y su correspondencia con el modelo conceptual.
  • Vincularse con los usuarios: garantiza la disponibilidad de los datos necesarios y formaliza los esquemas externos.
  • Definir controles de autorización: define restricciones de seguridad y protección para la integridad de los datos.
  • Definir estrategia de respaldo y recuperación: garantiza la operación exitosa del sistema.
  • Controlar el desempeño: logra un desempeño aceptable y responde a los cambios de requerimientos.

El Sistema Administrador de Bases de Datos (DBMS)

Un DBMS consiste en una colección de datos interrelacionados y un conjunto de programas para acceder a esos datos. Su objetivo principal es proporcionar un entorno conveniente y eficiente para extraer y almacenar información. Integra los sistemas operacionales, tácticos y estratégicos de una organización, evitando la desconexión y las redundancias.

Imagen

La base de datos es un depósito único de datos para toda la organización, integrando los distintos sistemas y aplicaciones. El DBMS proporciona la interfaz entre los datos y los usuarios, incluyendo herramientas para analistas, programadores y administradores.

Definición del DBMS

El DBMS es un conjunto de programas, procedimientos y lenguajes que permite describir, recuperar y manipular datos, manteniendo su integridad, confidencialidad y seguridad.

Funciones del DBMS

  • Descripción/Definición: permite especificar los datos, su estructura, relaciones, reglas de integridad y controles de acceso, utilizando el Lenguaje de Definición de Datos (LDD). Define las estructuras de datos a nivel interno, externo y conceptual.
  • Manipulación: permite buscar, eliminar o modificar datos, utilizando el Lenguaje de Manipulación de Datos (LMD).
  • Utilización: proporciona interfaces para diferentes tipos de usuarios y procedimientos para el administrador (ej. cambiar capacidades de archivos, obtener estadísticas, realizar respaldos).

Lenguajes de los DBMS

Los DBMS utilizan diferentes lenguajes para la comunicación con la base de datos, incluyendo lenguajes de definición, manipulación, lenguajes para informáticos y usuarios finales. Los lenguajes de 4ta generación, como SQL, son comunes en los SGBD relacionales.

El Modelo Entidad-Relación

Es una técnica gráfica para el diseño de bases de datos que representa las entidades, atributos y relaciones entre los datos. Sus características fundamentales son:

  1. Representa la existencia de los datos sin expresar su uso.
  2. Es independiente de las bases de datos y sistemas operativos.
  3. Incluye todos los datos estudiados, independientemente de las aplicaciones.

Conceptos Fundamentales

  • Entidad: objeto concreto o abstracto de interés para el sistema (ej. clientes, productos).
  • Atributo: unidad básica de información que describe una entidad o relación (ej. nombre, dirección).
  • Dominio: conjunto de valores que puede tomar un atributo (ej. tipos de sangre).
  • Tabla: organización de datos en filas (tuplas o registros) y columnas (atributos).
  • Relación: asociación entre entidades (ej. un alumno «tiene» una asignatura).
  • Tabla relacional: tabla con filas únicas, columnas únicas, valores pertenecientes al dominio, un solo tipo de fila y un valor único por columna en cada fila.
  • Clave candidata: atributo o atributos que identifican de forma única una tupla.
  • Clave Primaria (PK): clave candidata elegida para identificar una tupla.
  • Clave Foránea (FK): atributo que es clave primaria en otra tabla.
  • Vista: tabla virtual derivada de una o más tablas base.

Asociaciones entre Entidades

Las asociaciones entre entidades son las relaciones entre ellas (ej. «los clientes compran productos»). Pueden ser binarias o ternarias. Los tipos de asociaciones son:

  • Uno a uno (1-1): cada atributo de una entidad se asocia con un solo atributo de otra entidad.
  • Uno a muchos (1-N): un atributo de una entidad se asocia con cero, uno o muchos atributos de otra entidad.
  • Muchos a muchos (N-N): se modela con una tabla intermedia que tiene una relación uno a muchos con cada entidad participante.

Cardinalidad

Describe la relación numérica entre entidades.

Normalización

La normalización organiza los datos en tablas para optimizar su estructura, minimizando la redundancia.

Primera Forma Normal (1FN)

Todos los valores de los registros son atómicos (un atributo no puede tener más de un valor).

Imagen

Concepto de Dependencia Funcional

Un atributo B depende funcionalmente de A (A → B) si cada valor de A se corresponde con un único valor de B.

Reglas de Dependencia Funcional

  • Reflexividad: si Y está incluido en X, entonces X depende funcionalmente de Y (Y → X).
  • Aumentación: si X → Y, entonces X.a → Y.a.
  • Transitividad: si X → Y e Y → Z, entonces X → Z.

Imagen

Dependencia funcional total: Y tiene una dependencia funcional total con X si depende funcionalmente de X y no de ningún subconjunto de X.

Segunda Forma Normal (2FN)

La tabla está en 1FN y todos los atributos no primarios tienen una dependencia funcional total de la clave primaria completa (aplicable a claves primarias compuestas).

Imagen

Imagen

Tercera Forma Normal (3FN)

La tabla está en 2FN y no existen atributos no primarios transitivamente dependientes de la clave primaria.

Imagen

Imagen

Imagen

Características Elementales de una Base de Datos

  • Integrada: unifica varios archivos de datos, eliminando redundancias.
  • Compartida: diferentes usuarios pueden acceder y utilizar la misma parte de la base de datos con distintos propósitos.

La Independencia Dato-Proceso

En una base de datos, los datos son independientes de los tratamientos, a diferencia de los sistemas orientados a procesos. Esto permite que los cambios en los procesos no afecten la estructura de los datos, y viceversa. La independencia dato-proceso facilita la adaptación de los sistemas de información a la evolución de las organizaciones.

Integridad de los Datos

La integridad de los datos se refiere a la precisión, consistencia y validez de los datos almacenados en una base de datos. Se logra mediante la aplicación de reglas y restricciones.

Tipos de Integridad

  • Integridad de dominios: define los valores válidos para un atributo.
  • Integridad de transiciones: define los estados válidos por los que puede pasar un registro.
  • Integridad de entidades: asegura la integridad de las entidades mediante claves primarias únicas.
  • Integridad referencial: las claves foráneas deben corresponder a claves primarias en otra tabla, evitando entidades huérfanas.
  • Integridad de transacciones: garantiza que las operaciones sobre la base de datos mantengan la consistencia.

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.