☰ UF2213-Menú

UF2213-UA1. Modelo de datos conceptual

UF2213: Modelos de Datos y Visión Conceptual de una Base de Datos

Unidad Formativa para interpretar especificaciones de diseño en sistemas gestores de datos

Introducción

Esta unidad formativa se centra en la interpretación de modelos de datos conceptuales y su aplicación en sistemas gestores de bases de datos, considerando arquitecturas, tecnologías y estándares del mercado.

Objetivos principales

  • Identificar modelos de datos en sistemas gestores
  • Analizar la estructura global de la información
  • Reconocer lenguajes de consulta según el modelo de datos
  • Diferenciar entre sistemas operacionales y analíticos

Realizaciones Profesionales (RP) y Criterios de Realización (CR)

RP1: Interpretar especificaciones de diseño en sistemas gestores de datos

Analizar la arquitectura, modelos y lenguajes de consulta utilizados por la organización.

CR1.1: Identificación de arquitectura y tecnología

Reconocer componentes tecnológicos para identificar los sistemas gestores de datos.

Ejemplos de sistemas gestores

  • Relacionales: MySQL, PostgreSQL, Oracle
  • NoSQL: MongoDB, Cassandra
  • Analíticos: Snowflake, Redshift

Componentes clave

  • Motor de almacenamiento
  • Procesador de consultas
  • Manejador de transacciones
  • Herramientas de administración

CR1.2: Reconocimiento de modelos de datos

Identificar relaciones y dependencias entre elementos de los modelos.

Modelos comunes

  • Relacional: Tablas con relaciones
  • Documental: Colecciones JSON/BSON
  • Grafo: Nodos y aristas
  • Columnares: Optimizados para analytics

CR1.3: Estructura global de la información

Estudiar el diseño para localizar información almacenada.

CR1.4: Identificación de lenguajes de consulta

Seleccionar lenguajes adecuados según el modelo de datos.

SQL

Estándar para bases relacionales

MQL

Para MongoDB (basado en JSON)

Cypher

Para bases de datos de grafos

Capacidades y Criterios de Evaluación (CE)

C1: Identificar tipologías de gestores de datos y sus modelos

CE1.1: Atributos de modelos de datos

Describir elementos y su función según tecnologías utilizadas.

Modelo Elementos clave Tecnologías asociadas
RelacionalTablas, claves, relacionesSQL, PostgreSQL, MySQL
DocumentalColecciones, documentosMongoDB, Couchbase
GrafoNodos, relaciones, propiedadesNeo4j, Amazon Neptune

CE1.2: Evolución de modelos

Identificar cambios y nuevas funcionalidades.

1980s

Modelos relacionales dominantes

2000s

Adopción de modelos orientados a objetos

2010s

Explosión de NoSQL (documentos, grafos, etc.)

CE1.3: Sistemas operacionales

Características para optimizar consultas OLTP.

CE1.4: Sistemas analíticos

Características para toma de decisiones (OLAP).

OLTP

  • Transacciones rápidas
  • Normalización
  • Optimizado para escritura

OLAP

  • Consultas complejas
  • Desnormalización
  • Optimizado para lectura

CE1.5: Datos específicos

Gestores especializados (geográficos, multimedia, etc.).

CE1.6: Técnicas de recuperación

Métodos según modelo de datos implementado.

↑ Volver arriba

1. Modelo de Bases de Datos

Concepto Fundamental

El modelo de base de datos es el esqueleto conceptual o estructura lógica que determina cómo se organizan, almacenan y acceden los datos. Constituye la plataforma base para seleccionar el tipo de base de datos que mejor se ajusta a los objetivos empresariales.

Objetivos → Modelo → Implementación
(Requerimientos) (Estructura) (Base de Datos)

1. Modelo Relacional

1. Modelo Relacional

Características Principales

  • Estructura en tablas (relaciones) con filas y columnas
  • Columnas representan atributos (nombre, dirección)
  • Conjunto de atributos = dominio
  • Relaciones mediante claves (primarias/foráneas)
  • Lenguaje estándar: SQL (Structured Query Language)
┌───────────────┐       ┌───────────────┐
│   CLIENTES    │       │    PEDIDOS    │
├───────────────┤       ├───────────────┤
│ *id_cliente   │───────│ *id_pedido   │
│  nombre       │   1   │  fecha       │
│  dirección    │   N   │  id_cliente  │
└───────────────┘       └───────────────┘

Ventajas y Limitaciones

