Unidad Formativa para interpretar especificaciones de diseño en sistemas gestores de datos
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.
Analizar la arquitectura, modelos y lenguajes de consulta utilizados por la organización.
Reconocer componentes tecnológicos para identificar los sistemas gestores de datos.
Identificar relaciones y dependencias entre elementos de los modelos.
Estudiar el diseño para localizar información almacenada.
Seleccionar lenguajes adecuados según el modelo de datos.
Estándar para bases relacionales
Para MongoDB (basado en JSON)
Para bases de datos de grafos
Describir elementos y su función según tecnologías utilizadas.
Modelo | Elementos clave | Tecnologías asociadas |
---|---|---|
Relacional | Tablas, claves, relaciones | SQL, PostgreSQL, MySQL |
Documental | Colecciones, documentos | MongoDB, Couchbase |
Grafo | Nodos, relaciones, propiedades | Neo4j, Amazon Neptune |
Identificar cambios y nuevas funcionalidades.
Modelos relacionales dominantes
Adopción de modelos orientados a objetos
Explosión de NoSQL (documentos, grafos, etc.)
Características para optimizar consultas OLTP.
Características para toma de decisiones (OLAP).
Gestores especializados (geográficos, multimedia, etc.).
Métodos según modelo de datos implementado.
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)
┌───────────────┐ ┌───────────────┐
│ CLIENTES │ │ PEDIDOS │
├───────────────┤ ├───────────────┤
│ *id_cliente │───────│ *id_pedido │
│ nombre │ 1 │ fecha │
│ dirección │ N │ id_cliente │
└───────────────┘ └───────────────┘
Ventajas | Limitaciones |
---|---|
Flexibilidad en consultas | Dificultad con relaciones complejas |
Estandarización (SQL) | Rendimiento con grandes volúmenes |
┌───────────────┐
│ Raíz │
└──────┬───────┘
┌───────┴───────┐
┌──────▼─────┐ ┌────▼──────┐
│ Departamento │ │ Sucursal │
└──────┬──────┘ └───────────┘
┌──────▼──────┐
│ Empleado │
└─────────────┘
┌──────────────────────┐
│ Producto │
├──────────────────────┤
│ - id: int │
│ - nombre: string │
│ - imagen: blob │
├──────────────────────┤
│ + calcularPrecio() │
│ + mostrarDetalles() │
└──────────────────────┘
┌───────────┐
│ Curso │
└────┬─────┘
┌──────┴──────┐
┌─▼──┐ ┌──▼──┐
│Est1│ │Est2 │
└─┬──┘ └──┬──┘
└──────┬─────┘
┌───▼───┐
│Proyect│
└───────┘
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 |
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
Ejercicio: Para cada escenario, identificar el modelo más adecuado:
1. Relacional (integridad transaccional)
2. Grafos o NoSQL (relaciones complejas)
3. Orientado a Objetos (multimedia interactivo)
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:
Realidad → Concepción → Representación
(Objetos) (Información) (Datos)
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:
En este paso, identificamos qué cosas son importantes para el sistema. Estas cosas se llaman entidades.
Ahora definimos cómo se conectan los objetos entre sí. Las relaciones suelen ser verbos que conectan entidades.
Finalmente, incorporamos las reglas del negocio que el sistema debe respetar. Estas reglas restringen o guían el comportamiento de las relaciones y entidades.
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 |
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)
┌──────────┐ ┌──────────┐
│ CLIENTE │───────│ PEDIDO │
├──────────┤ 1 ├──────────┤
│ id │ N │ número │
│ nombre │ │ fecha │
└──────────┘ └──────────┘
│ │
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│DIRECCIÓN │ │ PRODUCTO │
└──────────┘ └──────────┘
Versión extendida del modelo ER con capacidades orientadas a objetos:
┌──────────────────────┐
│ Cliente │
├──────────────────────┤
│ - id: String │
│ - nombre: String │
├──────────────────────┤
│ + realizarPedido() │
│ + pagar() │
└──────────┬───────────┘
│
│
┌──────────▼───────────┐
│ Pedido │
├──────────────────────┤
│ - fecha: Date │
│ - estado: String │
└──────────────────────┘
Ejercicio: Modelar conceptualmente un sistema universitario con:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ ESTUDIANTE │───────│ CURSO │───────│ PROFESOR │
├─────────────┤ M ├─────────────┤ 1 ├─────────────┤
│ - id │ N │ - código │ N │ - id │
│ - nombre │ │ - nombre │ │ - nombre │
│ - email │ │ - créditos │ │ - departam. │
└─────────────┘ └─────────────┘ └─────────────┘
│ ▲ │
│ │ │
└──────────────────────┘──────────────────────┘
MATRÍCULA IMPARTE
- semestre - horario
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)
┌─────────────┐ ┌─────────────┐
│ ENTIDAD │───────│ ENTIDAD │
├─────────────┤ R ├─────────────┤
│ Atributo1 │ E │ Atributo1 │
│ Atributo2 │ L │ Atributo2 │
└─────────────┘ A └─────────────┘
C
I
Ó
N
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
┌─────────────┐ ┌─────────────┐
│ PRISIONERO │───────│ PRISIÓN │
└─────────────┘ └─────────────┘
▲ ▲
│ "está detenido en" │
└─────────────────────┘
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.
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’.
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’.
Pregunta clave: ¿Qué información necesito para responder mis consultas?
┌───────────────────────┐ ┌───────────────────┐
│ PRISIONERO │───────│ PRISIÓN │
├───────────────────────┤ 1:N ├───────────────────┤
│ • Nombre │ │ • Nombre │
│ • Fecha_nacimiento │ │ • Ubicación │
│ • Sexo │ │ • País_jurisdicción
│ • Nacionalidad │ └───────────────────┘
│ • Fecha_detención │
│ • Cargos │
└───────────────────────┘
▲
│ "está detenido en"
└─────────────────────┘
Ejercicio: Diseñar modelo conceptual para sistema hospitalario:
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
Complete estos ejercicios para construir su propio modelo de datos conceptual. Siga el proceso de entidades → relaciones → atributos.
Pregunta: ¿Cuántos pacientes atiende cada médico en el hospital X?
Sustantivos: pacientes, médico, hospital
Entidades: Paciente, Médico, Hospital
Dibuje aquí sus entidades y conexiones
Paciente - "es atendido por" - Médico
Médico - "trabaja en" - Hospital
Dibuje aquí su diagrama conceptual completo
(Puede usar la plantilla de la página 7 como 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│
└───────────┘ └───────────┘ └───────────┘