SlideShare una empresa de Scribd logo
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

Más contenido relacionado

La actualidad más candente

Modelado del análisis
Modelado del análisisModelado del análisis
Modelado del análisis
Javier Rivera
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacionoswchavez
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalLuis Jherry
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
Fani Calle
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
Cristian Salazar C.
 
Algebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosAlgebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosJosepSalvadorSotoObregon
 
3. Modelo ER - Relacional
3. Modelo ER - Relacional3. Modelo ER - Relacional
3. Modelo ER - Relacional
MSc Aldo Valdez Alvarado
 
Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2
David Motta Baldarrago
 
IMPLEMENTACION DE UNA BASE DE DATOS
IMPLEMENTACION DE UNA BASE DE DATOS IMPLEMENTACION DE UNA BASE DE DATOS
IMPLEMENTACION DE UNA BASE DE DATOS
Paul steven Quiñonez
 
Requerimientos funcionales y no del sistema MARC21
Requerimientos funcionales y no del sistema MARC21Requerimientos funcionales y no del sistema MARC21
Requerimientos funcionales y no del sistema MARC21
cirilor23
 
Modelo Entidad Relacion
Modelo Entidad RelacionModelo Entidad Relacion
Modelo relacional y reglas de integridad
Modelo relacional y reglas de integridadModelo relacional y reglas de integridad
Modelo relacional y reglas de integridad
kamui002
 
Diccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónDiccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de información
Yaskelly Yedra
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
innovalabcun
 
Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetos
alcrrsc
 
El modelo entidad_relacion
El modelo entidad_relacionEl modelo entidad_relacion
El modelo entidad_relacion
Luis Lucho
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
Sergio Sanchez
 
Cuadro comparativo base de datos
Cuadro comparativo base de datosCuadro comparativo base de datos
Cuadro comparativo base de datos
Ana1Alvarado
 
Uml videotienda (1)
Uml videotienda (1)Uml videotienda (1)
Uml videotienda (1)cgviviana
 

La actualidad más candente (20)

Modelado del análisis
Modelado del análisisModelado del análisis
Modelado del análisis
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Unidad 6 Lenguaje Sql
Unidad 6 Lenguaje SqlUnidad 6 Lenguaje Sql
Unidad 6 Lenguaje Sql
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Algebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosAlgebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datos
 
3. Modelo ER - Relacional
3. Modelo ER - Relacional3. Modelo ER - Relacional
3. Modelo ER - Relacional
 
Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2
 
IMPLEMENTACION DE UNA BASE DE DATOS
IMPLEMENTACION DE UNA BASE DE DATOS IMPLEMENTACION DE UNA BASE DE DATOS
IMPLEMENTACION DE UNA BASE DE DATOS
 
Requerimientos funcionales y no del sistema MARC21
Requerimientos funcionales y no del sistema MARC21Requerimientos funcionales y no del sistema MARC21
Requerimientos funcionales y no del sistema MARC21
 
Modelo Entidad Relacion
Modelo Entidad RelacionModelo Entidad Relacion
Modelo Entidad Relacion
 
Modelo relacional y reglas de integridad
Modelo relacional y reglas de integridadModelo relacional y reglas de integridad
Modelo relacional y reglas de integridad
 
Diccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónDiccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de información
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetos
 
El modelo entidad_relacion
El modelo entidad_relacionEl modelo entidad_relacion
El modelo entidad_relacion
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
 
Cuadro comparativo base de datos
Cuadro comparativo base de datosCuadro comparativo base de datos
Cuadro comparativo base de datos
 
Uml videotienda (1)
Uml videotienda (1)Uml videotienda (1)
Uml videotienda (1)
 

Más de Carlos Castillo (ChaTo)

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
Carlos Castillo (ChaTo)
 
When no clicks are good news
When no clicks are good newsWhen no clicks are good news
When no clicks are good news
Carlos Castillo (ChaTo)
 
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
Carlos Castillo (ChaTo)
 
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)
Carlos Castillo (ChaTo)
 
Discrimination Discovery
Discrimination DiscoveryDiscrimination Discovery
Discrimination Discovery
Carlos Castillo (ChaTo)
 
Fairness-Aware Data Mining
Fairness-Aware Data MiningFairness-Aware Data Mining
Fairness-Aware Data Mining
Carlos Castillo (ChaTo)
 
Big Crisis Data for ISPC
Big Crisis Data for ISPCBig Crisis Data for ISPC
Big Crisis Data for ISPC
Carlos Castillo (ChaTo)
 
Databeers: Big Crisis Data
Databeers: Big Crisis DataDatabeers: Big Crisis Data
Databeers: Big Crisis Data
Carlos Castillo (ChaTo)
 
Observational studies in social media
Observational studies in social mediaObservational studies in social media
Observational studies in social media
Carlos Castillo (ChaTo)
 
Natural experiments
Natural experimentsNatural experiments
Natural experiments
Carlos Castillo (ChaTo)
 
Content-based link prediction
Content-based link predictionContent-based link prediction
Content-based link prediction
Carlos Castillo (ChaTo)
 
Link prediction
Link predictionLink prediction
Link prediction
Carlos Castillo (ChaTo)
 
Recommender Systems
Recommender SystemsRecommender Systems
Recommender Systems
Carlos Castillo (ChaTo)
 
Graph Partitioning and Spectral Methods
Graph Partitioning and Spectral MethodsGraph Partitioning and Spectral Methods
Graph Partitioning and Spectral Methods
Carlos Castillo (ChaTo)
 
Finding Dense Subgraphs
Finding Dense SubgraphsFinding Dense Subgraphs
Finding Dense Subgraphs
Carlos Castillo (ChaTo)
 
Graph Evolution Models
Graph Evolution ModelsGraph Evolution Models
Graph Evolution Models
Carlos Castillo (ChaTo)
 
Link-Based Ranking
Link-Based RankingLink-Based Ranking
Link-Based Ranking
Carlos Castillo (ChaTo)
 
Text Indexing / Inverted Indices
Text Indexing / Inverted IndicesText Indexing / Inverted Indices
Text Indexing / Inverted Indices
Carlos Castillo (ChaTo)
 
Indexing
IndexingIndexing
Text Summarization
Text SummarizationText Summarization
Text Summarization
Carlos Castillo (ChaTo)
 

Más de 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