SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Sistemas de Información II
Tema 3. El modelo
entidad-relación
Bibliografía:
Elmasri y Navathe: “Fundamentos de Sistemas de Bases de
  Datos”
      3ª edición, 2002 (Capítulo 3).
Garcia-Molina, Ullman y Widom: “Database systems: the
  complete book”. Prentice-Hall (Capítulo 2).

                       Carlos Castillo
                         UPF – 2007

                                                          1
Análisis de requerimientos
Requisitos funcionales
  ¿Qué debe hacer el sistema?
  Transacciones
Requisitos de datos
  ¿Qué debe almacenar el sistema?
    Pensar en el futuro
  Tipos de dato
  Esquema de datos
  Diseño lógico -> tablas

                                    2
Tolerancia a cambios
Nombre de un cliente
 ¿1 Nombre y 1 Apellido?
 ¿Y si tiene 2 nombres? ¿3 nombres?
 ¿Y si su apellido usa un “-” y es muy largo?
 ¿Y si cambia de nombre en el futuro?
   Debe permitir lectura/escritura sin alterar la BD
 ¿Y si hay otra persona con el mismo
 nombre?
   No puede ser identificador único
 ¿Y si se trata de una cuenta bipersonal?
   ¿Cliente y persona no son lo mismo?                 3
Tolerancia a cambios (cont.)
Estructura geográfica varía
  País > Comunidad > Municipio > Ciudad
  País > Estado > Provincia > Municipio >
  Ciudad
  País > Región > Ciudad
  País > Ciudad
  ...




                                            4
Diagramas entidad­relación
Describen el esquema de una base de
datos
  Recordemos: estado de la base de datos es la
  descripción de los datos que tiene ahora
Entidades
  Rectángulos, representan objetos reales
Atributos
  Óvalos, representan propiedades de estos
  objetos
Relaciones
  Rombos, representan enlaces                5
Ejemplo diagrama E­R

                    Año                                 Apellido
Nombre                               Nombre


         Película                              Actor
                          Actúa




                          Produce             Estudio



                                                   Dirección
                                    Nombre




                                                                   6
Entidades

           Año                             Apellido
Nombre                       Nombre


    Película                          Actor
                   Actúa




                                 Estudio
                  Produce



                                         Dirección
                            Nombre




                                                      7
Atributos

                Año              Nombre Apellido
Nombre

     Película                           Actor
                        Actúa




                       Produce         Estudio



                                 Nombre Dirección


                                                    8
Relaciones

                    Año                                  Apellido
Nombre                                Nombre


                            Actúa
         Película                               Actor




                           Produce             Estudio



                                                    Dirección
                                     Nombre




                                                                    9
Ejemplo complejo




                   10
Tipos de atributo
Atributos atómicos o compuestos
                                 PrimerNombre
                    Nombre
                                    Apellido

                                                 Calle
  Persona
                               Dirección
                   Domicilio
                                                Número

                                                 Piso
       FechaNacimiento          Ciudad
                                                Puerta
    Día     Mes      Año


                                  País


                                                         11
Tipos de atributo (cont.)
Valores
 Monovaluados (ej.: edad)
 Multivaluados (ej.: teléfonos)
Almacenados o derivados
 Ej.: la edad de una persona es casi
 siempre un atributo derivado de la fecha
 de nacimiento
Posiblemente nulos
 Cuando un atributo se puede dejar “en
 blanco”
Claves
                                              12
 Permiten localizar una entidad, son únicos
Atributos clave: subrayados

                    Año                                 Apellido
Nombre                               Nombre


         Película                              Actor
                          Actúa


id_película                           DNI




                          Produce             Estudio



                                                   Dirección
                                    Nombre


                                            id_estudio

                                                                   13
Relaciones
Tipo de relación
  Ejemplo: es_jefe_de, participar_en_curso
Instancia de relación
  Juan es_jefe_de Pedro
Grado de una relación
  Número de entidades que participan
  Binario, terciario, etc.



                                             14
Cardinalidad de una relación

             1             1
  Persona                      Departamento
                 Dirige




             N             1
  Persona                      Departamento
                 Trabaja




             N             N
  Película                         Actor
                  Actúa


                                              15
