taiage-spring/src/main/resources/temas/bloque3/tema1.md

8.8 KiB

Bloque 3 · Tema 1

Modelado de datos, metodologías y reglas. Entidades, atributos y relaciones. Diseño de bases de datos. Diseño lógico y físico. El modelo lógico relacional. Normalización.


Esquema resumen

Modelado de datos

→ Representación conceptual de la información de un sistema.

Elementos básicos

  • Entidades
  • Atributos
  • Relaciones

Diseño de bases de datos

  1. Diseño conceptual
  2. Diseño lógico
  3. Diseño físico

Modelo relacional

  • Tablas (relaciones)
  • Filas (tuplas)
  • Columnas (atributos)
  • Claves primarias
  • Claves foráneas

Normalización

Proceso para:

  • eliminar redundancias
  • evitar anomalías de inserción, actualización y borrado
  • mejorar la integridad y consistencia de los datos

Formas normales principales:

Forma normal Condición que debe cumplir
1FN Todos los atributos son atómicos (sin listas ni grupos repetidos)
2FN Cumple 1FN + cada atributo no clave depende de toda la clave primaria (sin dependencias parciales)
3FN Cumple 2FN + ningún atributo no clave depende de otro atributo no clave (sin dependencias transitivas)
BCNF Forma más estricta de 3FN: todo determinante es clave candidata

Truco para recordar el orden: "Átomos Parciales Transitivos Candidatos" → 1FN (atómico), 2FN (sin parciales), 3FN (sin transitivas), BCNF (candidatos).


1. Modelado de datos

1.1 Qué es el modelado de datos

El modelado de datos es el proceso mediante el cual se analiza y representa la información que debe gestionar un sistema de información.

Permite definir:

  • qué datos existen
  • cómo se relacionan
  • qué reglas deben cumplir

Se utiliza principalmente en el diseño de bases de datos.

Objetivos del modelado

  • Representar la realidad del negocio.
  • Facilitar el diseño de bases de datos.
  • Reducir redundancias.
  • Garantizar integridad de datos.
  • Facilitar mantenimiento y evolución del sistema.

1.2 Niveles de modelado

El modelado se divide normalmente en tres niveles.

Nivel Objetivo Características
Conceptual Representar la realidad del negocio Independiente del SGBD
Lógico Adaptar el modelo al tipo de base de datos Define tablas y relaciones
Físico Implementación real Optimización de almacenamiento

Miniresumen

El modelado de datos:

  • describe la información del sistema
  • se divide en conceptual, lógico y físico
  • es la base del diseño de bases de datos

2. Entidades, atributos y relaciones

El modelo Entidad-Relación (E-R) es uno de los modelos más utilizados para el diseño conceptual de bases de datos.

Sus elementos fundamentales son:

  • entidades
  • atributos
  • relaciones

2.1 Entidades

Una entidad es cualquier objeto del mundo real sobre el que se desea almacenar información.

Ejemplos:

  • Cliente
  • Producto
  • Pedido
  • Empleado

Las entidades suelen representarse con rectángulos en diagramas E-R.


Tipos de entidades

Entidad fuerte

  • tiene clave propia
  • existe por sí misma

Ejemplo: EMPLEADO, CLIENTE

Entidad débil

  • no tiene clave propia
  • depende de una entidad fuerte para existir

Ejemplo: DEPENDIENTE (depende de EMPLEADO)


2.2 Atributos

Un atributo es una característica o propiedad de una entidad.

Tipo de atributo Descripción Ejemplo
Clave Identifica unívocamente cada instancia DNI de un empleado
Multivaluado Puede tener varios valores Teléfonos de un cliente
Derivado Se calcula a partir de otros atributos Edad (calculada desde fecha de nacimiento)
Compuesto Formado por subatributos Dirección (calle, ciudad, CP)

2.3 Relaciones y cardinalidad

Una relación es una asociación entre dos o más entidades.

La cardinalidad define cuántas instancias de una entidad pueden asociarse con instancias de otra.

Cardinalidad Significado Ejemplo
1:1 Uno a uno Una persona tiene un único pasaporte
1:N Uno a muchos Un departamento tiene muchos empleados
N:M Muchos a muchos Un alumno cursa muchas asignaturas y una asignatura tiene muchos alumnos

La participación puede ser:

  • Total: toda instancia de la entidad participa en la relación (obligatoria)
  • Parcial: puede haber instancias que no participen (opcional)

