Modelado conceptual de bases de datos

Modelo extendido: Generalización, Especialización y Agregación en el Modelo E/R

Generalización en el Modelo E/R

Generalización es un proceso en el que se combinan varias entidades que comparten características comunes en una entidad más general. Esta entidad generalizada captura las características comunes de las entidades más específicas, lo que permite reducir la redundancia y simplificar el diseño del modelo.

  • Ejemplo: Supongamos que tienes las entidades Profesor y Estudiante en un sistema educativo. Ambas entidades tienen atributos comunes como Nombre, Dirección y Fecha de Nacimiento. En lugar de duplicar estos atributos en ambas entidades, puedes generalizarlas en una entidad más amplia llamada Persona.
    • Entidad Generalizada: Persona
    • Entidades Específicas: Profesor y Estudiante
    • Atributos en la Entidad Generalizada (Persona): Nombre, Dirección, Fecha de Nacimiento
    • Atributos Específicos de Profesor: Salario, Departamento
    • Atributos Específicos de Estudiante: Grado, Promedio
  • Visualización en un Diagrama E/R: En un diagrama E/R, la generalización se muestra mediante un triángulo invertido que conecta las entidades específicas (Profesor, Estudiante) con la entidad generalizada (Persona). Las entidades específicas heredan los atributos de la entidad generalizada.
generalización

Normalmente no se indican las cardinalidades en la generalización.

Especialización en el Modelo E/R

Especialización es el proceso opuesto a la generalización. Aquí, una entidad generalizada se divide en entidades más específicas para capturar características particulares de diferentes subgrupos de la entidad. La especialización es útil cuando una entidad general tiene múltiples subtipos que tienen atributos o comportamientos diferentes.

  • Ejemplo: Consideremos la entidad Empleado en una empresa. La entidad Empleado puede tener subtipos como Empleado a Tiempo Completo y Empleado a Tiempo Parcial, que difieren en términos de horas trabajadas, beneficios, etc.
    • Entidad General: Empleado
    • Entidades Especializadas: Empleado a Tiempo Completo y Empleado a Tiempo Parcial
    • Atributos en la Entidad General (Empleado): Nombre, ID de Empleado, Fecha de nacimiento
    • Atributos Específicos de Empleado a Tiempo Completo: Salario Anual, Beneficios
    • Atributos Específicos de Empleado a Tiempo Parcial: Horas Trabajadas por Semana, Pago por Hora
  • Visualización en un Diagrama E/R: La especialización se representa de manera similar a la generalización, con un triángulo invertido que conecta la entidad general (Empleado) con sus subtipos (Empleado a Tiempo Completo, Empleado a Tiempo Parcial).
especialización

Tipos de especialización

Esta especialización se clasifica en diferentes tipos según dos parámetros clave: Exclusiva vs. Inclusiva y Total vs. Parcial. A continuación, te explico cada uno de estos conceptos y cómo se representan gráficamente.

1. Tipos de Especialización según Exclusividad

a) Especialización Exclusiva (sin solapamiento)

Exclusiva (sin solapamiento): una ocurrencia de la entidad superconjunto es una ocurrencia
de una y sólo una entidad subconjunto. (Jerarquía generalización). Se representa
gráficamente con un arco que une todas las líneas que salen de la relación es_un. Ejemplo Los
números, un número si es positivo no puede ser ni negativo ni cero, sólo pertenece a una
subentidad.

  • Definición: En una especialización exclusiva, una instancia (ocurrencia) de la entidad superconjunto pertenece a una y solo una de las entidades subconjunto. Es decir, la instancia no puede pertenecer a más de un subconjunto a la vez.
  • Representación Gráfica: Se representa con un arco que une todas las líneas que conectan la relación de especialización ("es_un") con las subentidades. Este arco indica que la especialización es exclusiva.
especialización exclusiva
  • Ejemplo: Consideremos la entidad "Número". Un número puede ser positivo, negativo, o cero, pero nunca puede ser más de uno de estos a la vez. Por lo tanto, un número que es positivo no puede ser ni negativo ni cero.
ejemplo especialización exclusiva

b) Especialización Inclusiva (con solapamiento)

  • Definición: En una especialización inclusiva, una instancia de la entidad superconjunto puede pertenecer a más de una entidad subconjunto al mismo tiempo.
  • Representación Gráfica: En este caso, no se utiliza el arco que une las líneas de la relación "es_un". Esto indica que la especialización es inclusiva y permite solapamiento entre las subentidades.
especialización inclusiva
  • Ejemplo: En una especialización inclusiva, una persona puede simultáneamente tener múltiples roles. Por ejemplo:
    • Juan podría ser Empleado de la empresa, pero también estar tomando cursos en la misma organización, por lo que sería también un Estudiante.
    • María podría ser Consultora y a la vez estar empleada a tiempo parcial, lo que la clasifica tanto en la subentidad Consultor como en la subentidad Empleado.
