# Guía de trabajo en equipo — **02 Informe de BBDD E-R del proyecto (PDF)**
## ¿Qué deben entregar?
**Informe de Diseño (PDF)** — evidencia de que el equipo pasó de **conceptual** a **lógico** y aplicó **normalización**.
**Nombre de archivo:** `Equipo##_InformeDiseno_2025-08-15.pdf`
**Dónde:** Canal de cadaequipo → carpeta **"Informe 2"** (Teams).
## Objetivo del informe
1. Consolidar el **modelo E-R** con cardinalidades;
2. **Mapear** E-R → esquema relacional (tablas, PK, FK);
3. **Normalizar** hasta **3FN**;
4. Definir **restricciones** e **índices** iniciales;
5. Dejar **diccionario de datos** base.
> Debe trazarse con el Informe de inicio (semana 2): cada regla de negocio debe verse reflejada en entidades/relaciones o restricciones o en su defento agregarlas.
## Estructura obligatoria (6–8 páginas + anexos)
1. **Resumen y alcance actualizado** (½ pág.)
- Qué cambió desde el Informe de inicio y por qué.
2. **Modelo E-R (conceptual)** (1–2 págs.)
- Diagrama legible con **entidades, atributos clave, relaciones, cardinalidades** y participación (total/parcial).
- Supuestos explícitos (p.ej., “un Student puede pertenecer a un solo Department”).
3. **Mapeo E-R → Relacional** (1–2 págs.)
- Detalle de tablas:
`Entidad/Relación | Tabla | Atributos | PK | FK | Observaciones (resolución N:M, participación, Otros detalles)`
- Resolver relaciones **N:M** con **tablas puente** (clic aquí para más información).
4. **Normalización (1FN → 2FN → 3FN)** (2–3 págs.)
- Para cada tabla **de partida**:
- **DF** relevantes (dependencias funcionales) que justifican cada paso.
- Evidencia breve de eliminación de **repetición, parcialidad y transitividad**.
- Resultado final por tabla (en 3FN o BCNF) y nota si quedó una **PK compuesta**.
5. **Restricciones e Integridad** (½–1 pág.)
- **PK**, **FK**, **UNIQUE**, **NOT NULL**, **CHECK** (ej.: límites de créditos, rangos de fechas).
- Reglas de negocio mapeadas a restricciones (mini matriz: Regla → Tabla/Columna/Constraint).
6. **Índices iniciales (borrador)** (½ pág.)
- ¿Qué columnas indexarías y por qué? (búsqueda por código, uniones frecuentes).
7. **Diccionario de datos (extracto)** (1 pág.)
- Describe de tablas:
- `Tabla | Atributo | Descripción | Dominio/Unidad | Null? | Observaciones`.
- No necesitas fijar tipos de datos del motor; vale con dominios (entero, texto corto, fecha, booleano).
**Anexos:**
- Fuente del E-R (DrawDB).
- Hojas de normalización (plantilla 1FN→3FN).
- Cualquier nota de revisión del grupo.
## Rúbrica (25 pts)
- **E-R correcto y legible** (entidades, relaciones, cardinalidades) – **8 pts**
- **Mapeo E-R → relacional** (tablas, PK/FK bien resueltas, N:M) – **6 pts**
- **Normalización hasta 3FN** (DFs claras, justificación) – **6 pts**
- **Integridad & índices iniciales** (coherencia con reglas) – **3 pts**
- **Diccionario y presentación** (claridad, trazabilidad con Informe de inicio) – **2 pts**
## Checklist antes de entregar
- ( ) Todas las **relaciones N:M** pasan por **tabla puente**.
- ( ) No hay **atributos multivaluados** sin resolver.
- ( ) **PK** y **FK** están identificadas en **todas** las tablas.
- ( ) Cada regla de negocio importante tiene **reflejo** en el esquema (constraint o diseño).
- ( ) Hay **DF** por cada tabla que normalizaste y queda claro el paso a 3FN.
- Diccionario de datos incluye **definiciones semánticas**, no solo nombres.
## Roles y dinámica
- **Curador de entidades → Modelador lógico**: lidera E-R y mapeo.
- **Cartógrafo funcional → Tester de integridad**: revisa cardinalidades y participación.
- **Detective de negocio → Responsable de normalización**: redacta DFs y justifica 1FN→3FN.
- **Historiador de usuarios**: valida que el diseño soporte los **flujos críticos**.
- **Documentador**: integra todo, controla formato y trazabilidad con el informe anterior.
## Errores comunes a evitar
- Llamar “ID” distinto en cada tabla sin convención (usa prefijos: `student_id`, `course_id`).
- Confundir 1:N con N:M (si un estudiante puede inscribirse en muchos cursos **y** un curso tiene muchos estudiantes → **N:M**).
- Mantener atributos calculados/derivados sin justificación (p.ej., `total_credits` almacenado).
- Dejar **nullable** campos que deberían ser **NOT NULL** según la regla de negocio.
## Herramientas recomendadas
- **E-R**: DrawDB
- **Normalización**: hoja de trabajo (1FN→3FN) con tablas.