Miniresumen

El modelo E-R usa:

  • entidades (fuertes y débiles)
  • atributos (clave, multivaluado, derivado, compuesto)
  • relaciones con cardinalidades 1:1, 1:N y N:M

3. Diseño de bases de datos

El proceso de diseño de bases de datos sigue tres fases secuenciales.


3.1 Diseño conceptual

Se crea el modelo E-R que captura la realidad del negocio de forma abstracta.

  • Es independiente del SGBD que se vaya a usar.
  • Resultado: diagrama E-R.

3.2 Diseño lógico

Se transforma el modelo conceptual en un esquema de base de datos adaptado al modelo elegido (habitualmente el relacional).

  • Se definen tablas, columnas y relaciones.
  • Las entidades pasan a ser tablas.
  • Las relaciones N:M se convierten en tablas intermedias.
  • Se identifican claves primarias y foráneas.

3.3 Diseño físico

Se optimiza el esquema para su implementación en un SGBD concreto.

  • Se definen índices, particiones y estructuras de almacenamiento.
  • Depende del sistema gestor (Oracle, PostgreSQL, MySQL…).

Miniresumen

Fase Herramienta Dependencia del SGBD
Conceptual Diagrama E-R No
Lógico Esquema de tablas Parcial (tipo de modelo)
Físico Índices, particiones Sí (SGBD concreto)

4. El modelo lógico relacional

El modelo relacional representa los datos en forma de tablas (también llamadas relaciones).

Término formal Término coloquial
Relación Tabla
Tupla Fila
Atributo Columna
Grado Número de columnas
Cardinalidad Número de filas

4.1 Tipos de claves

Clave Descripción
Primaria Identifica unívocamente cada fila; no puede ser nula ni repetida
Foránea Referencia la clave primaria de otra tabla; garantiza la integridad referencial
Alternativa Atributo que podría ser clave primaria pero no ha sido elegido como tal
Candidata Cualquier atributo (o conjunto) que puede actuar como clave primaria

4.2 Integridad referencial

La integridad referencial garantiza que los valores de una clave foránea siempre correspondan a valores existentes en la tabla referenciada.

Ejemplo: si PEDIDO.id_cliente es clave foránea de CLIENTE.id, no puede existir un pedido con un id_cliente que no exista en la tabla CLIENTE.


Miniresumen

El modelo relacional organiza los datos en tablas con:

  • clave primaria para identificar filas
  • clave foránea para relacionar tablas
  • integridad referencial para mantener la consistencia

5. Normalización

La normalización es el proceso de organizar las tablas de una base de datos para:

  • eliminar redundancias
  • evitar anomalías de inserción, actualización y borrado
  • mejorar la integridad y consistencia de los datos

5.1 Dependencia funcional

Se dice que B depende funcionalmente de A (notación: A → B) cuando para cada valor de A existe un único valor de B.

Ejemplo: DNI → Nombre (dado un DNI hay un único nombre)


5.2 Formas normales

Forma normal Condición
1FN Todos los atributos son atómicos (sin listas ni grupos repetitivos)
2FN Cumple 1FN + todos los atributos no clave dependen de toda la clave primaria (sin dependencias parciales)
3FN Cumple 2FN + no existen dependencias transitivas (ningún atributo no clave depende de otro no clave)
BCNF Todo determinante de una dependencia funcional no trivial es una superclave

Importante: La 2FN solo es relevante cuando la clave primaria es compuesta.

Truco: "Átomos Parciales Transitivos Candidatos" → 1FN, 2FN, 3FN, BCNF.


Miniresumen

La normalización elimina redundancias mediante cuatro formas normales:

  • 1FN: valores atómicos
  • 2FN: sin dependencias parciales
  • 3FN: sin dependencias transitivas
  • BCNF: todo determinante es superclave

Miniresumen final del tema

Punto Idea clave
1. Modelado de datos Tres niveles: conceptual, lógico y físico
2. Modelo E-R Entidades, atributos y relaciones con cardinalidades 1:1, 1:N, N:M
3. Diseño de BD Fases: conceptual (E-R) → lógico (tablas) → físico (SGBD)
4. Modelo relacional Tablas con claves primarias y foráneas; integridad referencial
5. Normalización 1FN (átomo) → 2FN (sin parciales) → 3FN (sin transitivas) → BCNF