Relaciones como atributos

                     Año                                     Apellido
Nombre                                    Nombre


         Película                                    Actor
                                 Actúa


id_película         id_estudio             DNI



   ¿En qué casos es posible
                                                   Estudio
   poner un vínculo como un
   atributo?
                                                         Dirección
                                         Nombre


                                                  id_estudio

                                                                        16
Relaciones con atributos

                     Año                                   Apellido
Nombre                                    Nombre


         Película                                  Actor
                                 Actúa


id_película         id_estudio             DNI


                                    Rol




                                                                      17
Relaciones ternarias

                     Año                                                 Apellido
Nombre                                                  Nombre


         Película                                                Actor
                                          Actúa

id_película         id_estudio                           DNI




                                      Personaje


                                 Nombre           Rol




                                                                                    18
Disminuir grado a una relación
                          Moneda              Monto



                                   Salario




Nombre              Año                               Nombre           Apellido



         Película                  Contrato                    Actor




                                   Estudio


                                         Nombre

                                                                                  19
Reemplazar por relación binaria
    y por una entidad extra
                    Salario



                   Asignado
                                      Actor



           Actúa   Contrato   Firma



Película
                   Nómina



                   Estudio

                                              20
Relaciones recursivas

 Nombre    Apellido         DNI


                                     Relación recursiva,
              Persona
                                     puede tener restricciones
                                     no especificadas en el
                                     diagrama (ej.: evitar
                                     cadenas circulares)
Supervisado             Supervisor
                                     Requiere un nombre (rol)
                                     en el vínculo
          Supervisor_de




                                                            21
Restricciones en relaciones
Cardinalidad
  1:1
    PERSONA es_director_de_departamento DEPTO
  1:N
    PERSONA trabaja_en_departamento DEPTO
  N:N
    ALUMNO inscrito_en_curso CURSO
Restricción de participación
  Total: todas las personas deben tener un
  depto
  Parcial: no es necesario                      22
Entidades débiles y fuertes
Entidad débil
  No tienen atributos clave propios
  Necesitan otra entidad para ser
  identificados
Entidad fuerte
  Si tienen clave propia
 Nombre                                Ciudad


          Persona    Vive             Domicilio


  DNI                                           Número
                              Calle


                                                         23
Ejemplo: pisos
(en la Web)




                          24
Resumen
Entidades
Atributos
Relaciones
Diagramas entidad-relación




                             25

Weitere ähnliche Inhalte

Was ist angesagt?

Análisis estructurado y análisis orientado a objeto
Análisis estructurado y análisis orientado a objetoAnálisis estructurado y análisis orientado a objeto
Análisis estructurado y análisis orientado a objeto
MariaCapuzzo
 
Base de datos modelo entidad relacion
Base de datos modelo entidad relacionBase de datos modelo entidad relacion
Base de datos modelo entidad relacion
Fco Javier Rodriguez
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
oswchavez
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
still01
 
Objeto relacional bases datos 2
Objeto relacional bases datos 2Objeto relacional bases datos 2
Objeto relacional bases datos 2
Velmuz Buzz
 
Modelo entidad relación de base de datos
Modelo entidad relación de base de datosModelo entidad relación de base de datos
Modelo entidad relación de base de datos
ani_tuza
 

Was ist angesagt? (20)

Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Análisis estructurado y análisis orientado a objeto
Análisis estructurado y análisis orientado a objetoAnálisis estructurado y análisis orientado a objeto
Análisis estructurado y análisis orientado a objeto
 
Base de datos modelo entidad relacion
Base de datos modelo entidad relacionBase de datos modelo entidad relacion
Base de datos modelo entidad relacion
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De Datos
 
Objeto relacional bases datos 2
Objeto relacional bases datos 2Objeto relacional bases datos 2
Objeto relacional bases datos 2
 
Modelo entidad relación de base de datos
Modelo entidad relación de base de datosModelo entidad relación de base de datos
Modelo entidad relación de base de datos
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
Bases de datos deductivas
Bases de datos deductivas Bases de datos deductivas
Bases de datos deductivas
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datos
 
