SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Modelos de Datos

                     Diseño Lógico de Bases de Datos
                         n Modelo Entidad/Relación
                         n Modelo Relacional
                         n Paso a tablas




© Bases de Datos / O.E.I../ U.P.M.




                       Modelo Entidad-Relación
                     n Formulado por P.P. Chen en 1976
                     n Modelo de datos que representa un
                       esquema de base de datos mediante
                       entidades y asociaciones
                     n Describe una base de datos de una forma
                       sencilla y global
                     n Se realiza a partir de los requisitos de datos
                       que debe cumplir una base de datos

© Bases de Datos / O.E.I../ U.P.M.




                                                                        1
Entidades
                     n    Entidad
                            • Objeto del mundo real que tiene existencia pos
                              sí mismo
                            • Compuesto de ocurrencias de entidad
                            • Ejemplo
                                     – Entidad Clientes
                                     – Cliente “Pepe Perez” con DNI “12345678”
                            • Atributos: definen las propiedades de una
                              entidad, basados en un dominio (conjunto de
                              valores posibles que puede tomar)
© Bases de Datos / O.E.I../ U.P.M.




            Entidades
                  n Atributo - Característica propia de una
                    entidad, común para todas las
                    ocurrencias del mismo tipo
                  n Dominio - Conjunto de valores
                    permitidos para un atributo
                  n Para cada atributo hay que definir:
                        • Nombre      Descripción         Dominio
                          Función (identificación o definición)

© Bases de Datos / O.E.I../ U.P.M.




                                                                                 2
Entidades

                  n Ejemplo:
                  n Entidad: Empleado
                    Nombre de atributo: Código
                        • Descripción: Código único por empleado
                          asignado por la empresa
                        • Función: Identificación (+Definición)
                        • Dominio: Números positivos de dos cifras

© Bases de Datos / O.E.I../ U.P.M.




            Entidades
                                     María Anguiano
                                                                 Sucursal Barcelona
                                     DNI: 36061281
                                                                    Código: 02
                                       Gran Vía 9

                                                Ocurrencias de entidad



                  DNI                                                                    Código

                                      Empleado                           Departamentos
          Domicilio
                                                                                         Descrip.



                                       Nombre                  Entidades
© Bases de Datos / O.E.I../ U.P.M.




                                                                                                    3
Modelo Entidad-Relación
                     n    Relación o Asociación
                            • Expresa una asociación entre ocurrencias de
                              entidad
                            • Puede tener atributos propios
                            • Grado: número de entidades que asocia
                            • Cardinalidad:
                                     – número de ocurrencias de una entidad que pueden
                                       asociarse con otra entidad
                                     – Máxima - 1:1, 1:N, N:1, N:M
                                     – Mínima - 0:0, 1:0, 0:1, 1:1
© Bases de Datos / O.E.I../ U.P.M.




            Relaciones
                  n    Conjunto de ocurrencias de relación del
                       mismo tipo



                            Empleado               Trabaja en       Departamento




© Bases de Datos / O.E.I../ U.P.M.




                                                                                         4
Relaciones
                  n    Las relaciones también pueden tener
                       atributos



                           Cliente                 Compra                Producto




                                                   Fecha


© Bases de Datos / O.E.I../ U.P.M.




            Relaciones
                  n    Es importante el “rol” o “papel” de cada
                       ocurrencia
                                           Jefe



                                     Empleado               Es Jefe de
                                                Subordinado



                  n    Se denomina grado de una relación al
                       número de entidades que relaciona
© Bases de Datos / O.E.I../ U.P.M.




                                                                                    5
Cardinalidad Máxima
                        • Número de ocurrencias de entidad que se
                          pueden asociar como máximo a otra a
                          través de una relación
                                               1:1
                    A                a1                          b1         B

                                     a2                          b2

                                     ...                          ...

                                     an                          bm

                   Ej.:Una persona tiene un coche y un coche es de una sola persona
© Bases de Datos / O.E.I../ U.P.M.




            Cardinalidad

                                               1:N
                    A                a1                          b1         B

                                     a2                          b2

                                     ...                         ...

                                     an                          bm


              Ej.:Una persona tiene varios coches y un coche es de una sola persona


© Bases de Datos / O.E.I../ U.P.M.




                                                                                      6
