SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Modelo del dominio
Modelo del dominioModelo del dominio
Modelo del dominioSCMU AQP
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UMLramirezjaime
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datosJorge Garcia
 
Prolog ejercicios resueltos
Prolog ejercicios resueltosProlog ejercicios resueltos
Prolog ejercicios resueltosJansel M
 
Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejerciciosWalter Chacon
 
BPMN 2.0 en el Proceso de Desarrollo de Software
BPMN 2.0 en el Proceso de Desarrollo de SoftwareBPMN 2.0 en el Proceso de Desarrollo de Software
BPMN 2.0 en el Proceso de Desarrollo de SoftwareJohan Robles Solano
 
Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Anel Sosa
 
Base de datos para la farmacia "José"
Base de datos para la farmacia "José"Base de datos para la farmacia "José"
Base de datos para la farmacia "José"BrandonDanielUgazSal1
 
Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSmyle22
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseGuillermo Díaz
 

Mais procurados (20)

Modelo del dominio
Modelo del dominioModelo del dominio
Modelo del dominio
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UML
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
Diagrama de contexto
Diagrama de contextoDiagrama de contexto
Diagrama de contexto
 
Diagramas de Casos de Uso del Negocio y del Sistema
 Diagramas de Casos de Uso del Negocio y del Sistema Diagramas de Casos de Uso del Negocio y del Sistema
Diagramas de Casos de Uso del Negocio y del Sistema
 
TIPOS DE BASE DE DATOS
TIPOS DE BASE DE DATOSTIPOS DE BASE DE DATOS
TIPOS DE BASE DE DATOS
 
Modelos de dominio
Modelos de dominioModelos de dominio
Modelos de dominio
 
Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datos
 
Prolog ejercicios resueltos
Prolog ejercicios resueltosProlog ejercicios resueltos
Prolog ejercicios resueltos
 
Casos De Uso
Casos De UsoCasos De Uso
Casos De Uso
 
Modelo de entidad relación extendido
Modelo de entidad relación extendidoModelo de entidad relación extendido
Modelo de entidad relación extendido
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejercicios
 
BPMN 2.0 en el Proceso de Desarrollo de Software
BPMN 2.0 en el Proceso de Desarrollo de SoftwareBPMN 2.0 en el Proceso de Desarrollo de Software
BPMN 2.0 en el Proceso de Desarrollo de Software
 
Base de datos tienda de abarrotes
Base de datos tienda de abarrotesBase de datos tienda de abarrotes
Base de datos tienda de abarrotes
 
Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)
 
Base de datos para la farmacia "José"
Base de datos para la farmacia "José"Base de datos para la farmacia "José"
Base de datos para la farmacia "José"
 
Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOS
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 

Mais 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 MediaCarlos 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 2017Carlos 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)
 

Mais 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