Ventajas Limitaciones
Flexibilidad en consultas Dificultad con relaciones complejas
Estandarización (SQL) Rendimiento con grandes volúmenes

2. Modelo Jerárquico

2. Modelo Jerárquico

Estructura en Árbol

  • Organización en árbol invertido
  • Nodos padres y nodos hijos
  • Cada registro tiene un nodo único
        ┌───────────────┐
        │    Raíz      │
        └──────┬───────┘
       ┌───────┴───────┐
┌──────▼─────┐   ┌────▼──────┐
│ Departamento │   │  Sucursal  │
└──────┬──────┘   └───────────┘
┌──────▼──────┐
│  Empleado   │
└─────────────┘

3. Modelo Orientado a Objetos

3. Modelo Orientado a Objetos

Principios Fundamentales

  • Datos como objetos (atributos + métodos)
  • Soporte para multimedia (imágenes, videos)
  • Posibilidad de modelos híbridos
┌──────────────────────┐
│     Producto        │
├──────────────────────┤
│ - id: int           │
│ - nombre: string    │
│ - imagen: blob      │
├──────────────────────┤
│ + calcularPrecio()  │
│ + mostrarDetalles() │
└──────────────────────┘

4. Modelo de Red

4. Modelo de Red

Estructura de Grafo

  • Evolución del modelo jerárquico
  • Múltiples padres para un nodo hijo
  • Relaciones complejas entre registros
    ┌───────────┐
    │  Curso   │
    └────┬─────┘
  ┌──────┴──────┐
┌─▼──┐      ┌──▼──┐
│Est1│      │Est2 │
└─┬──┘      └──┬──┘
  └──────┬─────┘
     ┌───▼───┐
     │Proyect│
     └───────┘

5. Otros Modelos Importantes

5. Otros Modelos Importantes

Resumen Comparativo

Modelo Característica Uso Típico
Entidad-Relación Diagramas con entidades y relaciones Diseño conceptual
NoSQL Sin esquema fijo, alta escalabilidad Big Data, documentos
Multidimensional Cubos OLAP Análisis empresarial

¿Cómo Elegir el Modelo Adecuado?

¿Cómo Elegir el Modelo Adecuado?

Factores Clave

  1. Compatibilidad con el sistema gestor
  2. Tipo de datos (estructurados, multimedia)
  3. Volumen y crecimiento esperado
  4. Relaciones entre datos
  5. Requerimientos de consulta/rendimiento
Proceso de Selección:
1. Analizar naturaleza de los datos
2. Evaluar relaciones necesarias
3. Considerar volumen y crecimiento
4. Verificar compatibilidad tecnológica
5. Balancear coste/rendimiento

Actividad Práctica

Actividad Práctica

Ejercicio: Para cada escenario, identificar el modelo más adecuado:

  1. Sistema bancario con transacciones complejas
  2. Red social con millones de usuarios interconectados
  3. Catálogo de productos con imágenes 3D interactivas

Solución Propuesta

1. Relacional (integridad transaccional)
2. Grafos o NoSQL (relaciones complejas)
3. Orientado a Objetos (multimedia interactivo)
↑ Volver arriba

1. Modelo de Datos Conceptual

Fundamentos del Modelo Conceptual

El modelo de datos conceptual es una representación abstracta que actúa como puente entre la realidad del negocio y los sistemas de información. Permite:

  • Capturar los objetos relevantes de un dominio
  • Establecer relaciones significativas
  • Definir reglas de negocio esenciales
Realidad → Concepción → Representación
(Objetos)  (Información)  (Datos)

🧠 Fundamentos del Modelo Conceptual

El modelo de datos conceptual es una representación abstracta que actúa como puente entre la realidad del negocio y los sistemas de información. A continuación, te explicamos sus componentes clave y te proponemos una actividad interactiva.

Selecciona el Paso:

📌 Paso 1: Capturar los objetos relevantes de un dominio - ▼

En este paso, identificamos qué cosas son importantes para el sistema. Estas cosas se llaman entidades.

  • Analiza el problema y subraya los sustantivos: suelen ser entidades.
  • Ejemplos: Cliente, Producto, Pedido, Empleado.
Ejemplo:
En un hospital, los objetos relevantes pueden ser: Paciente, Médico, Cita, Especialidad.
Actividad:
Piensa en una biblioteca. ¿Cuáles serían los objetos relevantes? Escríbelos.
Solución sugerida:
Entidades: Libro, Usuario, Préstamo, Autor, Categoría

📌 Paso 2: Establecer relaciones significativas - ▼

