MODELO
RELACIONAL
Definicion de Modelo Relacional


• El modelo relacional de datos supuso un gran avance con respecto a los
  modelos anteriores. Este modelo está basado en el concepto de relación.
  Una relación es un conjunto de n-tuplas. Una tupla, al contrario que un
  segmento, puede representar tanto entidades como interrelaciones N:M. Los
  lenguajes matemáticos sobre los que se asienta el modelo relacional, aportan
  un sistema de acceso y consultas orientado al conjunto.

• El concepto de atomicidad es relevante especialmente en el campo de las
  bases de datos. Que un elemento sea atómico implica que no puede ser
  descompuesto en partes más pequeñas.




                                                                             2
Introducción:

 • Las dos características más importantes del
   modelo son:
    – Trabaja con estructuras de datos muy simples:
      Tablas bidimensionales.
    – Es no navegacional, no hace falta hacer referencia
      a la forma de acceder a los datos.




                                                           3
Introducción:

 • En este modelo la base de datos es vista por
   el usuario como una relación de tablas. Cada
   fila de la tabla es un registro o tupla y los
   atributos con columnas o campos.

                                  x   y   z
       x

       y     Entidad

       z




                                                   4
Conceptos de bases de datos relacionales:

 • Relación: Película (título, año, duración)

Atributos                   Titulo          Año   Duración
              La guerra de las galaxias    1977      123
Tuplas        El señor de los anillos I    2001      178
              Mar adentro                  2004      125



               Dominio=textos             Dominio=enteros

Cardinalidad=3
Grado de la relación=3
                                                             5
Conceptos de bases de datos relacionales:
 • Relación= Conjunto ordenado de n
   ocurrencias
 • Atributos= Campos de una tabla, propiedades
   de las entidades
 • Dominio= Conjunto donde los atributos
   toman valores
 • Tupla= Fila de una tabla
 • Grado de una relación= Numero de atributos
   o columnas
 • Cardinalidad= Numero de filas o tuplas de
   una relación

                                                 6
Conceptos de bases de datos relacionales:
• Para dar una definición más adecuada desde el
  punto de vista de las bases de datos, es preciso
  distinguir dos conceptos en la definición de la
  relación:
  – Esquema de relación: es la parte definitoria y estática
    de la relación (cabecera cuando la relación se percibe
    como una tabla). Es invariante en el tiempo.
  – Extensión de la relación: conjunto de tuplas que, en
    un momento determinado, satisface el esquema de la
    relación y se encuentran almacenadas en la base de
    datos. Es variante en el tiempo.


                                                              7
Conceptos de bases de datos relacionales:

• Clave primaria= Es un conjunto de
  atributos que identifica a cada tupla de una
  relación y además no hay un subconjunto de
  ellos que cumplan esa propiedad.

• Clave foránea= Es un conjunto de atributos
  de una tabla que son clave primaria en otra
  tabla



                                                 8
Restricciones inherentes al modelo :


 No puede haber dos tuplas iguales en una
  misma relación

 El orden de las tuplas no es significativo

 El orden de los atributos no es significativo




                                                  9
Restricciones de integridad:

 • Integridad de la Entidad: Ninguna
   componente de la clave primaria puede tomar
   valores nulos o desconocidos, porque
   entonces no se podrían distinguir dos
   entidades.
 • Integridad Referencial: Cualquier valor que
   tome un atributo en una relación del que es
   clave foránea, debe existir en la relación del
   que es clave primaria.


                                                    10
Conversión del modelo conceptual al
modelo relacional:

 • Conversión de Entidades:
   Cada entidad de diagrama Entidad/Relación
   se transforma directamente en una tabla. Los
   atributos de la entidad pasan a ser
   automáticamente las columnas de la tabla.

             Entidad      Tabla

            Atributos     Columnas


                                                  11
Conversión del modelo conceptual al
modelo relacional:
 • Conversión de Relaciones:
   Cada relación de un diagrama
   Entidad/Relación se transforma directamente
   en una tabla. Los campos de esta tabla son
   las claves primarias de todas las entidades
   que participen en la relación más todos
   aquellos atributos que pudiera tener la
   relación.

            Relación      Tabla


                                                 12