Fundamentos de programación librería string C++
Fundamentos de programación librería string C++Fundamentos de programación librería string C++
Fundamentos de programación librería string C++
 
Memoria Estatica
Memoria EstaticaMemoria Estatica
Memoria Estatica
 
Modelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetosModelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetos
 
Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2
 
Modelo Entidad Relacion E-R
Modelo Entidad Relacion E-RModelo Entidad Relacion E-R
Modelo Entidad Relacion E-R
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 

Mehr von Carlos Castillo (ChaTo)

Mehr von Carlos Castillo (ChaTo) (20)

Finding High Quality Content in Social Media
Finding High Quality Content in Social MediaFinding High Quality Content in Social Media
Finding High Quality Content in Social Media
 
When no clicks are good news
When no clicks are good newsWhen no clicks are good news
When no clicks are good news
 
Socia Media and Digital Volunteering in Disaster Management @ DSEM 2017
Socia Media and Digital Volunteering in Disaster Management @ DSEM 2017Socia Media and Digital Volunteering in Disaster Management @ DSEM 2017
Socia Media and Digital Volunteering in Disaster Management @ DSEM 2017
 
Detecting Algorithmic Bias (keynote at DIR 2016)
Detecting Algorithmic Bias (keynote at DIR 2016)Detecting Algorithmic Bias (keynote at DIR 2016)
Detecting Algorithmic Bias (keynote at DIR 2016)
 
Discrimination Discovery
Discrimination DiscoveryDiscrimination Discovery
Discrimination Discovery
 
Fairness-Aware Data Mining
Fairness-Aware Data MiningFairness-Aware Data Mining
Fairness-Aware Data Mining
 
Big Crisis Data for ISPC
Big Crisis Data for ISPCBig Crisis Data for ISPC
Big Crisis Data for ISPC
 
Databeers: Big Crisis Data
Databeers: Big Crisis DataDatabeers: Big Crisis Data
Databeers: Big Crisis Data
 
Observational studies in social media
Observational studies in social mediaObservational studies in social media
Observational studies in social media
 
Natural experiments
Natural experimentsNatural experiments
Natural experiments
 
Content-based link prediction
Content-based link predictionContent-based link prediction
Content-based link prediction
 
Link prediction
Link predictionLink prediction
Link prediction
 
Recommender Systems
Recommender SystemsRecommender Systems
Recommender Systems
 
Graph Partitioning and Spectral Methods
Graph Partitioning and Spectral MethodsGraph Partitioning and Spectral Methods
Graph Partitioning and Spectral Methods
 
Finding Dense Subgraphs
Finding Dense SubgraphsFinding Dense Subgraphs
Finding Dense Subgraphs
 
Graph Evolution Models
Graph Evolution ModelsGraph Evolution Models
Graph Evolution Models
 
Link-Based Ranking
Link-Based RankingLink-Based Ranking
Link-Based Ranking
 
Text Indexing / Inverted Indices
Text Indexing / Inverted IndicesText Indexing / Inverted Indices
Text Indexing / Inverted Indices
 
Indexing
IndexingIndexing
Indexing
 
Text Summarization
Text SummarizationText Summarization
Text Summarization
 