Ahora definimos cómo se conectan los objetos entre sí. Las relaciones suelen ser verbos que conectan entidades.

  • Busca los verbos que indiquen relación: "tiene", "realiza", "contiene", etc.
  • Ejemplo de relación: Un Paciente tiene una Cita.
Ejemplo:
En la biblioteca:
Usuario realiza Préstamo
Libro pertenece a Categoría
Actividad:
Con las entidades que pensaste, ¿qué relaciones existen entre ellas? Escríbelas usando la fórmula:
Entidad 1verboEntidad 2
Solución sugerida:
- Usuario realiza Préstamo
- Libro es prestado en Préstamo
- Libro pertenece a Categoría
- Libro escrito por Autor

📌 Paso 3: Definir reglas de negocio esenciales - ▼

Finalmente, incorporamos las reglas del negocio que el sistema debe respetar. Estas reglas restringen o guían el comportamiento de las relaciones y entidades.

  • ¿Cuántos préstamos puede tener un usuario a la vez?
  • ¿Puede un libro estar prestado a más de un usuario?
  • ¿Puede haber libros sin autor?
Ejemplo:
  • Un usuario puede tener hasta 5 préstamos simultáneos.
  • Cada préstamo corresponde a un solo libro y un solo usuario.
  • Todo libro debe tener al menos un autor registrado.
Actividad:
Escribe dos reglas de negocio para la biblioteca.
Solución sugerida:
  • Un usuario no puede solicitar más de 3 libros al mismo tiempo.
  • No se puede prestar el mismo libro a dos usuarios simultáneamente.

Conceptos Básicos

Conceptos Básicos

Triada Fundamental

Nivel Concepto Ejemplo
Realidad Objetos del mundo real Cliente, Producto, Venta
Concepción Información relevante Datos del cliente, Precio
Representación Estructuras de datos Tablas, Atributos, Relaciones

Características de un Modelo Conceptual

Características de un Modelo Conceptual

Propiedades Esenciales

  • Abstracción: Simplifica la realidad enfocándose en lo relevante
  • Expresividad: Captura todas las reglas de negocio
  • Independencia: No vinculado a tecnología específica
  • Claridad: Comprensible para usuarios y técnicos

Comparativa de Niveles

Nivel Conceptual: Qué datos necesita el negocio (ENTIDADES)
Nivel Lógico: Cómo estructurar los datos (TABLAS)
Nivel Físico: Cómo almacenarlos (ARCHIVOS/INDEXOS)

Modelo Entidad-Relación (ER)

Modelo Entidad-Relación (ER)

Construcciones Básicas

  • Entidades: Rectángulos (Ej: Cliente, Producto)
  • Atributos: Óvalos (Ej: nombre, precio)
  • Relaciones: Rombos (Ej: Compra, Pertenece)
  • Cardinalidad: 1:1, 1:N, M:N
┌──────────┐       ┌──────────┐
│ CLIENTE  │───────│  PEDIDO  │
├──────────┤   1   ├──────────┤
│ id       │   N   │ número   │
│ nombre   │       │ fecha    │
└──────────┘       └──────────┘
    │                      │
    │                      │
    ▼                      ▼
┌──────────┐       ┌──────────┐
│DIRECCIÓN │       │ PRODUCTO │
└──────────┘       └──────────┘

Extensiones del Modelo ER

  • Atributos compuestos: Dirección {calle, ciudad}
  • Herencia: Especialización/Generalización
  • Entidades débiles: Dependen de otra entidad
  • Atributos multivalor: Múltiples teléfonos

Modelo UML (Unified Modeling Language)

Modelo UML (Unified Modeling Language)

Diagrama de Clases

Versión extendida del modelo ER con capacidades orientadas a objetos:

┌──────────────────────┐
│       Cliente        │
├──────────────────────┤
│ - id: String         │
│ - nombre: String     │
├──────────────────────┤
│ + realizarPedido()   │
│ + pagar()            │
└──────────┬───────────┘
           │
           │
┌──────────▼───────────┐
│        Pedido        │
├──────────────────────┤
│ - fecha: Date        │
│ - estado: String     │
└──────────────────────┘

Ventajas sobre ER

  • Representa comportamiento (métodos)
  • Tipos de datos más complejos
  • Mejor soporte para herencia
  • Integración con paradigma OO

Actividad Práctica

Ejercicio: Modelar conceptualmente un sistema universitario con:

  1. Entidades: Estudiante, Profesor, Curso
  2. Relaciones: Matrícula (Estudiante-Curso), Imparte (Profesor-Curso)
  3. Atributos clave para cada entidad