Conversión del modelo conceptual al
modelo relacional:
• Simplificación del modelo relacional:
  Las tablas obtenidas como transformación de
  relaciones binarias con cardinalidad uno a
  varios se pueden eliminar.
  Los atributos que formaban parte de la tabla
  pasan a formar parte de la tabla que
  representa la entidad con cardinalidad “varios”.
  Asimismo, si la relación tuviera atributos
  propios, también pasarían a la tabla que
  representa la entidad con cardinalidad “varios”.

                                                     13
Conversión del modelo conceptual al
modelo relacional:
 • Simplificación del modelo relacional:
   El número de relaciones que componen la
   base de datos debe mantenerse en el mínimo
   posible.
   Esto mismo es aplicable a las relaciones
   binarias con cardinalidad uno a uno, puesto
   que son un caso particular de las anteriores.
   Las tablas con un único atributo se pueden
   eliminar.

                                                   14
Ejemplo 1: Relaciones N:M

  dni      nombre                            código

                    N                  M
    CLIENTE              compra            PRODUCTO


   apellidos                                descripción

                        Fecha compra




        • CLIENTE (dni, nombre, apellidos)
        • PRODUCTO (código, descripción)
        • COMPRAS (dni_cliente, código _ producto, fecha_compra)




                                                                   15
Ejemplo 2: Relaciones 1:N

  dni      nombre                              código

                    N                   1
   EMPLEADO              pertenece          DEPARTAMENTO         nombre



    salario                                    localización

                         Fecha compra




        • EMPLEADO (dni, nombre, salario, código_departamento)
        • DEPARTAMENTO (código, nombre, localización)




                                                                          16
Ejemplo 3: Relaciones 1:1

 código   nombre                              dni

                   1               1
     EQUIPO             tiene              PRESIDENTE


 Año fundación                                nombre




     • EQUIPO (código, nombre, año _ fundación)
     • PRESIDENTE (dni, nombre, código _ equipo)

     • EQUIPO (código, nombre, año _ fundación, dni_presidente)
     • PRESIDENTE (dni, nombre)

                                                                  17
Ejemplo 4: Relaciones reflexivas

              Num_expediente



                                     Es
    nombre      ALUMNO
                                  delegado




 • ALUMNO (num_expediente, nombre, num_expediente_delegado)




                                                              18

