Especialización:
Atributos específicos: cuando se tienen atributos diferenciadores
Relaciones específicas: cuando las entidades se relacionan con diferentes entidades
No hay que especializar demasiado:
- Está bien que ciertos atributos sean nulos.
- No toda ausencia/presencia de atributo es relevante
- Mantener baja la complejidad del problema.
- Menos entidades es mejor.
Generalización:
Encontrar atributos o relaciones en común e intentar generalizar.
Tipo Unión:
- Hasta el momento siempre hay una superclase
- Podría no ser el caso
- Ejemplo:
- Un banco da créditos para compra de vehículos.
- Los créditos los da tanto a personas como a empresas.
La subclase unión no tiene atributos propios, tampoco hereda los atributos de las superclases, sino sólo los de una de ellas a la vez.
Principios de diseño:
- Correctitud: representar adecuadamente el modelo.
- Evitar redundancia: (Ej.: relación estudio_película + atributo estudio en película) ¿Por qué?
- Buscar simplicidad entidades que sean estrictamente necesarias.
- Cuando aparece un ciclo, hay redundancia, mantener solo si es necesario por eficiencia.
Entidades eliminables:
- Solo tienen relaciones 1-1 con otra entidad.
- Ej.: direcciones únicas de personas.
- Convertir en atributos (al menos durante el proceso de modelamiento).
- No pensar en las tablas. El modelo E-R es para conceptualizar.
- Leer y re-leer el diagrama.
- Simular consultas típicas.
- Pensar en posible extensiones.
- Estar preparado para explicar decisiones, si tu haces el modelo, debes saber la función de cada parte.
Resumen:
- Entidades, Atributos, Relaciones.
- Diagramas entidad-relación.
- Buen diseño.
- "Lo más simple posible pero no más simple que eso" A. Einstein.
- Resiste el paso del tiempo.
- No es inmutable: es extensible.
- Mal diseño
- Empeora con el tiempo.
- Casos especiales, más y más entidades, etc. Al final la única solución es deshacerse del diseño.
No hay comentarios:
Publicar un comentario