Solución Propuesta

┌─────────────┐       ┌─────────────┐       ┌─────────────┐
│ ESTUDIANTE  │───────│   CURSO     │───────│  PROFESOR   │
├─────────────┤   M   ├─────────────┤   1   ├─────────────┤
│ - id        │   N   │ - código    │   N   │ - id        │
│ - nombre    │       │ - nombre    │       │ - nombre    │
│ - email     │       │ - créditos  │       │ - departam. │
└─────────────┘       └─────────────┘       └─────────────┘
       │                      ▲                      │
       │                      │                      │
       └──────────────────────┘──────────────────────┘
                   MATRÍCULA                 IMPARTE
                - semestre               - horario
↑ Volver arriba

Modelo Conceptual - Ejemplo

Es una descripción de alto nivel de las necesidades de información que subyacen al diseño de una base de datos. Representa los conceptos principales y sus relaciones, generalmente mediante diagramas.

Realidad → Identificar componentes → Diagrama Conceptual
(Mundo real)  (Entidades/Relaciones)  (Representación visual)

Componentes Esenciales

Estructura Básica

  • Entidades: Objetos del mundo real (Personas, Lugares, Eventos)
  • Relaciones: Conexiones entre entidades (Verbos de acción)
  • Atributos: Características de las entidades (Campos descriptivos)
┌─────────────┐       ┌─────────────┐
│  ENTIDAD   │───────│  ENTIDAD   │
├─────────────┤   R   ├─────────────┤
│ Atributo1   │   E   │ Atributo1   │
│ Atributo2   │   L   │ Atributo2   │
└─────────────┘   A   └─────────────┘
                   C
                   I
                   Ó
                   N

Paso 1: Identificar Entidades

Ejemplo Práctico

Analizando un formulario de prisioneros:

Formulario Entidades Detectadas
Nombre: Kevin Costa
Detenido en: Lima City Prison
Prisionero: Kevin Costa
Prisión: Lima City Prison

Técnica: Extraer sustantivos clave que representen objetos independientes

Paso 2: Identificar Relaciones

Fórmula Sustantivo-Verbo-Sustantivo

  • Prisionero "está detenido en" Prisión
  • Víctima "involucrada en" Incidente
  • Video "representa" Incidente
┌─────────────┐       ┌─────────────┐
│ PRISIONERO  │───────│   PRISIÓN   │
└─────────────┘       └─────────────┘
       ▲                     ▲
       │ "está detenido en"  │
       └─────────────────────┘

Criterios para Buenas Relaciones

  1. Reflejar relaciones reales
  2. Ser relevantes para los objetivos
  3. Mantener la simplicidad

Paso 3: Identificar Atributos

Los atributos describen una entidad. A veces también describen una relación (pero profundizaremos sobre esto en otro recurso). Técnicamente hablando, un ATRIBUTO identifica, nombra y define una característica o propiedad de una entidad, y determina los campos de una base de datos.

QUÉ ATRIBUTOS QUEREMOS CAPTURAR PARA CADA ENTIDAD

Para identificar tus atributos, vuelve a tu lista de entidades. Pregúntate: ¿Cuáles son las características que debo conocer sobre cada una de mis entidades para poder responder a mis consultas a la base de datos? Por ejemplo, una entidad llamada ‘Prisionero’ puede incluir: ‘Nombre’, ‘Raza’, ‘Género’, ‘Estado migratorio’, ‘Estado de salud’, etc.

La organización interesada en conocer el número de presos detenidos ilegalmente en cada prisión del país X, debe determinar los atributos de las entidades ‘Prisión’ y ‘Prisionero’.


Por EJEMPLO:

1.Un ‘Prisionero’ (Kevin Costa, en nuestro ejemplo) tiene atributos importantes que incluyen ‘Nombre’, ‘Fecha de nacimiento’, ‘Sexo’, ‘Fecha de detención’ y ‘Cargos’.


2. Una ‘Prisión’ (‘Lima City Prison’) tiene igualmente atributos importantes como ‘Nombre’, ‘Ubicación’ y ‘País de jurisdicción’.


AQUÍ PODEMOS VER LOS ATRIBUTOS QUE PERTENECEN A LA ENTIDAD ‘PRISIONERO’:

Ejemplo Completo

Entidad: Prisionero

  • Nombre
  • Fecha nacimiento
  • Sexo
  • Nacionalidad
  • Fecha detención
  • Cargos