Modelo relacional

  • 1.
  • 2.
    Definicion de ModeloRelacional • El modelo relacional de datos supuso un gran avance con respecto a los modelos anteriores. Este modelo está basado en el concepto de relación. Una relación es un conjunto de n-tuplas. Una tupla, al contrario que un segmento, puede representar tanto entidades como interrelaciones N:M. Los lenguajes matemáticos sobre los que se asienta el modelo relacional, aportan un sistema de acceso y consultas orientado al conjunto. • El concepto de atomicidad es relevante especialmente en el campo de las bases de datos. Que un elemento sea atómico implica que no puede ser descompuesto en partes más pequeñas. 2
  • 3.
    Introducción: • Lasdos características más importantes del modelo son: – Trabaja con estructuras de datos muy simples: Tablas bidimensionales. – Es no navegacional, no hace falta hacer referencia a la forma de acceder a los datos. 3
  • 4.
    Introducción: • Eneste modelo la base de datos es vista por el usuario como una relación de tablas. Cada fila de la tabla es un registro o tupla y los atributos con columnas o campos. x y z x y Entidad z 4
  • 5.
    Conceptos de basesde datos relacionales: • Relación: Película (título, año, duración) Atributos Titulo Año Duración La guerra de las galaxias 1977 123 Tuplas El señor de los anillos I 2001 178 Mar adentro 2004 125 Dominio=textos Dominio=enteros Cardinalidad=3 Grado de la relación=3 5
  • 6.
    Conceptos de basesde datos relacionales: • Relación= Conjunto ordenado de n ocurrencias • Atributos= Campos de una tabla, propiedades de las entidades • Dominio= Conjunto donde los atributos toman valores • Tupla= Fila de una tabla • Grado de una relación= Numero de atributos o columnas • Cardinalidad= Numero de filas o tuplas de una relación 6
  • 7.
    Conceptos de basesde datos relacionales: • Para dar una definición más adecuada desde el punto de vista de las bases de datos, es preciso distinguir dos conceptos en la definición de la relación: – Esquema de relación: es la parte definitoria y estática de la relación (cabecera cuando la relación se percibe como una tabla). Es invariante en el tiempo. – Extensión de la relación: conjunto de tuplas que, en un momento determinado, satisface el esquema de la relación y se encuentran almacenadas en la base de datos. Es variante en el tiempo. 7
  • 8.
    Conceptos de basesde datos relacionales: • Clave primaria= Es un conjunto de atributos que identifica a cada tupla de una relación y además no hay un subconjunto de ellos que cumplan esa propiedad. • Clave foránea= Es un conjunto de atributos de una tabla que son clave primaria en otra tabla 8
  • 9.
    Restricciones inherentes almodelo : No puede haber dos tuplas iguales en una misma relación El orden de las tuplas no es significativo El orden de los atributos no es significativo 9
  • 10.
    Restricciones de integridad: • Integridad de la Entidad: Ninguna componente de la clave primaria puede tomar valores nulos o desconocidos, porque entonces no se podrían distinguir dos entidades. • Integridad Referencial: Cualquier valor que tome un atributo en una relación del que es clave foránea, debe existir en la relación del que es clave primaria. 10
  • 11.
    Conversión del modeloconceptual al modelo relacional: • Conversión de Entidades: Cada entidad de diagrama Entidad/Relación se transforma directamente en una tabla. Los atributos de la entidad pasan a ser automáticamente las columnas de la tabla. Entidad Tabla Atributos Columnas 11
  • 12.
    Conversión del modeloconceptual al modelo relacional: • Conversión de Relaciones: Cada relación de un diagrama Entidad/Relación se transforma directamente en una tabla. Los campos de esta tabla son las claves primarias de todas las entidades que participen en la relación más todos aquellos atributos que pudiera tener la relación. Relación Tabla 12
  • 13.
    Conversión del modeloconceptual al modelo relacional: • Simplificación del modelo relacional: Las tablas obtenidas como transformación de relaciones binarias con cardinalidad uno a varios se pueden eliminar. Los atributos que formaban parte de la tabla pasan a formar parte de la tabla que representa la entidad con cardinalidad “varios”. Asimismo, si la relación tuviera atributos propios, también pasarían a la tabla que representa la entidad con cardinalidad “varios”. 13
  • 14.
    Conversión del modeloconceptual al modelo relacional: • Simplificación del modelo relacional: El número de relaciones que componen la base de datos debe mantenerse en el mínimo posible. Esto mismo es aplicable a las relaciones binarias con cardinalidad uno a uno, puesto que son un caso particular de las anteriores. Las tablas con un único atributo se pueden eliminar. 14
  • 15.
    Ejemplo 1: RelacionesN:M dni nombre código N M CLIENTE compra PRODUCTO apellidos descripción Fecha compra • CLIENTE (dni, nombre, apellidos) • PRODUCTO (código, descripción) • COMPRAS (dni_cliente, código _ producto, fecha_compra) 15
  • 16.
    Ejemplo 2: Relaciones1:N dni nombre código N 1 EMPLEADO pertenece DEPARTAMENTO nombre salario localización Fecha compra • EMPLEADO (dni, nombre, salario, código_departamento) • DEPARTAMENTO (código, nombre, localización) 16
  • 17.
    Ejemplo 3: Relaciones1:1 código nombre dni 1 1 EQUIPO tiene PRESIDENTE Año fundación nombre • EQUIPO (código, nombre, año _ fundación) • PRESIDENTE (dni, nombre, código _ equipo) • EQUIPO (código, nombre, año _ fundación, dni_presidente) • PRESIDENTE (dni, nombre) 17
  • 18.
    Ejemplo 4: Relacionesreflexivas Num_expediente Es nombre ALUMNO delegado • ALUMNO (num_expediente, nombre, num_expediente_delegado) 18