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
- Diseño conceptual
- Diseño lógico
- 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 |