Grado en Información y
Documentación:
           33846 - Bases de datos
Curso académico: 2021-2022
Ariadna Fuertes Seder
Ariadna.Fuertes@uv.es
Departament d’Informàtica
Escola Tècnica Superior d’Enginyeria
Universitat de València
Tema 4: Diseño lógico de Bases
de Datos. Modelo Relacional
◼ Diseño lógico
◼ El modelo relacional
      ◦ Introducción
      ◦ Estructura
             ◦ Dominios
             ◦ Relaciones
             ◦ Base de datos relacional
      ◦ Reglas de integridad relacional
             ◦ Regla de integridad de las relaciones
             ◦ Regla de integridad referencial
      ◦ Manipulación
◼      Principios básicos de diseño lógico
    Ariadna Fuertes Seder                      BBDD    Universitat de València
    Diseño lógico
   El diseño lógico consiste en una transformación de
    modelos.
    ◦ Se debe convertir el modelo conceptual (en nuestro caso el
      modelo E/R) al modelo de la base de datos para el que se está
      diseñando, en nuestro caso modelo relacional.
   Será necesario comprobar que el modelo lógico resultante
    garantiza las propiedades de eliminación de redundancias,
    accesibilidad sencilla de los datos, etc.
    ◦ Para ello, en el caso de bases de datos relacionales,
      recurriremos a la teoría de la normalización, que nos
      permitirá obtener las mejores relaciones posibles para un
      esquema lógico.
      Ariadna Fuertes Seder        BBDD   Universitat de València   3
    Modelo Relacional. Introducción
   El modelo relacional es una forma de estructurar los datos;
    es decir, es una receta para representar los datos (tablas), y
    la receta para manipular esa representación (álgebra
    relacional).
   El Modelo de Datos Relacional es la teoría formal que
    constituye los cimientos de los sistemas relacionales.
   Reseñas históricas del Modelo de Datos Relacional:
    ◦ Años 70: Propuesto por E. Codd en 1970. Está basado en dos ramas
      de las matemáticas: la teoría de conjuntos y la lógica de predicados
      de primer orden.
    ◦ Años 80: Se populariza en la práctica (Oracle, Informix, ...). ANSI
      define el estándar SQL.
    ◦ Años 90: Generalización y estandarización (SQL92) y extensiones
      del mismo.
      Ariadna Fuertes Seder            BBDD   Universitat de València    4
    Modelo Relacional. Introducción
   Razones del éxito del modelo relacional:
    ◦ Sencillez, una base de datos es un conjunto de tablas.
    ◦ Modelo teórico sobre el que se sustenta. Su base matemática.
    ◦ Hace que el modelo sea predecible, fiable y seguro.
   Tres aspectos de los datos de los que se ocupa el
    modelo relacional :
    ◦ De su estructura
    ◦ De su integridad y
    ◦ De su manipulación.
      Ariadna Fuertes Seder           BBDD   Universitat de València   5
    La estructura relacional
   Base del modelo relacional:
    ◦ Concepto de RELACIÓN
   Representación:
                                    Columnas → Representan las propiedades
                                    de las tablas
                  NOMBRE
                 Atributo 1     Atributo 2      ...     Atributo n
                      xxx          xxx          ...         xxx                 Tupla 1
                      xxx          xxx          ...         xxx                 Tupla 2
                       ...          ...         ...           ...               ...
                      xxx          xxx          ...         xxx                 Tupla m
                             Filas → Contienen los valores que toma
                             cada atributo para cada relación
     Ariadna Fuertes Seder                     BBDD   Universitat de València             6
    La estructura relacional
   Términos importantes en la estructura de datos
    relacional:
    ◦ Relación. Corresponde con la idea general de una tabla
    ◦ Tupla. Corresponde a una fila en dicha tabla
    ◦ Atributo. Es una columna de la tabla
    ◦ Cardinalidad. Numero de tuplas en la tabla (m)
    ◦ Grado. Numero de atributos en la tabla (n)
    ◦ Clave primaria. Es un identificador único para la tabla,
      esto es, no hay dos tuplas con igual identificador.
    ◦ Dominio. Una colección de valores de los cuales uno o
      más atributos obtienen sus valores reales.
        Ariadna Fuertes Seder    BBDD   Universitat de València   7
         Ejemplo: La relación “persona”
                                                     Atributos                                          Grado 6
             Persona
               1     2                        3               4                 5                 6
                  DNI         Nombre        Apellidos       Dirección         Teléfono     Nacimiento
              14.167.654      Alberto     Gómez           Pedrones, 4       963787878      23/02/1958
         1                                Martínez
         2    64.237.935      Luisa       Ripoll Albert   Denia, 64         963573895      12/06/1963
              45.126.579      José        Pérez Cerdán    Escandinavia,     963873333      12/06/1963
         3
   4                          Luis                        12
              67.677.887      Andrea      Martínez        Poeta Más         963772564      10/02/1965
         4                                Zanón           Gil, 37