Cardinalidad

                                               N:1
                    A                a1                          b1         B

                                     a2                          b2
                                     ...                         ...
                                     an                          bm


                   Ej.: Una persona tiene un coche y un coche es de varias personas


© Bases de Datos / O.E.I../ U.P.M.




            Cardinalidad

                                               N:M
                     A               a1                          b1         B

                                     a2                          b2
                                     ...                         ...
                                     an                          bm


               Ej.:Una persona tiene varios coches y un coche es de varias personas


© Bases de Datos / O.E.I../ U.P.M.




                                                                                      7
Cardinalidad Mínima
                        • Número mínimo de ocurrencias de entidad
                          que se deben asociar a otra a través de
                          una relación
                        • Posibilidades: 0:0, 0:1, 1:0, 1:1

                                                (1,N)                  (0,1)
                                     Empleado             Trabaja en           Departamento




                          Nota: Hay que tener especial cuidado con las mínimas 1:1
© Bases de Datos / O.E.I../ U.P.M.




            Cardinalidad
                  n    Ej.:
                                            (1,M)                      (0,1)
                              Empleado                   Trabaja en            Departamento


                                                                                      (0,N)



                                                        Compañía                 Pertenece
                                                                       (1,1)



© Bases de Datos / O.E.I../ U.P.M.




                                                                                              8
Modelo Entidad-Relación
                      n    Clave de Entidad
                             • Atributo o conjunto de atributos que identifican
                               de forma única cada ocurrencia
                             • Si una entidad no tiene clave se dice que es
                               débil y que tiene dependencia de Identificación
                             • Una entidad es débil si depende de la
                               existencia de otra entidad




© Bases de Datos / O.E.I../ U.P.M.




            Claves
                  n    Dependencia de Identificación (ID) - La
                       entidad no tiene clave primaria
                                       C#

             Nombre
                                                                                    Código
                                               (1,1)           (0,M)
                                     Cliente           Tiene           Factura
             Domicilio                                                              Importe


                      Si la factura tiene códigos que se repiten por cliente, no tendrá
                                       clave, pero sí un discriminador
                           Facturas tiene dependencia de ID respecto de Cliente

© Bases de Datos / O.E.I../ U.P.M.




                                                                                              9
Claves
                  n    Dependencia de existencia - La
                       existencia de una ocurrencia de entidad
                       dependende de la existencia de otra
                                       C#

               Nombre
                                                                                 Código
                                               (1,1)           (0,M)
                                     Cliente           Tiene           Factura
               Domicilio                                                         Importe


                             Aunque Factura tenga clave, si se da de baja un
                              cliente hay que dar de baja todas sus facturas

© Bases de Datos / O.E.I../ U.P.M.




                       Modelo Entidad-Relación
                      n    Representación gráfica
                             • Entidades: rectángulos
                             • Atributos: incluidos en la entidad, o con elipses
                               conectadas a ésta
                             • Relaciones: rombos o hexágonos, uniendo las
                               entidades asociadas
                             • Cardinalidad: se detalla encima de las líneas
                               que asocian entidades


© Bases de Datos / O.E.I../ U.P.M.




                                                                                           10
Representación gráfica

                            Empleado

                             E#                                       Entidad con atributos
                             Nombre
                             Categoría



                             Trabaja
                                                                      Relación con atributos
                               Fecha




© Bases de Datos / O.E.I../ U.P.M.




            Ejemplo
                                         C#
                                                           Fecha
                 Nombre
                                                                                               Código
                                               (0,M)                (0,N)
                                     Cliente               Compra            Producto
                                               (0,N)                (0,M)                      Precio
                 Domicilio

                                                       (0,M) (0,N)
                                                                            E#
                                 (1,1)             (1,M)
         Departamento                    Trabaja           Empleado
                                                                            Nombre




        D#         Descripción

© Bases de Datos / O.E.I../ U.P.M.




                                                                                                        11
Modelo Entidad-Relación
                     n    Ejemplo (Requisitos)
                     n    Departamentos: código único por departamento y el nombre
                     n    Proyectos: código único por proyecto y nombre. Cada proyecto se
                          gestiona por un solo depto y un depto puede gestionar varios
                     n    Empleados: código único de empleado, nombre y apellidos, dirección,
                          teléfono, fecha de nacimiento, sexo, si está casado o no y sueldo que
                          percibe.
                     n    Un empleado pertenece a un solo depto y en un depto puede haber
                          varios empleados. Por otro lado cada departamento tiene un
                          empleado como jefe.
                     n    Los empleados pueden participar en varios proyectos y en un
                          proyecto pueden participar varios empleados, pero interesa saber el
                          tiempo (en horas) que dedica cada empleado a los proyectos en los
                          que participa.