Entidad: Prisión

  • Nombre
  • Ubicación
  • País jurisdicción

Pregunta clave: ¿Qué información necesito para responder mis consultas?

Diagrama Conceptual Final

Ejemplo Prisión-Prisionero

┌───────────────────────┐       ┌───────────────────┐
│      PRISIONERO       │───────│      PRISIÓN      │
├───────────────────────┤  1:N  ├───────────────────┤
│ • Nombre              │       │ • Nombre          │
│ • Fecha_nacimiento    │       │ • Ubicación       │
│ • Sexo                │       │ • País_jurisdicción
│ • Nacionalidad        │       └───────────────────┘
│ • Fecha_detención     │
│ • Cargos              │
└───────────────────────┘
       ▲
       │ "está detenido en"
       └─────────────────────┘

Buenas Prácticas de Diseño

Recomendaciones Clave

  • Validar con usuarios finales
  • Documentar supuestos
  • Mantener consistencia en nombres
  • Evitar redundancias
  • Priorizar simplicidad sobre complejidad

Actividad Práctica

Actividad Práctica

Ejercicio: Diseñar modelo conceptual para sistema hospitalario:

  1. Identificar entidades clave (Paciente, Médico, etc.)
  2. Definir 3 relaciones importantes
  3. Listar atributos esenciales para cada entidad

Solución Sugerida

ENTIDADES:
- Paciente (nombre, historia_clínica)
- Médico (especialidad, licencia)
- Cita (fecha, diagnóstico)

RELACIONES:
1. Paciente "tiene" Cita
2. Médico "atiende" Paciente
3. Médico "genera" Diagnóstico
↑ Volver arriba

3. Actividad Práctica: Diseña tu Modelo Conceptual

Guía Paso a Paso

Complete estos ejercicios para construir su propio modelo de datos conceptual. Siga el proceso de entidades → relaciones → atributos.

Paso 1
Identificar Entidades
Paso 2
Establecer Relaciones
Paso 3
Definir Atributos

Ejercicio 1: Identifica tus Entidades

Instrucciones

  1. Escriba su pregunta de investigación:
  2. Subraye los sustantivos en la pregunta
  3. Liste las entidades potenciales:

Ejemplo

Pregunta: ¿Cuántos pacientes atiende cada médico en el hospital X?
Sustantivos: pacientes, médico, hospital
Entidades: Paciente, Médico, Hospital

Ejercicio 2: Identifica Relaciones

Instrucciones

  1. De su lista de entidades, identifique verbos que las conecten
  2. Use la fórmula: Entidad - Verbo - Entidad
  3. Dibuje las relaciones:
  4. Dibuje aquí sus entidades y conexiones

Ejemplo

Paciente - "es atendido por" - Médico
Médico - "trabaja en" - Hospital

Ejercicio 3: Identifica Atributos

Instrucciones

Para cada Entidad:

Para cada Relación:

Plantilla de Diagrama

ENTIDAD 1

ENTIDAD 2

Brainstorming Final

Conecta todos los elementos

Dibuje aquí su diagrama conceptual completo

(Puede usar la plantilla de la página 7 como referencia)

Ejemplo Completo: Sistema Hospitalario

Solución de Referencia

ENTIDADES:
- Paciente: [nombre, historia_clínica, fecha_nacimiento]
- Médico: [especialidad, licencia, años_experiencia]
- Hospital: [nombre, ubicación, capacidad]

RELACIONES:
1. Paciente "es atendido por" Médico (fecha_consulta, diagnóstico)
2. Médico "trabaja en" Hospital (fecha_contratación)
3. Paciente "ingresa a" Hospital (fecha_ingreso, motivo)

DIAGRAMA:
┌───────────┐       ┌───────────┐       ┌───────────┐
│ PACIENTE  │───────│  MÉDICO   │───────│ HOSPITAL  │
├───────────┤       ├───────────┤       ├───────────┤
│ • nombre  │       │ • licencia│       │ • nombre  │
│ • historia│       │ • especial│       │ • ubicación│
└───────────┘       └───────────┘       └───────────┘
↑ Volver arriba

Actividades: Diseños conceptuales de BD

Cuestiones I

Model Data Concept

Cuestiones II

Lenguajes de consulta

Cuestiones III

Modelos de datos y SGBD

Cuestiones IV

Actividades: Diseños conceptuales de BD

Test 1

Model Data Concept

Cuestiones 1

Lenguajes de consulta

Test 2

Modelos de datos y SGBD

Cuestiones 2