Cardinalidad 4 Clave primaria → DNI
                                                                                       Tupla
                    Dominios:
                                     nombre, apellidos, dirección → texto
                                     DNI → entero
                                     teléfono → entero de 9 dígitos
                                     Nacimiento → fecha
             Ariadna Fuertes Seder                           BBDD       Universitat de València              8
     La estructura relacional
   Gráficamente representamos las relaciones mediante tablas.
    PERO…
   Relación  Tabla
   Propiedades de las relaciones:
    ◦ No se admiten filas duplicadas
    ◦ Las filas y columnas no están ordenadas
    ◦ El cruce entre una fila y una columna solo puede ser un único valor
   Comparación de terminología:
        RELACIÓN                  TABLA                            FICHERO
           TUPLA                    FILA                            REGISTRO
         ATRIBUTO                COLUMNA                             CAMPO
          GRADO                Nº DE COLUMNAS                    Nº DE CAMPOS
       CARDINALIDAD              Nº DE FILAS                    Nº DE REGISTROS
       Ariadna Fuertes Seder                   BBDD   Universitat de València     9
    Dominios
 El valor de un dato individual es la menor unidad semántica
  de información. A estos valores los llamaremos valores
  escalares.
 Definición:
    ◦ Un dominio es un conjunto de valores escalares, todos ellos del
      mismo tipo.
   Cada atributo de una relación está definido sobre un único
    dominio y toma sus valores reales del dominio.
   Si los atributos podían ser simples o compuestos, entonces:
    ◦ Un dominio simple es un dominio de valores escalares.
    ◦ Un dominio compuesto se define como una combinación de dominios
      simples.
       Ejemplo: La fecha (entero/entero/entero)
      Ariadna Fuertes Seder                   BBDD   Universitat de València   10
    Ejemplos de dominios
   Dada la anterior relación “persona”, podríamos
    especificar más los dominios como:
   Fijarse que:
    ◦ Cada atributo tiene asociado un dominio.
    ◦ Varios atributos pueden asociarse con el mismo dominio.
    ◦ Estos dominios pueden ser simples o compuestos.
      Ariadna Fuertes Seder     BBDD   Universitat de València   11
          Relaciones
        Una Relación sobre un conjunto de dominios D1,D2, · · ·Dn se
         compone de dos partes: la cabecera y el cuerpo.
        La cabecera está formada por un conjunto fijo de pares
         atributo-dominio (viene a ser la fila de cabeceras de columnas).
entero 9 dígitos            texto          texto    texto                entero             fecha
   DNI            Nombre            Apellidos      Dirección               Teléfono      Nacimiento
        Def. Formal: Conjunto fijo de pares atributos-dominio
               {(A1 : D1), (A2 : D2), · · · (An : Dn)}, de forma que a cada
              atributo Aj le corresponde uno y sólo uno de los
              dominios subyacentes Dj (j = 1 · · · , n).
            Ariadna Fuertes Seder                   BBDD       Universitat de València                12
             Relaciones
            El cuerpo está formado por el conjunto variable de tuplas (sería
             el conjunto de filas de datos) que a su vez están formadas por los
             pares atributo-valor, uno para cada atributo de la cabecera.
                                Valor 14.167.654 para el atributo DNI
     DNI            Nombre                   Apellidos        Dirección                 Teléfono          Nacimiento