Bases de Datos - Parte 3/10 Modelo ER

  • 1. Sistemas de Información II Tema 3. El modelo entidad-relación Bibliografía: Elmasri y Navathe: “Fundamentos de Sistemas de Bases de Datos” 3ª edición, 2002 (Capítulo 3). Garcia-Molina, Ullman y Widom: “Database systems: the complete book”. Prentice-Hall (Capítulo 2). Carlos Castillo UPF – 2007 1
  • 2. Análisis de requerimientos Requisitos funcionales ¿Qué debe hacer el sistema? Transacciones Requisitos de datos ¿Qué debe almacenar el sistema? Pensar en el futuro Tipos de dato Esquema de datos Diseño lógico -> tablas 2
  • 3. Tolerancia a cambios Nombre de un cliente ¿1 Nombre y 1 Apellido? ¿Y si tiene 2 nombres? ¿3 nombres? ¿Y si su apellido usa un “-” y es muy largo? ¿Y si cambia de nombre en el futuro? Debe permitir lectura/escritura sin alterar la BD ¿Y si hay otra persona con el mismo nombre? No puede ser identificador único ¿Y si se trata de una cuenta bipersonal? ¿Cliente y persona no son lo mismo? 3
  • 4. Tolerancia a cambios (cont.) Estructura geográfica varía País > Comunidad > Municipio > Ciudad País > Estado > Provincia > Municipio > Ciudad País > Región > Ciudad País > Ciudad ... 4
  • 5. Diagramas entidad­relación Describen el esquema de una base de datos Recordemos: estado de la base de datos es la descripción de los datos que tiene ahora Entidades Rectángulos, representan objetos reales Atributos Óvalos, representan propiedades de estos objetos Relaciones Rombos, representan enlaces 5
  • 6. Ejemplo diagrama E­R Año Apellido Nombre Nombre Película Actor Actúa Produce Estudio Dirección Nombre 6
  • 7. Entidades Año Apellido Nombre Nombre Película Actor Actúa Estudio Produce Dirección Nombre 7
  • 8. Atributos Año Nombre Apellido Nombre Película Actor Actúa Produce Estudio Nombre Dirección 8
  • 9. Relaciones Año Apellido Nombre Nombre Actúa Película Actor Produce Estudio Dirección Nombre 9
  • 11. Tipos de atributo Atributos atómicos o compuestos PrimerNombre Nombre Apellido Calle Persona Dirección Domicilio Número Piso FechaNacimiento Ciudad Puerta Día Mes Año País 11
  • 12. Tipos de atributo (cont.) Valores Monovaluados (ej.: edad) Multivaluados (ej.: teléfonos) Almacenados o derivados Ej.: la edad de una persona es casi siempre un atributo derivado de la fecha de nacimiento Posiblemente nulos Cuando un atributo se puede dejar “en blanco” Claves 12 Permiten localizar una entidad, son únicos
  • 13. Atributos clave: subrayados Año Apellido Nombre Nombre Película Actor Actúa id_película DNI Produce Estudio Dirección Nombre id_estudio 13
  • 14. Relaciones Tipo de relación Ejemplo: es_jefe_de, participar_en_curso Instancia de relación Juan es_jefe_de Pedro Grado de una relación Número de entidades que participan Binario, terciario, etc. 14
  • 15. Cardinalidad de una relación 1 1 Persona Departamento Dirige N 1 Persona Departamento Trabaja N N Película Actor Actúa 15
  • 16. Relaciones como atributos Año Apellido Nombre Nombre Película Actor Actúa id_película id_estudio DNI ¿En qué casos es posible Estudio poner un vínculo como un atributo? Dirección Nombre id_estudio 16
  • 17. Relaciones con atributos Año Apellido Nombre Nombre Película Actor Actúa id_película id_estudio DNI Rol 17
  • 18. Relaciones ternarias Año Apellido Nombre Nombre Película Actor Actúa id_película id_estudio DNI Personaje Nombre Rol 18
  • 19. Disminuir grado a una relación Moneda Monto Salario Nombre Año Nombre Apellido Película Contrato Actor Estudio Nombre 19
  • 20. Reemplazar por relación binaria y por una entidad extra Salario Asignado Actor Actúa Contrato Firma Película Nómina Estudio 20
  • 21. Relaciones recursivas Nombre Apellido DNI Relación recursiva, Persona puede tener restricciones no especificadas en el diagrama (ej.: evitar cadenas circulares) Supervisado Supervisor Requiere un nombre (rol) en el vínculo Supervisor_de 21
  • 22. Restricciones en relaciones Cardinalidad 1:1 PERSONA es_director_de_departamento DEPTO 1:N PERSONA trabaja_en_departamento DEPTO N:N ALUMNO inscrito_en_curso CURSO Restricción de participación Total: todas las personas deben tener un depto Parcial: no es necesario 22
  • 23. Entidades débiles y fuertes Entidad débil No tienen atributos clave propios Necesitan otra entidad para ser identificados Entidad fuerte Si tienen clave propia Nombre Ciudad Persona Vive Domicilio DNI Número Calle 23