ejemplo especialización inclusiva

2. Tipos de Especialización según Exhaustividad

a) Especialización Total (obligatoria)

  • Definición: En una especialización total, cada instancia de la entidad superconjunto debe pertenecer obligatoriamente a alguna de las subentidades. No puede haber ninguna instancia en el superconjunto que no esté clasificada en alguna de las subentidades.
  • Representación Gráfica: Se representa con un círculo pequeño que se coloca sobre la relación "es_un", indicando que la especialización es total y que todas las instancias del superconjunto deben pertenecer a alguna subentidad.
especialización total
  • Ejemplo: En este caso, la especialización es total porque cualquier empleado debe ser necesariamente a tiempo completo o a tiempo parcial. No puede haber un "Empleado" que no encaje en alguna de estas categorías.
ejemplo especialización total

b) Especialización Parcial (opcional)

  • Definición: En una especialización parcial, una instancia de la entidad superconjunto puede no pertenecer a ninguna de las subentidades. Es decir, es posible que algunas instancias en el superconjunto no estén especializadas en las subentidades.
  • Representación Gráfica: Se representa con un arco que une todas las líneas que conectan la relación de especialización ("es_un") y con un círculo pequeño que se coloca sobre la relación "es_un".
especialización parcial
  • Ejemplo: Supongamos que tenemos una entidad "Persona", con subentidades "Empleado" y "Estudiante". Es posible que una persona no sea ni empleado ni estudiante, sino que simplemente exista como "Persona" en el superconjunto.
ejemplo especialización parcial

Agregación en el Modelo E/R

Agregación es un concepto que permite tratar una relación entre entidades como una entidad más para participar en otras relaciones. Este enfoque es útil cuando necesitas modelar situaciones en las que una relación entre entidades debe ser relacionada con otras entidades o relaciones.

  • Ejemplo: Consideremos un sistema de gestión de proyectos donde tienes las entidades Proyecto, Empleado, y Departamento. La relación Trabaja En conecta Empleado con Proyecto. Si necesitas asociar esta relación con la entidad Departamento (para indicar qué departamento es responsable de un proyecto), puedes usar la agregación.
    • Entidades: Empleado, Proyecto, Departamento
    • Relación Original: Trabaja En (entre Empleado y Proyecto)
    • Entidad Agregada: La relación Trabaja En se trata como una entidad agregada.
    • Nueva Relación: Se puede crear una nueva relación entre la entidad Departamento y la entidad agregada Trabaja En para indicar qué departamento es responsable de qué proyecto.
  • Ejemplo: Supongamos que tienes las entidades "Profesor" y "Curso", y una relación "imparte" que indica qué profesor enseña qué curso. Ahora, si quieres modelar que un "Departamento" se encarga de supervisar la enseñanza, puedes usar agregación.
    • Profesor: ID_Profesor, Nombre.
    • Curso: ID_Curso, Nombre.
    • Enseña: Relación entre "Profesor" y "Curso".
    • Departamento: ID_Departamento, nombre.
    • Supervisa: Relación entre "Departamento" y la agregación de "Enseña".
  • En este caso, la relación "Enseña" se trata como una entidad en sí misma, y se relaciona con la entidad "Departamento" a través de la relación "Supervisa". Esto permite modelar situaciones más complejas donde una relación entre entidades necesita ser considerada como una entidad independiente en otro contexto.
  • Visualización en un Diagrama E/R: En un diagrama E/R, la agregación se representa mediante un rectángulo grande que engloba la relación original (imparte) junto con las entidades implicadas (Profesor, Curso). Luego, este conjunto se conecta con la nueva entidad (Departamento) para formar la relación agregada.
agregación

Aplicación de los Conceptos

  1. Generalización y especialización permiten simplificar y organizar la estructura de la base de datos al definir jerarquías entre entidades. Estas técnicas son útiles para evitar redundancias y para reflejar con precisión las diferentes características de subgrupos dentro de un sistema.
  2. Agregación se utiliza cuando una relación necesita ser tratada como una entidad independiente que se relaciona con otras entidades o relaciones, lo que proporciona una mayor flexibilidad en el modelado de datos complejos.

Estos conceptos avanzados de los diagramas E/R son esenciales para crear modelos de datos que reflejen con precisión las necesidades del negocio y que sean escalables y fáciles de mantener.

Otras forma de representar el modelo E/R

Forma de representar, vista en este curso

otra forma de representación

Forma de representar alternativa

otra forma de representación alternativa

Forma propuesta por Oracle

propuesta representación Oracle propuesta de representación adicional

Forma de representar simplificada

forma representación simplificada

Otras forma de representar la cardinalidad (notación Chen)

notación Chen
  • Loading...