14.167.654       Alberto               Gómez Martínez    Pedrones, 4                963787878          23/02/1958
64.237.935       Luisa                 Ripoll Albert     Denia, 64                  963573895          12/06/1963
45.126.579       José Luis             Pérez Cerdán      Escandinavia, 12           963873333          12/06/1963
67.677.887       Andrea                Martínez Zanón    Poeta Más Gil, 37          963772564          10/02/1965
            Consideraciones:
             ◦ El número de tuplas que hay en el cuerpo puede variar con el
               tiempo y nos indica la cardinalidad de la relación.
             ◦ El número de atributos que tenemos en la cabecera, el cual no
               cambia, nos indica el grado.
               Ariadna Fuertes Seder                            BBDD         Universitat de València                   13
     Relaciones
   Propiedades derivadas de la definición de “relación”
    ◦ No existen tuplas repetidas.
      La existencia de una clave primaria impide que existan tuplas
      repetidas.
    ◦ Las tuplas no están ordenadas.
      Una relación está definida como un conjunto, y en un
      conjunto no se establece una relación de orden .
    ◦ Los atributos no están ordenados. Puesto que la cabecera de
      una relación también se define como un conjunto, no existe
      un orden preestablecido.
    ◦ Todos los valores de los atributos son atómicos.
      Otra forma de expresar esta propiedad es diciendo que todos
      los valores de los atributos simples son atómicos, sólo toman
      un valor en cada caso.
       Ariadna Fuertes Seder       BBDD   Universitat de València   14
    Relaciones
   Tipos de relaciones...
    ◦   Relaciones base: con nombre, reales y autónoma (parte
        directa de la BD, a diferencia de otras relaciones cuya existencia
        es más efímera).
    ◦   Vistas: Es una relación derivada, con nombre pero virtual.
    ◦   Instantáneas: con nombre, derivadas y reales.
    ◦   Resultados de una consulta: Es una relación final resultante
        de alguna consulta especificada. Puede o no tener nombre. No
        tienen persistencia en la BD.
    ◦   Resultados intermedios: son relaciones resultantes de alguna
        expresión relacional anidada dentro de alguna expresión
        relacional mayor.
    ◦   Temporales: con nombre, se destruyen automáticamente en el
        momento apropiado.
        Ariadna Fuertes Seder          BBDD   Universitat de València   15
     Ejemplo de cabecera y cuerpo de
     una relación
   La relación OFICINA tiene la siguiente cabecera:
    {(Oid:DOM_OFICINA),(Calle:DOM_CALLE),(Area:DOM_AREA),
    (Población: DOM_POB), (Telefono: DOM_TEL_FAX),
    (Fax:DOM_TEL_FAX)}
   y una de sus tuplas:
    {(Oid:1),(Calle:Lérida),(Área:46009),(Ciudad:Valencia),
    (Telefono:963298989), (Fax:963298989)}
   Este conjunto de pares no está ordenado, por lo que la siguiente tupla es
    la misma:
    {(Telefono:963298989),(Área:46009),(Ciudad:Valencia),(Oid:1),
    (Calle:Lérida), (Fax:963298989)}
        Ariadna Fuertes Seder            BBDD   Universitat de València     16
    Concepto de valor nulo
   No es exclusivo del modelo relacional, pero
    en este contexto es dónde se ha abordado su
    estudio de manera más sistemática y donde se
    están realizando más investigaciones a fin de
    formalizar su tratamiento.
   ¿Qué es el valor nulo?
   Definición:
    Es como una señal utilizada para representar
    información desconocida, inaplicable, inexistente,
    no válida, no proporcionada, indefinida, etc.
      Ariadna Fuertes Seder   BBDD   Universitat de València   17
    Concepto de valor nulo
   ¿Por qué es necesario el valor nulo?
   Motivos de necesidad en las B.D.:
    ◦ Crear tuplas con ciertos atributos desconocidos en ese momento.
         ◦ P.ej. Nueva persona sin teléfono
    ◦ Añadir un nuevo atributo a una relación existente (al añadirse, no
      tiene ningún valor para las tuplas de la relación).
         ◦ P.ej. Añadir Profesión
    ◦ Atributos inaplicables a ciertas tuplas.
         ◦ P.ej. la profesión para un menor
   ¿Cómo se trabaja con el valor nulo?
    ◦   El tratamiento de valores nulos exige definir unas operaciones
        específicas para el caso de que alguno de los operandos tome
        valores nulos, y a introducir operadores especiales.
        Ariadna Fuertes Seder            BBDD   Universitat de València    18
              Concepto de valor nulo
             Por ejemplo: Operación de comparación