© Bases de Datos / O.E.I../ U.P.M.




                         Modelo Entidad-Relación
                     n    Ejemplo (Diagrama Entidad-Relación)
                                     EMPLEADO                    PERTENECE
                                                         (1,N)
                                     E#                                         (1,1)
                                     Nombre                                             DEPARTAMENTO
                                     Apellidos
                                     Dirección                                           D#
                                     Telefono                                 (0,1)      NombreDep
                                     FechaNac                    ES JEFE DE
                                     Sexo                (1,1)
                                     Casado                                              (1,1)
                                     Sueldo

                                                 (0,N)                                     REALIZA




                                                                                        (0,N)
                                                                                         PROYECTO
                                          PARTICIPA
                                                                               (0,M)
                                                                                          P#
                                            Tiempo                                        NombreP



© Bases de Datos / O.E.I../ U.P.M.




                                                                                                       12
Modelo E/R: Restricciones
                     n    Si no se puede representar una relación
                          N:M, usar dos relaciones 1:M

                                     Cliente     (0,N)
                                                               Compra   (0,M)
                                                                                Producto

                                                               Fecha


                                     (1,1)
                           Cliente           Realiza       Detalle de (0,M)Aparece
                                                       (0,M)                         (1,1)
                                                                                             Producto
                                                            Compra


                                                               Fecha

© Bases de Datos / O.E.I../ U.P.M.




                      Modelo Relacional
                     n Está basado en la teoría de conjuntos y en
                       el concepto matemático de relación
                     n La estructura lógica principal son tablas o
                       relaciones
                     n Cada relación tiene un número fijo de
                       columnas o atributos (esquema o intensión)
                       y un número variable de filas o tuplas
                       (extensión)
                     n Una BD relacional está compuesta por
                       varias tablas o relaciones
© Bases de Datos / O.E.I../ U.P.M.




                                                                                                        13
Modelo Relacional
                  n    Ejemplo
                      Personas
                       DNI     Nombre Domicilio
                       38976         Pepe      Aquí
                       2145          María     Allí   Tiene
                       1234          Juan      Aquí     DNI   Matricula
                                                      38976    CC123
                     Coches                           2145     C8790
                    Matricula Modelo           Año    2145     M1234
                      M1234           Ford     1992
                      C8790          Citroen   1995
                      CC123           Ford     1989



© Bases de Datos / O.E.I../ U.P.M.




            Atributos
                  n Conjunto de símbolos tomados del
                    universo del modelo conceptual
                  n Se usan letras para representarlos:
                    A,B,C,...
                  n Descriptor: conjunto de uno o más
                    atributos (usaremos X,Y,Z,...)
                  n Cada atributo se asocia con un conjunto
                    de valores posibles que denominamos
                    dominio
© Bases de Datos / O.E.I../ U.P.M.




                                                                          14
Tupla, cardinalidad y grado
                                                 Atributo
                  n    Ejemplo:
                          R:         A1    A2       Ai      An
                 Tupla               a11   a12      a1j     a1n

                                     am1   am2     amj      amn


                  n Grado: Número de atributos
                  n Cardinalidad: Número de tuplas




© Bases de Datos / O.E.I../ U.P.M.




            Condiciones para relaciones (I)

                        • Cada tabla debe contener un solo tipo de
                          filas
                        • Cada fila debe ser única (sin repeticiones)
                        • Cada columna tiene un nombre único
                        • Cada columna tiene que ser única
                        • Cada columna toma su valor de un
                          dominio


© Bases de Datos / O.E.I../ U.P.M.




                                                                        15
Condiciones para relaciones (II)

                        • Un dominio puede ser común para
                          diferentes columnas
                        • Las filas pueden estar en cualquier orden
                        • Las columnas pueden estar en cualquiert
                          orden




