• Módulo SGBD (Sistemas Gestores de Bases de Datos)

    Pasar modelo Entidad-Relación a Modelo Relacional

    Se describen los pasos a seguir para crear el modelo relacional.

    Entidades

    • Para cada entidad se crea una tabla.
    • Por cada atributo simple se crea un atributo en la tabla.
    • Por cada atributo estructurado se crean tantos atributos como hojas tenga la estructura.
    • Si tiene atributos multivaluados, se procesan más adelante.

    Claves primarias

    • Se selecciona uno de los atributos como clave primaria y se lo subraya.
      .
      Ejemplo 1:

      PERSONAL (cedula, nombre, edad, dirección).
      .
      Ejemplo 2:

      PERSONAL(cedula, nombre, edad, ciudad, calle, numero)

    Entidades débiles

    • Por cada entidad débil se crea una tabla.
    • Se agregan los atributos como en las entidades normales.
    • Se incluyen también el/los atributos de la tabla que representa la entidad fuerte.
    • Se indica como clave primaria tanto el atributo que representa a la clave primaria de la entidad fuerte, como el que representa a la clave primaria de la propia entidad débil.
      .
      Ejemplo:

      HOSPITALES (nombre, direccion, telefono)
      SALAS (nombreHospital, nombreSala, cantCamas)

    Relaciones N:N

    • Se crea una tabla con cada relación N:N.
    • Se ponen las claves primarias que representan a cada una de las entidades participantes.
    • Si la relación tiene atributos, se agregan como los de una entidad normal.
    • La clave primaria está formada por la totalidad de atributos que hay en las clavesprvadas de las dos entidades que participan en la relación.
      .
      Ejemplo:

      SALAS (nombre, cant_camas)
      PERSONAL (cedula, nombre, ciudad, calle, numero)
      TRABAJAN (nombreSala, cedula, entrada, salida)

    Relaciones 1:N

    • Del lado N se agregan a la tabla los atributos que son clave primaria de la tabla del lado 1
    • Si la relación tiene atributos simples o compuestos, se agregan también.
    • La clave primaria no se modifica.
      .
      Ejemplo:

      SALAS (nombre, cant_camas)
      PERSONAL (cedula, nombre, ciudad, calle, numero, nombreSala, entrada, salida)

    Atributos multivaluados

    • Por cada atributo multivaluado (ya sea de entidad o de relación) se crea una tabla.
    • Se crea un atributo para el atributo multivaluado
    • Se agregan atributos que representan la clave primaria de la tabla o relación en la que está el atributo multivaluado.
    • La clave primaria está formada por TODOS sus atributos.
      .
      Ejemplo:

      PERSONAL (cedula, nombre, edad, ciudad, calle, numero)
      TELEFONOS (cedula, telefono)

    Agregaciones

    • El operador de agregación transforma las relaciones en entidades.
    • Esa entidad obtenida a través de la agregación se puede relacionar con otras entidades.
      .
      Ejemplo:

      TRABAJAN (nombreSala, cedula, h_entrada, h_salida)
      TAREAS (nombre, descripcion)
      REALIZAN (nombreTarea, nombreSala, cedula)
      .
      NOTA: Las parejas de la relación TRABAJAN se relacionan cn TAREAS

    Jerarquías (o categorizaciones)

    Método 1

    • Una tabla para la superentidad
    • Una tabla por cada subentidad relacionada
      .
      Ejemplo:

      PERSONAL (cedula, nombre, ciudad, calle, número)
      MEDICOS (cedulaPersonal, especialidad)
      ENFERMEROS (cedulaPersonal)
      ADMINISTRATIVOS (cedulaPersonal, antigüedad)

    Método 2

    * Sólo funciona si la jerarquía es total. En jerarquías solapadas, pueden aparecer duplicados.

    • Una tabla por cada subentidad.
      .
      Ejemplo:

      MEDICOS(cedula, nombre, ciudad, calle, numero,
      especialidad)
      ENFERMEROS(cedula, nombre, ciudad, calle, numero)
      ADMINISTRATIVOS(cedula, nombre, ciudad, calle,
      numero, antigüedad)

    Método 3

    * Funciona sólo si la categorización es disjunta y aún si no es total. Puede generar nulos y hay que mantener consistente el tipo con los valores de los otros atributos.

    • Se crea una tabla con los atributos de la superentidad, los de las subentidades y un atributo de tipo.
      .
      Ejemplo:

      PERSONAL(cedula, nombre, ciudad, calle, número,
      especialidad, antigüedad, tipo)

    Método 4

    * Funciona si la categorización es disjunta o no. Puede generar nulos y hay que mantener consistente el tipo con los valores de los otros atributos.

    • Se crea una tabla con los atributos de la superentidad, los de las subentidades y un atributo booleano por cada subentidad.
      .
      Ejemplo:

      PERSONAL(cedula, nombre, ciudad, calle, numero,
      especialidad, antigüedad, esMedico, esEnfermero,
      esAdministrativo)