persona           DNI            Nombre           Apellidos         Dirección             Teléfono       Nacimiento
          14.167.654          Alberto      Gómez Martínez     Pedrones, 4                             23/02/1958
          64.237.935          Luisa        Ripoll Albert      Denia, 64                               12/06/1963
          45.126.579          José Luis    Pérez Cerdán       Escandinavia, 12        963873333       12/06/1963
          67.677.887          Andrea       Martínez Zanón     Poeta Más Gil, 37       963772564       10/02/1965
             Pregunta:
              ◦    ¿Es el teléfono de Alberto igual al de Luisa?
             Respuesta:
              ◦    No podemos decir que es cierto que sean iguales puesto que estaríamos
                   afirmando que no son valores “tan desconocidos”...
              ◦    Pero tampoco podemos decir que es falso que sean iguales...
              ◦    La única solución que nos queda es decir que quizá sean iguales.
                  Introduciremos operadores especiales que respondan a la pregunta:
                  ¿Es un “valor desconocido”?
                   Ariadna Fuertes Seder                         BBDD       Universitat de València                   19
    Bases de Datos Relacionales
   Definición
    ◦ Una base de datos relacional es una base de
      datos percibida por el usuario como una
      colección de relaciones normalizadas de diversos
      grados que varía con el tiempo.
    ◦ Importante el concepto de “percibida por el
      usuario” puesto que el modelo relacional se
      aplica a los niveles conceptual y externo.
     Ariadna Fuertes Seder   BBDD   Universitat de València   20
    Reglas de integridad relacional
 Vamos a ampliar la definición de base de datos relacional
  para incluir ciertas reglas de integridad con el propósito de
  informar al DBMS de ciertas restricciones del mundo real
  para que se puedan impedir esas ocurrencias de valores.
 La mayoría de las reglas son específicas (se aplican a una
  BD concreta).
 El modelo relacional incluye dos reglas generales de
  integridad, que se aplican a cualquier BD. Se basan en el
  concepto de clave:
   ◦ Clave primaria: regla de integridad de las relaciones.
   ◦ Clave ajena: regla de integridad referencial.
     Ariadna Fuertes Seder       BBDD   Universitat de València   21
     Clave primaria
   Definiciones:
    ◦ Superclave: conjunto de atributos que identifican de modo único las tuplas de
      una relación.
    ◦ Clave candidata: menor subconjunto de atributos de una superclave que sigue
      siendo un identificador único.
    ◦ Clave primaria: clave elegida entre las candidatas para identificar las tuplas.
    ◦ Claves alternativas: el resto de claves candidatas.
   Propiedades, independientes del tiempo, de las claves candidatas:
    ◦ Unicidad: no existen dos tuplas con igual valor de clave candidata.
    ◦ Minimalidad: no se puede eliminar ningún atributo de la clave candidata sin
      destruir la unicidad.
   Las claves primarias constituyen el mecanismo de
    direccionamiento a nivel de tuplas básico en un sistema
    relacional (modo garantizado para localizar una tupla específica).
        Ariadna Fuertes Seder                  BBDD   Universitat de València           22