© Bases de Datos / O.E.I../ U.P.M.




            Clave
                  n    Cada relación tendrá una combinación
                       de atributos que, tomados en conjunto,
                       identifican de forma única cada tupla.
                                     DNI   Nombre Domicilio   Teléfono
                                     321    Pepe     Aquí       987
                                     134    Pepe     Allí       789
                                     123    Juan     Allí       789

                        • Si tiene más de una, se elige la “principal”
                          y las demás serán “alternas”

© Bases de Datos / O.E.I../ U.P.M.




                                                                         16
Clave
                             • Al menos debe existir una clave
                             • Tipos de claves
                                     – Principal o primaria
                                     – Secundarias a alternas
                                     – Foráneas o externas

                                     – Simples
                                     – Compuestas
                        ATENCION a las reglas de integridad

© Bases de Datos / O.E.I../ U.P.M.




            Paso a Tablas (I)
                  n    Entidades
                        • Toda entidad se corresponde con una relación



                                                            Persona
                           Persona
                                                            DNI     Nombre   Domicilio
                      DNI
                      Nombre
                      Domicilio



                                                            DNI será la clave principal
© Bases de Datos / O.E.I../ U.P.M.




                                                                                          17
Paso a Tablas (II)
                n    Relaciones binarias
                       • Relación N:M
                          – Siempre será una tabla, con sus atributos + claves de
                                 entidades asociadas
                       • Relación 1:N ó N:1
                             – Añadir la clave de la tabla “uno” a la tabla “muchos” +
                               atributos de la relación (si procede)
                       • Relación 1:1
                             – Si mínima es 1:1:
                                     • Añadir la clave de una tabla cualquiera a la otra tabla +
                                       atributos de la relación (si procede)
                             – Si mínima es 0:1 ó 1:0:
                                     • Añadir la clave de la tabla “uno” a la tabla “cero” +
                                       atributos de la relación (si procede)
© Bases de Datos / O.E.I../ U.P.M.




            Paso a Tablas (III)

                 n    Relaciones ternarias y n-arias
                        • Estudiar las relaciones de dos en dos y aplicar las
                          reglas de relaciones binarias
                        • Atención: se puede mejorar el diseño estudiando
                          redundancias




© Bases de Datos / O.E.I../ U.P.M.




                                                                                                   18
Ejemplo
                           Cliente                        Empleado
                           C#        NombreDomicilio        E#   Nombre   D#



                        Producto                          Departamento
                         Código Precio                     D# Descripción



                                          Compra
                                           C#      E#   Código Fecha