Regla de integridad de las relaciones
   Ningún componente de la clave primaria de una
    relación base puede aceptar nulos.
   Justificación:
    ◦ 1. - En la realidad las entidades se identifican de modo único →
      también en el modelo relacional
    ◦ 2. - La identificación se realiza por las claves primarias
    ◦ 3.- Si una clave primaria tiene un nulo, no se puede aplicar la definición
      de clave primaria sobre la entidad
    ◦ 4.- Por tanto, la entidad no se puede identificar, y esto contradice la
      definición
   En una base de datos relacional no se puede almacenar
    información sobre algo que no se puede identificar.
       Ariadna Fuertes Seder              BBDD   Universitat de València      23
Regla de integridad de las relaciones
   Puntos a destacar:
    ◦ En las claves primarias compuestas cada valor individual de la clave primaria debe ser no
      nulo en su totalidad.
    ◦ Se aplica a las relaciones base.
    ◦ Se aplica a las claves primarias.
    ◦ No se entiende por regla de integridad de las entidades el que los valores de la clave
      primaria deben ser únicos.
   Ejemplo:
    ◦ La relación OFICINA tiene varias claves candidatas.
    ◦ El atributo Población no es una clave candidata.
    ◦ El atributo Oid si que es una clave candidata. Los atributos Teléfono y Fax también.
        Ariadna Fuertes Seder                    BBDD    Universitat de València               24
     Clave ajena
   Definición:
    Una clave ajena es un atributo (o conjunto de atributos) de una
    relación R2 cuyos valores, si los tiene, deben concordar con los de la
    clave primaria de alguna relación R1 (donde R1 y R2 no son
    necesariamente distintas).
   El problema de garantizar que la BD no incluya valores no válidos
    de una clave ajena se conoce como el problema de la integridad
    referencial.
   La restricción según la cuál los valores de una clave ajena
    determinada deben concordar con los valores de la clave primaria
    correspondiente se llama restricción referencial.
   Relación referencial: Relación que contiene a la clave ajena.
   Relación referida u objetivo: Relación que contiene a la clave
    primaria.
        Ariadna Fuertes Seder          BBDD   Universitat de València   25
    Ejemplo:
      Relación referida u objetivo
                                                           Clave primaria de la relación empleado
  empleado
       DNI                 Nombre                   Apellidos                      Dirección                Teléfono         Nacimiento
14.167.654              Alberto            Gómez Martínez                  Pedrones, 4                 963334455         23/02/1958
64.237.935              Luisa              Ripoll Albert                   Denia, 64                   963456789         12/06/1963
                       Relación referencial                                   Clave ajena en la relación puesto
  puesto
             Id_caja                                         descripción                                       DNI
               1                                    Caja número 1 de la salida 1                            14.167.654
               2                                    Caja número 2 de la salida 1                            64.237.935
               3                                    Caja número 1 de la salida 2
            Puntos de interés:
             ◦ La clave ajena y la clave primaria correspondiente deben definirse sobre el mismo dominio
             ◦ La clave ajena no tiene porqué formar parte de la clave primaria de la relación que la
               contiene.
             ◦ Una relación referida puede ser también referencial con respecto a otro conjunto de
               atributos.
             ◦ En el caso de que una relación sea referida y referencial a la vez podemos hablar de
               relación autoreferencial
             ◦ Las claves ajenas pueden admitir nulos, las claves primarias no.
                   Ariadna Fuertes Seder                                           BBDD        Universitat de València                    26
    Regla de integridad referencial
   La base de datos no debe contener valores de clave
    ajena sin concordancia (cualquier valor no nulo de la clave
    ajena debe tener asociado un valor en la clave primaria de la
    relación objetivo).
   Manejo de la integridad referencial por el SGBD:
    ◦ Impedir que se introduzca información que no garantice la integridad
      referencial
    ◦ Permitir la introducción y realizar las acciones necesarias para garantizarla
      (depende completamente del diseño)
   Ejemplo: Borrar un valor que es clave primaria en una
    relación y ajena en otra
    a) Impedir que se pueda borrar
    b) Borrar todas las entradas en la relación referencial cuyo valor de la clave
       ajena sea el de la clave primaria en cuestión. Operación en cascada
      Ariadna Fuertes Seder                 BBDD   Universitat de València            27
Ejemplo de clave ajena y su
concordancia
 Ariadna Fuertes Seder   BBDD   Universitat de València   28
    Manejo de las claves ajenas
   Respecto al ejemplo anterior, responder:
    1)      ¿Puede aceptar nulos esa clave ajena?
    2)      ¿Qué debe suceder si hay un intento de eliminar el objetivo de
            una referencia de clave ajena?
    3)      ¿Qué debe suceder si hay un intento de modificar la clave primaria
            del objetivo de una referencia de clave ajena?
   Respuestas a las preguntas 2 y 3:
    ◦ Restringida (RESTRICTED): Solo se puede realizar si todavía no
      existen referencias.
    ◦ Se propaga (CASCADE): la operación se propaga, eliminando o
      modificando las referencias existentes.
    ◦ Anula (NULLFILES): se asignan nulos a la clave ajena en todas las
      referencias correspondientes a la clave primaria que se desea
      eliminar o modificar.
         Ariadna Fuertes Seder            BBDD   Universitat de València     29
     Ejercicios propuestos
    Sean las siguientes relaciones que forman parte de una BD relacional:
          hotel (idhotel, nombre, ciudad)
          habitacion (idhab, idhotel, tipo, precio)
          cliente (idcli, nombre, direccion)
          reserva (idhotel, idcli, desde, hasta, idhab)
1)    Identifica las claves primarias y clave ajenas en este esquema. Explica
      como se aplican las reglas de integridad de las entidades y referencial
      a estas relaciones.
2)    Escribe algunos ejemplos de cuerpos para las relaciones propuestas
      (datos) donde se observen las reglas de integridad explicadas.
3)    Sugiere alguna restricción adicional que sería apropiada para este
      esquema.
       Ariadna Fuertes Seder            BBDD   Universitat de València       30
     Manipulación
   Codd propuso dos alternativas para establecer la base formal en lo
    referente a la manipulación de la información por parte del modelo
    relacional:
      • Álgebra relacional
      • Cálculo relacional
  Codd demostró que ambos formalismos son equivalentes → para cada
   expresión del álgebra existe su expresión en el cálculo y viceversa.