© Bases de Datos / O.E.I../ U.P.M.




                       Ejemplo (II)
                 EMPLEADO (E#, Nombre, Apellidos, Dirección, Telefono,
                                FechaNac, Sexo, Casado, Sueldo, D# )


                                                DEPARTAMENTO ( D#, NombreDep, E#


                                                 PROYECTO (P#, NombreP, D# )


                 PARTICIPA (E#, P#, Tiempo )


© Bases de Datos / O.E.I../ U.P.M.




                                                                                   19

Weitere ähnliche Inhalte

Was ist angesagt? (20)

Bases de datos jerarquicas
Bases de datos jerarquicasBases de datos jerarquicas
Bases de datos jerarquicas
 
1. modelo entidad relacion ejemplo
1. modelo entidad relacion   ejemplo1. modelo entidad relacion   ejemplo
1. modelo entidad relacion ejemplo
 
Tarjetas CRC
Tarjetas CRCTarjetas CRC
Tarjetas CRC
 
Ejercicios Modelo Entidad Asociación
Ejercicios Modelo Entidad AsociaciónEjercicios Modelo Entidad Asociación
Ejercicios Modelo Entidad Asociación
 
cc302modulo2
cc302modulo2cc302modulo2
cc302modulo2
 
PASO DEL MODELO E/R AL MODELO RELACIONAL
PASO DEL MODELO E/R AL MODELO RELACIONALPASO DEL MODELO E/R AL MODELO RELACIONAL
PASO DEL MODELO E/R AL MODELO RELACIONAL
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Atributos y cardinalidad
Atributos y cardinalidadAtributos y cardinalidad
Atributos y cardinalidad
 
Base de datos
Base de datosBase de datos
Base de datos
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacion
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Ejercicios de entidad relacion extendida
Ejercicios de entidad relacion extendidaEjercicios de entidad relacion extendida
Ejercicios de entidad relacion extendida
 
Metodologiasad 1
Metodologiasad 1Metodologiasad 1
Metodologiasad 1
 
Database schema
Database schemaDatabase schema
Database schema
 
Unidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de DatosUnidad 1. Fundamentos de Base de Datos
Unidad 1. Fundamentos de Base de Datos
 
03 Modelo Relacional
03 Modelo Relacional03 Modelo Relacional
03 Modelo Relacional
 
Entidad Relación Banco
Entidad Relación BancoEntidad Relación Banco
Entidad Relación Banco
 
3 modelo er
3 modelo er3 modelo er
3 modelo er
 

Ähnlich wie Entidad relacion

Ähnlich wie Entidad relacion (15)

diseño logico de base de datos
diseño logico de base de datosdiseño logico de base de datos
diseño logico de base de datos
 
Base de datos entidad relacion
Base de datos entidad relacionBase de datos entidad relacion
Base de datos entidad relacion
 
Basesdedatos
BasesdedatosBasesdedatos
Basesdedatos
 
Dise O Logico Bdd
Dise O Logico BddDise O Logico Bdd
Dise O Logico Bdd
 
Modelo Entidad Relacion
Modelo Entidad RelacionModelo Entidad Relacion
Modelo Entidad Relacion
 
02 M Conceptual
02 M Conceptual02 M Conceptual
02 M Conceptual
 
Resumen Bd I
Resumen Bd IResumen Bd I
Resumen Bd I
 
Base de datos
Base de datosBase de datos
Base de datos
 
Modelo entidad-relación, Modelo de Datos
 Modelo entidad-relación, Modelo de Datos Modelo entidad-relación, Modelo de Datos
Modelo entidad-relación, Modelo de Datos
 
Unidad ii. base de datos
Unidad ii. base de datosUnidad ii. base de datos
Unidad ii. base de datos
 
Base de Datos (UPS)
Base de Datos (UPS)Base de Datos (UPS)
Base de Datos (UPS)
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Modelo er
Modelo erModelo er
Modelo er
 
Modelo E-R.pdf
Modelo E-R.pdfModelo E-R.pdf
Modelo E-R.pdf
 

Mehr von univ of pamplona

Exposicion unidad 1 ing software
Exposicion unidad 1 ing softwareExposicion unidad 1 ing software
Exposicion unidad 1 ing softwareuniv of pamplona
 
2. presentacion acis calidad software basado en normas calidad
2. presentacion acis calidad software basado en normas calidad2. presentacion acis calidad software basado en normas calidad
2. presentacion acis calidad software basado en normas calidaduniv of pamplona
 
Arquitectura de una aplicación
Arquitectura de una aplicaciónArquitectura de una aplicación
Arquitectura de una aplicaciónuniv of pamplona
 
Ejemplo arquitectura 3 capas con access
Ejemplo arquitectura 3 capas con accessEjemplo arquitectura 3 capas con access
Ejemplo arquitectura 3 capas con accessuniv of pamplona
 
2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_software2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_softwareuniv of pamplona
 
1 lectura inicial - que es ingenieria de software
1  lectura inicial - que es ingenieria de software1  lectura inicial - que es ingenieria de software
1 lectura inicial - que es ingenieria de softwareuniv of pamplona
 
2. requerimientos del software
2. requerimientos del software2. requerimientos del software
2. requerimientos del softwareuniv of pamplona
 

Mehr von univ of pamplona (13)

Exposicion unidad 1 ing software
Exposicion unidad 1 ing softwareExposicion unidad 1 ing software
Exposicion unidad 1 ing software
 
2. presentacion acis calidad software basado en normas calidad
2. presentacion acis calidad software basado en normas calidad2. presentacion acis calidad software basado en normas calidad
2. presentacion acis calidad software basado en normas calidad
 
Arquitectura de una aplicación
Arquitectura de una aplicaciónArquitectura de una aplicación
Arquitectura de una aplicación
 
Ejemplo arquitectura 3 capas con access
Ejemplo arquitectura 3 capas con accessEjemplo arquitectura 3 capas con access
Ejemplo arquitectura 3 capas con access
 
Arquitectura multicapa
Arquitectura multicapaArquitectura multicapa
Arquitectura multicapa
 
4 ppt tema1
4 ppt tema14 ppt tema1
4 ppt tema1
 
2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_software2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_software
 
1. curso unal cap1
1. curso unal cap11. curso unal cap1
1. curso unal cap1
 
1 lectura inicial - que es ingenieria de software
1  lectura inicial - que es ingenieria de software1  lectura inicial - que es ingenieria de software
1 lectura inicial - que es ingenieria de software
 
Espe tecnicas siia_2
Espe tecnicas siia_2Espe tecnicas siia_2
Espe tecnicas siia_2
 
Entrevistas
EntrevistasEntrevistas
Entrevistas
 
2. requerimientos del software
2. requerimientos del software2. requerimientos del software
2. requerimientos del software
 
1. curso unal cap1
1. curso unal cap11. curso unal cap1
1. curso unal cap1
 

Entidad relacion

  • 1. Modelos de Datos Diseño Lógico de Bases de Datos n Modelo Entidad/Relación n Modelo Relacional n Paso a tablas © Bases de Datos / O.E.I../ U.P.M. Modelo Entidad-Relación n Formulado por P.P. Chen en 1976 n Modelo de datos que representa un esquema de base de datos mediante entidades y asociaciones n Describe una base de datos de una forma sencilla y global n Se realiza a partir de los requisitos de datos que debe cumplir una base de datos © Bases de Datos / O.E.I../ U.P.M. 1
  • 2. Entidades n Entidad • Objeto del mundo real que tiene existencia pos sí mismo • Compuesto de ocurrencias de entidad • Ejemplo – Entidad Clientes – Cliente “Pepe Perez” con DNI “12345678” • Atributos: definen las propiedades de una entidad, basados en un dominio (conjunto de valores posibles que puede tomar) © Bases de Datos / O.E.I../ U.P.M. Entidades n Atributo - Característica propia de una entidad, común para todas las ocurrencias del mismo tipo n Dominio - Conjunto de valores permitidos para un atributo n Para cada atributo hay que definir: • Nombre Descripción Dominio Función (identificación o definición) © Bases de Datos / O.E.I../ U.P.M. 2
  • 3. Entidades n Ejemplo: n Entidad: Empleado Nombre de atributo: Código • Descripción: Código único por empleado asignado por la empresa • Función: Identificación (+Definición) • Dominio: Números positivos de dos cifras © Bases de Datos / O.E.I../ U.P.M. Entidades María Anguiano Sucursal Barcelona DNI: 36061281 Código: 02 Gran Vía 9 Ocurrencias de entidad DNI Código Empleado Departamentos Domicilio Descrip. Nombre Entidades © Bases de Datos / O.E.I../ U.P.M. 3
  • 4. Modelo Entidad-Relación n Relación o Asociación • Expresa una asociación entre ocurrencias de entidad • Puede tener atributos propios • Grado: número de entidades que asocia • Cardinalidad: – número de ocurrencias de una entidad que pueden asociarse con otra entidad – Máxima - 1:1, 1:N, N:1, N:M – Mínima - 0:0, 1:0, 0:1, 1:1 © Bases de Datos / O.E.I../ U.P.M. Relaciones n Conjunto de ocurrencias de relación del mismo tipo Empleado Trabaja en Departamento © Bases de Datos / O.E.I../ U.P.M. 4
  • 5. Relaciones n Las relaciones también pueden tener atributos Cliente Compra Producto Fecha © Bases de Datos / O.E.I../ U.P.M. Relaciones n Es importante el “rol” o “papel” de cada ocurrencia Jefe Empleado Es Jefe de Subordinado n Se denomina grado de una relación al número de entidades que relaciona © Bases de Datos / O.E.I../ U.P.M. 5
  • 6. Cardinalidad Máxima • Número de ocurrencias de entidad que se pueden asociar como máximo a otra a través de una relación 1:1 A a1 b1 B a2 b2 ... ... an bm Ej.:Una persona tiene un coche y un coche es de una sola persona © Bases de Datos / O.E.I../ U.P.M. Cardinalidad 1:N A a1 b1 B a2 b2 ... ... an bm Ej.:Una persona tiene varios coches y un coche es de una sola persona © Bases de Datos / O.E.I../ U.P.M. 6
  • 7. Cardinalidad N:1 A a1 b1 B a2 b2 ... ... an bm Ej.: Una persona tiene un coche y un coche es de varias personas © Bases de Datos / O.E.I../ U.P.M. Cardinalidad N:M A a1 b1 B a2 b2 ... ... an bm Ej.:Una persona tiene varios coches y un coche es de varias personas © Bases de Datos / O.E.I../ U.P.M. 7
  • 8. Cardinalidad Mínima • Número mínimo de ocurrencias de entidad que se deben asociar a otra a través de una relación • Posibilidades: 0:0, 0:1, 1:0, 1:1 (1,N) (0,1) Empleado Trabaja en Departamento Nota: Hay que tener especial cuidado con las mínimas 1:1 © Bases de Datos / O.E.I../ U.P.M. Cardinalidad n Ej.: (1,M) (0,1) Empleado Trabaja en Departamento (0,N) Compañía Pertenece (1,1) © Bases de Datos / O.E.I../ U.P.M. 8
  • 9. Modelo Entidad-Relación n Clave de Entidad • Atributo o conjunto de atributos que identifican de forma única cada ocurrencia • Si una entidad no tiene clave se dice que es débil y que tiene dependencia de Identificación • Una entidad es débil si depende de la existencia de otra entidad © Bases de Datos / O.E.I../ U.P.M. Claves n Dependencia de Identificación (ID) - La entidad no tiene clave primaria C# Nombre Código (1,1) (0,M) Cliente Tiene Factura Domicilio Importe Si la factura tiene códigos que se repiten por cliente, no tendrá clave, pero sí un discriminador Facturas tiene dependencia de ID respecto de Cliente © Bases de Datos / O.E.I../ U.P.M. 9
  • 10. Claves n Dependencia de existencia - La existencia de una ocurrencia de entidad dependende de la existencia de otra C# Nombre Código (1,1) (0,M) Cliente Tiene Factura Domicilio Importe Aunque Factura tenga clave, si se da de baja un cliente hay que dar de baja todas sus facturas © Bases de Datos / O.E.I../ U.P.M. Modelo Entidad-Relación n Representación gráfica • Entidades: rectángulos • Atributos: incluidos en la entidad, o con elipses conectadas a ésta • Relaciones: rombos o hexágonos, uniendo las entidades asociadas • Cardinalidad: se detalla encima de las líneas que asocian entidades © Bases de Datos / O.E.I../ U.P.M. 10
  • 11. Representación gráfica Empleado E# Entidad con atributos Nombre Categoría Trabaja Relación con atributos Fecha © Bases de Datos / O.E.I../ U.P.M. Ejemplo C# Fecha Nombre Código (0,M) (0,N) Cliente Compra Producto (0,N) (0,M) Precio Domicilio (0,M) (0,N) E# (1,1) (1,M) Departamento Trabaja Empleado Nombre D# Descripción © Bases de Datos / O.E.I../ U.P.M. 11
  • 12. Modelo Entidad-Relación n Ejemplo (Requisitos) n Departamentos: código único por departamento y el nombre n Proyectos: código único por proyecto y nombre. Cada proyecto se gestiona por un solo depto y un depto puede gestionar varios n Empleados: código único de empleado, nombre y apellidos, dirección, teléfono, fecha de nacimiento, sexo, si está casado o no y sueldo que percibe. n Un empleado pertenece a un solo depto y en un depto puede haber varios empleados. Por otro lado cada departamento tiene un empleado como jefe. n Los empleados pueden participar en varios proyectos y en un proyecto pueden participar varios empleados, pero interesa saber el tiempo (en horas) que dedica cada empleado a los proyectos en los que participa. © Bases de Datos / O.E.I../ U.P.M. Modelo Entidad-Relación n Ejemplo (Diagrama Entidad-Relación) EMPLEADO PERTENECE (1,N) E# (1,1) Nombre DEPARTAMENTO Apellidos Dirección D# Telefono (0,1) NombreDep FechaNac ES JEFE DE Sexo (1,1) Casado (1,1) Sueldo (0,N) REALIZA (0,N) PROYECTO PARTICIPA (0,M) P# Tiempo NombreP © Bases de Datos / O.E.I../ U.P.M. 12
  • 13. Modelo E/R: Restricciones n Si no se puede representar una relación N:M, usar dos relaciones 1:M Cliente (0,N) Compra (0,M) Producto Fecha (1,1) Cliente Realiza Detalle de (0,M)Aparece (0,M) (1,1) Producto Compra Fecha © Bases de Datos / O.E.I../ U.P.M. Modelo Relacional n Está basado en la teoría de conjuntos y en el concepto matemático de relación n La estructura lógica principal son tablas o relaciones n Cada relación tiene un número fijo de columnas o atributos (esquema o intensión) y un número variable de filas o tuplas (extensión) n Una BD relacional está compuesta por varias tablas o relaciones © Bases de Datos / O.E.I../ U.P.M. 13
  • 14. Modelo Relacional n Ejemplo Personas DNI Nombre Domicilio 38976 Pepe Aquí 2145 María Allí Tiene 1234 Juan Aquí DNI Matricula 38976 CC123 Coches 2145 C8790 Matricula Modelo Año 2145 M1234 M1234 Ford 1992 C8790 Citroen 1995 CC123 Ford 1989 © Bases de Datos / O.E.I../ U.P.M. Atributos n Conjunto de símbolos tomados del universo del modelo conceptual n Se usan letras para representarlos: A,B,C,... n Descriptor: conjunto de uno o más atributos (usaremos X,Y,Z,...) n Cada atributo se asocia con un conjunto de valores posibles que denominamos dominio © Bases de Datos / O.E.I../ U.P.M. 14
  • 15. Tupla, cardinalidad y grado Atributo n Ejemplo: R: A1 A2 Ai An Tupla a11 a12 a1j a1n am1 am2 amj amn n Grado: Número de atributos n Cardinalidad: Número de tuplas © Bases de Datos / O.E.I../ U.P.M. Condiciones para relaciones (I) • Cada tabla debe contener un solo tipo de filas • Cada fila debe ser única (sin repeticiones) • Cada columna tiene un nombre único • Cada columna tiene que ser única • Cada columna toma su valor de un dominio © Bases de Datos / O.E.I../ U.P.M. 15
  • 16. Condiciones para relaciones (II) • Un dominio puede ser común para diferentes columnas • Las filas pueden estar en cualquier orden • Las columnas pueden estar en cualquiert orden © Bases de Datos / O.E.I../ U.P.M. Clave n Cada relación tendrá una combinación de atributos que, tomados en conjunto, identifican de forma única cada tupla. DNI Nombre Domicilio Teléfono 321 Pepe Aquí 987 134 Pepe Allí 789 123 Juan Allí 789 • Si tiene más de una, se elige la “principal” y las demás serán “alternas” © Bases de Datos / O.E.I../ U.P.M. 16
  • 17. Clave • Al menos debe existir una clave • Tipos de claves – Principal o primaria – Secundarias a alternas – Foráneas o externas – Simples – Compuestas ATENCION a las reglas de integridad © Bases de Datos / O.E.I../ U.P.M. Paso a Tablas (I) n Entidades • Toda entidad se corresponde con una relación Persona Persona DNI Nombre Domicilio DNI Nombre Domicilio DNI será la clave principal © Bases de Datos / O.E.I../ U.P.M. 17
  • 18. Paso a Tablas (II) n Relaciones binarias • Relación N:M – Siempre será una tabla, con sus atributos + claves de entidades asociadas • Relación 1:N ó N:1 – Añadir la clave de la tabla “uno” a la tabla “muchos” + atributos de la relación (si procede) • Relación 1:1 – Si mínima es 1:1: • Añadir la clave de una tabla cualquiera a la otra tabla + atributos de la relación (si procede) – Si mínima es 0:1 ó 1:0: • Añadir la clave de la tabla “uno” a la tabla “cero” + atributos de la relación (si procede) © Bases de Datos / O.E.I../ U.P.M. Paso a Tablas (III) n Relaciones ternarias y n-arias • Estudiar las relaciones de dos en dos y aplicar las reglas de relaciones binarias • Atención: se puede mejorar el diseño estudiando redundancias © Bases de Datos / O.E.I../ U.P.M. 18
  • 19. Ejemplo Cliente Empleado C# NombreDomicilio E# Nombre D# Producto Departamento Código Precio D# Descripción Compra C# E# Código Fecha © Bases de Datos / O.E.I../ U.P.M. Ejemplo (II) EMPLEADO (E#, Nombre, Apellidos, Dirección, Telefono, FechaNac, Sexo, Casado, Sueldo, D# ) DEPARTAMENTO ( D#, NombreDep, E# PROYECTO (P#, NombreP, D# ) PARTICIPA (E#, P#, Tiempo ) © Bases de Datos / O.E.I../ U.P.M. 19