Diferencias:
 El álgebra relacional:
    ◦ ofrece un conjunto de operadores que permiten construir una relación que
      contiene la información que se busca en la B.D.
    ◦ La formulación es prescriptiva (proporciona un procedimiento para resolver
      el problema).
   El cálculo relacional:
    ◦ solo define la notación que permite describir las propiedades que deben
      cumplir las tuplas de la relación resultante.
    ◦ La formulación es descriptiva (solo plantea el problema).
        Ariadna Fuertes Seder               BBDD   Universitat de València         31
    Principios básicos de diseño lógico
   El paso de un esquema en el modelo E/R al
    relacional está basado en los tres principios
    siguientes:
    ◦ Todo tipo de entidad se convierte en una
      relación.
    ◦ Todo tipo de relación N:M se transforma en una
      relación.
    ◦ Todo tipo de relación 1:N se traduce en el
      fenómeno de propagación de clave o se crea una
      nueva relación.
      Ariadna Fuertes Seder   BBDD   Universitat de València   32
    Aplicación de las reglas generales
   Transformación de las entidades
    ◦ Cada tipo de entidad se debe convertir en una relación
      base
   Transformación de los atributos de las entidades
    ◦ Cada atributo de una entidad se debe transformar en una
      columna en la relación base
       Los atributos principales de la entidad pasan a ser la clave primaria
        de la relación
       El resto de atributos son columnas de la relación y pueden tomar
        valores nulos
      Ariadna Fuertes Seder             BBDD   Universitat de València      33
    Aplicación de las reglas generales
   Transformación de las relaciones
    ◦ Relaciones M:N → Nueva relación (incluye los atributos
      de la relación, si hay, y las claves primarias de las
      entidades)
    ◦ Relaciones 1:N → Dos modos de transformar:
       Propagar la clave de la entidad con cardinalidad 1 a la de N
       Crear una nueva relación. Recomendable cuando:
          1) Pueden aparecer muchos nulos (cardinalidad mínima de la entidad 1 es cero)
          2) Se prevé que la relación pase a ser M:N en el futuro
          3) Si la relación tiene atributos propios
    ◦ Relaciones 1:1 → Caso particular de las anteriores.
          Relación 1          Relación 2                        Acción
             (0 , 1)            (0 , 1)                  Crear nueva relación
             (0 , 1)            (1 , 1)                Propagar clave de R2 a R1
             (1 , 1)            (1 , 1)                 Propagación indiferente
      Ariadna Fuertes Seder                   BBDD   Universitat de València               34
    Aplicación de las reglas generales
   Transformación de atributos de relaciones
    ◦ Se convierten en columnas de la relación
    ◦ Si alguno de los atributos es principal → formará parte
      de la clave primaria
   Transformación de las relaciones exclusivas
    ◦   Se deberán definir las restricciones pertinentes (CHECK)
   Transformación de atributos compuestos
    ◦ El modelo relacional no los contempla. Alternativas:
         Consideramos el atributo compuesto como simple
         Considerar cada uno de los componentes como simple
        Ariadna Fuertes Seder         BBDD   Universitat de València   35
    Aplicación de las reglas generales
   Transformación de Entidades/Relaciones débiles
    ◦ Una entidad débil iba asociada a relaciones 1:N → propagar la clave
      de la entidad fuerte a la débil formando parte de la clave primaria de
      la débil
   Transformación de la generalización
    ◦ Englobar los atributos de la entidad y los subtipos en una sola
      relación (con el atributo de distinción de subtipos)
    ◦ O crear una relación para el supertipo y tantas relaciones como
      subtipos existan.
    ◦ Crear solo relaciones para los subtipos añadiendo los atributos del
      supertipo
   Transformación de la agregación
    ◦ Se transforma primero el nivel más alto y después se trata la relación
      resultante como si fuera una “nueva entidad” a relacionar con el nivel
      más bajo
      Ariadna Fuertes Seder             BBDD   Universitat de València      36
                 Ejemplo resuelto
                                       Nombre                         Autor                     Cod_aut
                                                                           (1,N)
                                                                      Escribe
    Cod_eje                                                                                                                Cod_tem
                                                            Titulo
                                                                           (1,M)
                     (1,M)                          (1,1)                              (0, M)                     (1, N)
  Ejemplar                            Tiene                           Libro                               Trata             Tema
(0,M)                                                                      (0, M)
                     Fech_pre                          Cod_lib                            Año
                                                                                                                            Descrip
                     Fech_dev
        Presta                                                       Escrito en
                             Nombre
(0,N)                          Tf                                             (1, N)
    Socio                     DNI         Cod_idi                    Idioma                 Descrip
                    Transformación de las entidades
                       Cada tipo de entidad se debe convertir en una relación base
                    Transformación de atributos de relaciones
                       Se convierten en columnas de la relación
                       Si alguno de los atributos es principal → formará parte de la clave primaria
                 AUTOR                                      LIBRO                                  EJEMPLAR
                     Codigo_autor                           Codigo_libro                              Codigo_ejem p
                     Nombre                                 Titulo                                    lar
                                                            Año
                                                                                                   SOCIO
                 IDIOMA                                     TEMA
                                                                                                      DNI
                     Codigo_idioma                          Codigo_tem a
                                                                                                      Nombre
                     Descripción                            Descripción
                                                                                                      Telefono
                      Ariadna Fuertes Seder                                        BBDD     Universitat de València                   37
                  Ejemplo resuelto    Nombre                         Autor                      Cod_aut
                                                                          (1,N)
                                                                     Escribe
    Cod_eje                                                                                                                  Cod_tem
                                                           Titulo
                                                                          (1,M)
                    (1,M)                          (1,1)                              (0, M)                        (1, N)
  Ejemplar                           Tiene                           Libro                                Trata               Tema
(0,M)                                                                     (0, M)
                    Fech_pre                          Cod_lib                           Año
                                                                                                                              Descrip
                    Fech_dev
        Presta                                                      Escrito en
                            Nombre
(0,N)                         Tf                                             (1, N)
    Socio                    DNI         Cod_idi                    Idioma                 Descrip
                 Transformación de Entidades/Relaciones débiles
                   Una entidad débil iba asociada a relaciones 1:N → propagar la clave de la
                     entidad fuerte a la débil formando parte de la clave primaria de la débil
                 AUTOR                         LIBRO                                            EJEMPLAR
                 Codigo_autor                  Codigo_libro                             Codigo_libro
                 Nombre                        Titulo                                   Codigo_ejem plar
                                               Año
                                                                                                SOCIO
                 IDIOMA                        TEMA
                                                                                                  DNI
                 Codigo_idioma                 Codigo_tem a
                                                                                                  Nombre
                 Descripción                   Descripción
                                                                                                  Telefono
                     Ariadna Fuertes Seder                                         BBDD        Universitat de València                  38
                     Ejemplo resuelto
                                        Nombre                         Autor                     Cod_aut
                                                                            (1,N)
                                                                       Escribe
    Cod_eje                                                                                                                  Cod_tem
                                                             Titulo
                                                                            (1,M)
                      (1,M)                          (1,1)                              (0, M)                       (1,N)
  Ejemplar                             Tiene                           Libro                               Trata              Tema
(0,M)                                                                       (0,M)
                      Fech_pre                          Cod_lib                           Año
                                                                                                                              Descrip
                      Fech_dev
        Presta                                                        Escrito en
                              Nombre
(0,N)                           Tf                                             (1,N)
    Socio                      DNI         Cod_idi                    Idioma                  Descrip
                    Transformación de las relaciones
                      Relaciones M:N → Nueva relación (incluye los atributos de la relación,
                        si hay, y las claves primarias de las entidades)
                    Transformación de atributos de relaciones
                       Se convierten en columnas de la relación
                      Si alguno de los atributos es principal → formará parte de la clave
                         primaria
                         Ariadna Fuertes Seder                                         BBDD      Universitat de València                39
                 Ejemplo resuelto
                                     Nombre                         Autor                      Cod_aut
                                                                         (1,N)
                                                                    Escribe
    Cod_eje                                                                                                                Cod_tem
                                                          Titulo
                                                                         (1,M)
                   (1,M)                          (1,1)                               (0,M)                        (1,N)
  Ejemplar                          Tiene                           Libro                                Trata              Tema
(0,M)                                                                    (0,M)
                   Fech_pre                          Cod_lib                            Año
                                                                                                                            Descrip
                   Fech_dev
        Presta                                                     Escrito en
                           Nombre
(0,N)                        Tf                                             (1,N)
    Socio                   DNI         Cod_idi                    Idioma                  Descrip
   EJEMPLAR                                               ESCRIBE                                                AUTOR
        Codigo_libro                                        Codigo_autor                                           Codigo_autor
        Codigo_ejemplar                                     Codigo_libro                                           Nombre
                                                          LIBRO                                                  TRATA
   PRESTA
                                                            Codigo_libro                                           Codigo_libro
        Codigo_libro                                        Titulo                                                 Codigo_tema
        Codigo_ejemplar                                     Año
        DNI
        Fecha_pre                                         ESCRITO_EN
        Fecha_dev
                                                            Codigo_libro
                                                            Codigo_idioma                                        TEMA
   SOCIO
                                                          IDIOMA                                                   Codigo_tema
        DNI
        Nombre                                              Codigo_idioma                                          Descripción
        Telefono                                            Descripción
                    Ariadna Fuertes Seder                                           BBDD      Universitat de València                 40