ModeloEntidad/RelacionSistema de bases de datosJosé Andrés Cuartas M
El DiseñoEl ser humano es eminentemente simbólico; desde que nace se expresa de diversas manerasFormas de expresión, diversos idiomas y ha inventado otras diversas maneras de expresarse: la música, la pintura, la escultura, en definitiva: lenguajes de símbolos. En su evolución ha llegado a crear la escritura, lenguajes matemáticos y lenguajes que permiten esquematizar. En diversos campos de la ingeniería se representan esquemas: planos (arquitectura), esquemas eléctricos (electricidad), esquemas de máquinas (ingeniería mecánica), entre otros.Un modelo/esquema1 puede definirse como “la abstracción mental de la realidad observada enla que se resaltan los aspectos que se pretenden transmitir”.Modeloentidadrelación JACM
Modelosy esquemasEl ser humano crea modelos o simplificaciones de la realidad para poder comprenderla y expresarla. Los modelos implica tareas de simplificación o abstracción de la realidad, de modo que representamos sólo los aspectos que interesa resaltar de esa realidad que se pretende alcanzar.Modelos Conceptuales o semánticos: están enfocados a describir el mundo real con independenciadela tecnología.Ejemplos: Modelo Entidad/Relacion de Chen (ME/R), Orientados a Objetos (Diagramas de clases de UML).Modeloentidadrelación JACM
El Diseño de DBRecuerdendiseñares un negocioserio.Ellos(jefes, clientes) sabenquedesean un base de datos, pero no sabenquedesean en esta.Esbozar los elementos clave es una forma eficiente para el desarrollo de base de datos y de cualquiersistema en general.El modelo E/R permiteplantear un diseño conceptual de la base de datos.Puedeincluiralgunasrestricciones, pero no operaciones.El diseño son figurasllamadasdiagramasentidad-relacion.Despues: convertir el diseño E/R a un diseñologico.Modeloentidadrelación JACM
Modeloentidadrelación JACM
Modeloentidadrelación JACM
Modeloentidadrelación JACM
Modeloentidadrelación JACM
EL MODELO EREl diseño conceptual -modelo conceptual- modelo  ER,paso previo antes de realizar un diseño de modelo lógico (relacional, jerárquico o de red).  modelo conceptual de datos orientado a objetos (entidades).por Peter Chen en 1976 en un artículo "The Entity-Relationship Model: Toward a Unified View of Data".Página Web Oficial de Peter Chen (http://bit.csc.lsu.edu/~chen/chen.html)Modeloentidadrelación JACM
CARACTERISTICAS DEL MODELO ERRefleja tan solo la existencia de los datos, no lo que se hace con ellos.Se incluyen todos los datos relevantes del sistema en estudio.No está orientado a aplicaciones específicasEs independiente de los SGBDNo tiene en cuenta restricciones de espacio, almacenamiento, ni tiempo de ejecución.Está abierto a la evolución del sistema.Es el modelo conceptual más utilizadoProfesorIDCursoNombretutorEstudianteEstudiosModuloModeloentidadrelación JACM
ELEMENTOS DEL MODELO ERENTIDAD (entity)ATRIBUTO (attribute)DOMINIO (domain)RELACION (relationship)Interrelación, vínculo entre entidadesModeloentidadrelación JACM
ENTIDADESCualquier objeto (real o abstracto) que existe en la realidad y acerca del cual queremos almacenar información en la B.D.Las entidades se representan gráficamente mediante rectángulos con su nombre en el interior.Realmente, los rectángulos representan tipos de entidad, pero se ha querido evitar el término “tipo de entidad” .De tal forma que hablaremos siempre de entidades, en vez de “tipos de entidades”.Las entidades representarán conjuntos de instancias, ocurrencias, ejemplares de un determinado tipo de objeto del mundo real.ModeloentidadrelaciónJACM
ATRIBUTOSAtributo= cada una de las propiedades o características que tiene una entidad.Los atributos son valores simples, e.j. enteros o cadenas de caracteres, sin estructura, conjuntos, etc.Los atributos se representan mediante un óvalo con el nombre del atributo dentro.Modeloentidadrelación JACM
TIPOS DE ATRIBUTOSIdentificadores: son atributos que identifican de manera unívoca cada ocurrencia de una entidad. Toda entidad debe tener al menos un atributo identificador.se representan subrayando el nombre del atributo:Una entidad puede tener más de 1 atributo identificador; en ese caso, elegimos un atributo como identificador primario (P), quedando el resto como identificadores alternativos (A).Identificadores simples y compuestosModeloentidadrelación JACM
TIPOS DE ATRIBUTOSSimples: son atributos que no están formados por otros atributos.Compuestos: son atributos que están formados por otros atributos que a su vez pueden ser simples o compuestos. Monovaluados: son atributos que representan un valor para una determinada ocurrencia de una entidad en un momento determinado. Pueden ser simples o compuestos. Modeloentidadrelación JACM
TIPOS DE ATRIBUTOSMultivaluados: son atributos que pueden representar varios valores simultáneamente para una misma ocurrencia de una entidad. Se representan mediante un doble óvalo. Pueden ser simples o compuestos. Derivados (o calculados): son atributos cuyo valor se obtiene aplicando una fórmula , no se almacenarán en la base de datos. Su valor se obtendrá en el momento en que sea necesario aplicando la fórmula asociada a ellos.Modeloentidadrelación JACM
TIPOS DE ATRIBUTOSPropios: son los atributos de las relaciones.  Se representan unidos al rombo de la relación. Modeloentidadrelación JACM
CARDINALIDAD DE ATRIBUTOSLa cardinalidad de cuantos valores puede almacenar el atributo para una ocurrencia determinada de la entidad.Para cada atributo de una entidad se puede especificar una cardinalidad (min,max).Por defecto (si no ponemos nada), la cardinalidad de un atributo asociado a una entidad es (1,1); es decir, el atributo debe obligatoriamente tener un exactamente un valor para toda ocurrencia de la entidad.Para atributos multivaluados la cardinalidad por defecto es (1,n).Pondremos como cardinalidad de atributo (0,1) si queremos indicar que un atributo puede contener un valor nulo.Modeloentidadrelación JACM
EJEMPLOS TIPOS DE ATRIBUTOSModeloentidadrelación JACM
DOMINIOSCada atributo simple de una entidad está asociado a un dominio, el cual representa el conjunto de valores que puede tomar el atributo. Para cada ocurrencia de una entidad un atributo tendrá un valor  dominio del atributo.Un dominio lleva siempre asociado un predicado que permite comprobar si un determinado valor pertenece al dominio.D = { vi | P(vi) } Ejemplo:IDPERSONAS = { vi | P(vi) }P(v)=v es un número de documento nacional de identidad de un ciudadano colombianoUn predicado es una expresión que sólo puede tomar dos valores: VERDADERO ó FALSOModeloentidadrelación JACM
DICCIONARIO DE DATOSUn SGBD debe proporcionar un catálogo en el que se almacenen las descripciones de los datos y que sea accesible por los usuarios. Este catálogo es lo que se denomina diccionario de datos y contiene información que describe los datos de la base de datos (metadatos). Normalmente, un diccionario de datos almacena: Nombre, tipo y tamaño de los datos. Nombre de las relaciones entre los datos. Restricciones de integridad sobre los datos. Nombre de los usuarios autorizados a acceder a la base de datos.Esquemas externos, conceptual e interno, y correspondencia entre los esquemas. Modeloentidadrelación JACM
DICCIONARIO DE DATOSEstadísticas de utilización, tales como la frecuencia de las transacciones y el número de accesos realizados a los objetos de la base de datos. Algunos de los beneficios que reporta el diccionario de datos son los siguientes: La información sobre los datos se puede almacenar de un modo centralizado. Esto ayuda a mantener el control sobre los datos, como un recurso que son. El significado de los datos se puede definir, lo que ayudará a los usuarios a entender el propósito de los mismos. La comunicación se simplifica ya que se almacena el significado exacto. El diccionario de datos también puede identificar al usuario o usuarios que poseen los datos o que los acceden. Modeloentidadrelación JACM
DICCIONARIO DE DATOSLas redundancias y las inconsistencias se pueden identificar más fácilmente ya que los datos están centralizados. Se puede tener un historial de los cambios realizados sobre la base de datos. El impacto que puede producir un cambio se puede determinar antes de que sea implementado, ya que el diccionario de datos mantiene información sobre cada tipo de dato, todas sus relaciones y todos sus usuarios. Se puede hacer respetar la seguridad. Se puede garantizar la integridad. Se puede proporcionar información para auditorías. Modeloentidadrelación JACM
DICCIONARIO DE DATOSModeloentidadrelación JACM
DICCIONARIO DE DATOS[1] La fórmula ó método para calcular el valor de la edad se definirá en la tabla de entidades en el diccionario de datos (no en esta tabla de dominios)Modeloentidadrelación JACM
RELACIONESes una asociación entre 2 o más entidades.se representan gráficamente mediante rombos y su nombre aparece en el interior.Normalmente son verbos o formas verbales.Modeloentidadrelación JACM
RELACIONESMatemáticamente {<e1, e2, …, en>}ei=ejemplares de la entidad ein=grado de la relaciónla relación sería:Compra = {<c1, p1>,<c1, p2>,<c2, p3>,<c3, p3>,<c3, p4>,<c3, p5>}Modeloentidadrelación JACM
CARDINALIDAD DE LA RELACIONla cardinalidad de una relación (binaria) es el número de ocurrencias de una entidad asociadas a una ocurrencia de la otra entidad.Modeloentidadrelación JACM
CARDINALIDAD DE LA RELACION UNO A UNOUno a uno (1:1)A cada ocurrencia de la entidad A le corresponde una ocurrencia de la entidad B, y viceversa.Modeloentidadrelación JACM
CARDINALIDAD DE LA RELACION UNO A VARIOSUno a varios(1:N)A cada ocurrencia de la entidad A le pueden corresponder varias ocurrencias de la entidad B. Pero a cada ocurrencia de la entidad B sólo le corresponde una ocurrencia de la entidad A.Modeloentidadrelación JACM
CARDINALIDAD DE LA RELACION UNO A VARIOSMuchos a muchos (N:N) A cada ocurrencia de la entidad A le pueden corresponder varias ocurrencias de la entidad B. Y a cada ocurrencia de la entidad B  le pueden corresponder varias ocurrencias de la entidad A.Modeloentidadrelación JACM
PARTICIPACION DE LAS ENTIDADES EN LAS RELACIONESEjemploUn cliente puede comprar de 0 a n productos y un producto puede ser comprado por de 0 a n clientes.Participación mínima cero: significa que puede haber ocurrencias de una entidad que no estén asociadas a ninguna ocurrencia de la otra entidad.Participación mínima uno: significa que toda ocurrencia de una entidad debe estar asociada a una ocurrencia de la otra entidad.Modeloentidadrelación JACM
TIPOS DE RELACIONESREFLEXIVAS (GRADO 1)Son relaciones donde participa sólo 1 entidad. Se relacionan ocurrencias de la entidad con otras ocurrencias de la propia entidad.Modeloentidadrelación JACM
TIPOS DE RELACIONESBINARIAS (GRADO 2)Son relaciones donde participan 2 entidades. Modeloentidadrelación JACM
TIPOS DE RELACIONESTERNARIAS (GRADO 3)Son relaciones donde participan 3 entidades. (A,B)  C ; (A,C)  B ; (B,C)  AModeloentidadrelación JACM
FUERTE-DEBILCuando una entidad participa en una relación puede adquirir un papel fuerte o débilUna entidad débil queda definida siempre a través de una relación especial que representa la dependencia de esta entidad de otra de orden superior (que puede ser a su vez una entidad fuerte o débil). Toda entidad débil tiene una dependencia en existencia de la entidad de orden superior, definiéndose entre ellas una jerarquía de dos niveles.Las entidades débiles se representan mediante un doble rectángulo, es decir, un rectángulo con doble línea.Modeloentidadrelación JACM
FUERTE-DEBILLa DEPENDENCIA EN IDENTIFICACION se representa mediante una relación débil (rombo con línea doble) y una entidad débil (rectángulo con línea doble). La flecha hacia la entidad débil es opcional.El identificador (débil) de la entidad débil en la dependencia de identificación lo representamos mediante un óvalo con el nombre del atributo doblemente subrayado.El par de atributos <ISBN, NUMERO> sería capaz de identificar unívocamente todos los ejemplares de todos los libros. Tengamos en cuenta que muchos libros pueden tener el ejemplar número 1 (siendo ejemplares distintos de libros distintos).Modeloentidadrelación JACM
AGREGADOSEn determinadas ocasiones necesitemos crear una entidad de un nivel de abstracción superior englobando varias entidades relacionadasModeloentidadrelación JACM
MODELO ENTIDAD RELACION EXTENDIDO (ERE)SUBCLASES Y SUPERCLASES En el MODELO ENTIDAD RELACION, una entidad agrupa un conjunto de ocurrencias de entidad del mismo tipo. En muchos casos, estas ocurrencias se pueden agrupar a su vez en otros subconjuntos que tienen un significado propio para los propósitos de la base de datos y, por tanto, deberían representarse de forma explícita.	Por ejemplo, la entidad EMPLEADO puede a su vez subdividirse en SECRETARIA, INGENIERO, JEFE, TECNICO, ASALARIADO, SUBCONTRATADO, etc. El conjunto de ocurrencias de entidad Modeloentidadrelación JACM
RESTRICCIONESEl MODELO ENTIDAD RELACION EXTENDIDO permite describir una serie de restricciones del minimundo en cuestión, si bien existen otras restricciones que es imposible (en otros casos muy difícil) de representar mediante el modelo.  Todas estas restricciones no representables mediante el modelo serán descritas en el DICCIONARIO DE DATOS, de acuerdo a los conceptos descritos en el documento “DICCIONARIO DE DATOS”:Restricciones de atributoDominio: asignar un atributo a un dominio definido en el propio DICCIONARIO DE DATOS representa una restricción ya que describe el conjunto de valores que puede tomar una atributo.Restricciones de atributo adicionales: son restricciones que se “añaden” a la propia restricción de dominio, como por ejemplo: AUTOINCREMENTADO: indica que el valor que toma el atributo para una nueva ocurrencia es el siguiente al último valor asignado a ese mismo atributo para la última ocurrencia añadida a la entidad.Modeloentidadrelación JACM
RESTRICCIONESRestricciones a nivel de entidadRestricciones de ocurrencia: son restricciones que afectan a varios atributos de una misma ocurrencia de una entidad. Ejemplo: FINICIO<=FFINRestricciones para varias ocurrencias: son restricciones que afectan a más de una ocurrencia de una misma entidad. Por ejemplo: (Entidad EMPLEADO) No pueden existir más de 3 empleados con un sueldo superior a $8.000.000.Restricciones de relacionesRestricciones de ocurrencia: son restricciones que afectan a varios atributos propios de una misma ocurrencia de una relación. Ejemplo: FINICIO<=FFINRestricciones para varias ocurrencias: son restricciones que afectan a más de una ocurrencia de una misma relación. Por ejemplo: (Relación ASIGNADO) No pueden existir más de 10 empleados asignados al mismo departamentoModeloentidadrelación JACM
RESTRICCIONESRestricciones a nivel de la base de datos: son restricciones que afectan a varias entidades y/o varias relaciones. Ejemplo: si tenemos una entidad VIAJE (con una atributo que indica el máximo número de cupos para cada viaje) y otra VENTA (agregado de CLIENTE COMPRA VIAJE), la restricción sería “No es posible vender más viajes del máximo número de cupos por viaje”.Restricciones de usuario: son restricciones que especifican qué privilegios (consulta, inserción, modificación, eliminación) tienen los usuarios de la base de datos sobre los datos. Normalmente los usuarios se clasificaran en grupos especificándose los privilegios a nivel de grupos.Modeloentidadrelación JACM
EvitarredundanciaRedundancia= decir la mismo de diferentesmanerasSe ocupamasespacio y se genera inconsistenciacuando no se tienecuidado en lasactualizaciones.Modeloentidadrelación JACM
Ejemplo: MalonombrenombreaddrProducidaCervezaEmpresaEmpresaEste diseño repite el estados del fabricante o empresa de la cerveza, dos veces:como un atributo y como una entidad relacionada.Modeloentidadrelación JACM
Ejemplo: MaloEmpresaEmpresaEmpresaDirCervezaEste diseño repite la dirección del fabricante por cada cerveza y pierde la dirección del fabricante si la empresa temporalmente no esta produciendo cerveza.Modeloentidadrelación JACM
Ejemplo: BuenoNombrenombreDirProducidaCervezaEmpresaEste diseñoproporciona la direccion del fabricante solo unavezModeloentidadrelación JACM
Relacionesredundantescombinar las dos entidades que intervienen en una relación redundantes entre síSe convierte en unanuevaentidadLa nueva entidad tiene todos los atributos de la entidades anterioresxaABybzcaxABybczModeloentidadrelación JACM
Remover Relaciones M:MLas relacionesvarios a varios son muydificilesde representarEs mejordividirunarelaciónvarios a variosen dos relacionesuno a variosEstudiantesEstudiantesTieneinscricionesEstudianModulosEn ModulosModeloentidadrelación JACM
Como diseñarmodelosE/RDe la descricion de requeriemintosidentifiqueEntidadesAtributosRelacionesLa cardinalidad de lasrelacionesDibujar el diagrama E/R para:Realizar un busquedaminusiosaparaidentificarlasredundanciasBuscarrelacionesvarios a varios , en muchoscasosesnesecariodividirlas en relacionesuno-a-variosModeloentidadrelación JACM
Como diseñarmodelos E/RPara realizar un modeloE/R ustednesecitaidentificarEntidadesAtributosRelacionesCardinalidadesDe unadescripcionGuia generalLas entidades son las cosas o los objetos son a menudo los sustantivos en la descripciónLos atributos son los hechos o las propiedades, por lo que a menudo son también los sustantivos Verbos generalmente describen las relaciones entre las entidadesModeloentidadrelación JACM
Como diseñarmodelos E/REntidades y atributosA veces es difícil saber si algo es una entidad o un atributoAmbos pueden representan los objetos o los hechos sobre el mundoAmbos son representados por los nombres en las descripcionesGuia generalLas entidades pueden tener atributos, pero los atributos deben ser atómicos y simplesLas entidades pueden tener relaciones entre ellas, pero un atributo solo pertenece a una entidadModeloentidadrelación JACM
Como diseñarmodelos E/RDepuración de DiseñosCon un poco de práctica los digramas E / R se pueden utilizar para planificar las consultasCon solo mirar el diagrama se puedeencontrarinformacionSi usted no puede encontrar la información que necesita, es posible que tenga que cambiar el diseñoEstudiantesTieneinscripcionesEn ModulosSe puedeencontrarunalista de los estudiantesinscritos ?Modeloentidadrelación JACM
EstudiantestieneInscripcionenModuloComo diseñarmodelos E/RDepuración de DiseñosID(3) Para cada instancia de inscripción en elresultado de (2) se encontrar el estudiante correspondienteName(2) Encontrar la instacia de los inscritos con el mismocodigo(1)IDCodigo(1) Encontrar la instancia de un modulo con titulo ‘Sistema de bases de datos’CodigoTituloModeloentidadrelación JACM
EjemploUna universidad consiste de un numero de departamentos. Cada departamento ofrece varios cursos. Un numero de módulos conforman cada curso. Los estudiantes se matriculan en un curso en particular y toman los módulos para la realización de este curso. Cada módulo es explicado por un profesor del departamento correspondiente, y cada profesor es tutor de un grupo de estudiantesModeloentidadrelación JACM
Ejemplo - RelacionesUnauniversidadconsiste de un numero de departamentos.Cadadepartamentoofrecevarioscursos. Un numero de modulosconformancadacurso. Los estudiantesse matriculanen un curso en particular y toman los módulos para la realización de este curso. Cada módulo es explicadopor un profesor del departamento correspondiente, y cada profesor es tutor de un grupo de estudiantesModeloentidadrelación JACM
Ejemplo- E/R DiagramaEntidades: Departamento, Curso, Modulo, profesor, estudiantesDepartamentoModuloCursoProfesorEstudiantesModeloentidadrelación JACM
Ejemplo- E/R DiagramaCadadepartamentoofrecevarioscursosOfreceDepartamentoModuloCursosProfesorEstudiantesModeloentidadrelación JACM
Ejemplo- E/R DiagramaUn numero de modulosconformancadacursoOfreceDepartamentoincluyeModuloCursosProfesorEstudiantesModeloentidadrelación JACM
Ejemplo- E/R DiagramaLos estudiantesse matriculanen un curso en particularOfreceDepartamentoincluyeModulosCursosProfesorMatriculanEstudiantesModeloentidadrelación JACM
Ejemplo- E/R DiagramaLos estudiantes… toman los módulosOfreceDepartamentoincluyeModulosCursosProfesortomanMatriculanEstudiantesModeloentidadrelación JACM
Ejemplo- E/R DiagramaCada módulo es explicadopor un profesorOfreceDepartamentoincluyeenseñaModulosCursosProfesortomanMatriculanEstudiantesModeloentidadrelación JACM
Ejemplo- E/R Diagramaun profesor del departamento correspondienteOfreceEmpleaDepartamentoincluyeenseñaModulosCursosProfesortomanmatrículanEstudiantesModeloentidadrelación JACM
Ejemplo- E/R Diagramacada profesor es tutor de un grupo de estudiantesOfreceEmpleaDepartamentoincluyeenseñaModulosCursosProfesortomanMatrículanTutorEstudiantesModeloentidadrelación JACM
Ejemplo- E/R DiagramaOfreceEmpleaDepartamentoincluyeenseñaModulosCursosProfesortomanmatrículanTutorEstudiantesModeloentidadrelación JACM
EjemploSe desearepresentarinformacionacerca de productos en la base de datos. Cadaproductotieneunadescripcion, un precioy un provedor. El provedortienedireccion,numero de telefono y nombres. Cadadireccion se componede unaubicaciónen nomeclatura un zona , un departamento o provincia o estado y un pais.Modeloentidadrelacion JACM
Ejemplo - Entidades/AtributosEntidades o atributos:productodescripcionprecioprovedorDirecciónTelefonoNombreCiudaddepartamentoProductos, provedores, y direccion se componen de varioselemntos,  por lo anterior,  estosobjetosformaranlasentidadesLos otrosson información indivisible porconsiguientepertenecen a unaentidadModeloentidadrelación JACM
precioProductodescripcionDireccionprovedordireccionciudadnombredepartamentoTelefonoEjemplo – Diagrama E/RModeloentidadrelación JACM
Ejemplo- RelacionesCadaproductotiene un provedorCadaproductotiene un solo provedorperoesto no impideque un provedorsuministrevariosproductosUnarelacionvarios a unoCadaprovedortieneunadireccionUn provedortieneuna sola direccionNo parece razonable que dos proveedores diferentes tengan la misma dirección Unarelacionuno a unoModeloentidadrelación JACM
Ejemplo – Diagrama E/RPrecioProductoDescripcionTieneDireccionTieneProvedorDireccionCiudadNombredepartamentoTelefonoModeloentidadrelación JACM

Modelo Entidad Relación

  • 1.
    ModeloEntidad/RelacionSistema de basesde datosJosé Andrés Cuartas M
  • 2.
    El DiseñoEl serhumano es eminentemente simbólico; desde que nace se expresa de diversas manerasFormas de expresión, diversos idiomas y ha inventado otras diversas maneras de expresarse: la música, la pintura, la escultura, en definitiva: lenguajes de símbolos. En su evolución ha llegado a crear la escritura, lenguajes matemáticos y lenguajes que permiten esquematizar. En diversos campos de la ingeniería se representan esquemas: planos (arquitectura), esquemas eléctricos (electricidad), esquemas de máquinas (ingeniería mecánica), entre otros.Un modelo/esquema1 puede definirse como “la abstracción mental de la realidad observada enla que se resaltan los aspectos que se pretenden transmitir”.Modeloentidadrelación JACM
  • 3.
    Modelosy esquemasEl serhumano crea modelos o simplificaciones de la realidad para poder comprenderla y expresarla. Los modelos implica tareas de simplificación o abstracción de la realidad, de modo que representamos sólo los aspectos que interesa resaltar de esa realidad que se pretende alcanzar.Modelos Conceptuales o semánticos: están enfocados a describir el mundo real con independenciadela tecnología.Ejemplos: Modelo Entidad/Relacion de Chen (ME/R), Orientados a Objetos (Diagramas de clases de UML).Modeloentidadrelación JACM
  • 4.
    El Diseño deDBRecuerdendiseñares un negocioserio.Ellos(jefes, clientes) sabenquedesean un base de datos, pero no sabenquedesean en esta.Esbozar los elementos clave es una forma eficiente para el desarrollo de base de datos y de cualquiersistema en general.El modelo E/R permiteplantear un diseño conceptual de la base de datos.Puedeincluiralgunasrestricciones, pero no operaciones.El diseño son figurasllamadasdiagramasentidad-relacion.Despues: convertir el diseño E/R a un diseñologico.Modeloentidadrelación JACM
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
    EL MODELO EREldiseño conceptual -modelo conceptual- modelo ER,paso previo antes de realizar un diseño de modelo lógico (relacional, jerárquico o de red). modelo conceptual de datos orientado a objetos (entidades).por Peter Chen en 1976 en un artículo "The Entity-Relationship Model: Toward a Unified View of Data".Página Web Oficial de Peter Chen (http://bit.csc.lsu.edu/~chen/chen.html)Modeloentidadrelación JACM
  • 10.
    CARACTERISTICAS DEL MODELOERRefleja tan solo la existencia de los datos, no lo que se hace con ellos.Se incluyen todos los datos relevantes del sistema en estudio.No está orientado a aplicaciones específicasEs independiente de los SGBDNo tiene en cuenta restricciones de espacio, almacenamiento, ni tiempo de ejecución.Está abierto a la evolución del sistema.Es el modelo conceptual más utilizadoProfesorIDCursoNombretutorEstudianteEstudiosModuloModeloentidadrelación JACM
  • 11.
    ELEMENTOS DEL MODELOERENTIDAD (entity)ATRIBUTO (attribute)DOMINIO (domain)RELACION (relationship)Interrelación, vínculo entre entidadesModeloentidadrelación JACM
  • 12.
    ENTIDADESCualquier objeto (realo abstracto) que existe en la realidad y acerca del cual queremos almacenar información en la B.D.Las entidades se representan gráficamente mediante rectángulos con su nombre en el interior.Realmente, los rectángulos representan tipos de entidad, pero se ha querido evitar el término “tipo de entidad” .De tal forma que hablaremos siempre de entidades, en vez de “tipos de entidades”.Las entidades representarán conjuntos de instancias, ocurrencias, ejemplares de un determinado tipo de objeto del mundo real.ModeloentidadrelaciónJACM
  • 13.
    ATRIBUTOSAtributo= cada unade las propiedades o características que tiene una entidad.Los atributos son valores simples, e.j. enteros o cadenas de caracteres, sin estructura, conjuntos, etc.Los atributos se representan mediante un óvalo con el nombre del atributo dentro.Modeloentidadrelación JACM
  • 14.
    TIPOS DE ATRIBUTOSIdentificadores:son atributos que identifican de manera unívoca cada ocurrencia de una entidad. Toda entidad debe tener al menos un atributo identificador.se representan subrayando el nombre del atributo:Una entidad puede tener más de 1 atributo identificador; en ese caso, elegimos un atributo como identificador primario (P), quedando el resto como identificadores alternativos (A).Identificadores simples y compuestosModeloentidadrelación JACM
  • 15.
    TIPOS DE ATRIBUTOSSimples:son atributos que no están formados por otros atributos.Compuestos: son atributos que están formados por otros atributos que a su vez pueden ser simples o compuestos. Monovaluados: son atributos que representan un valor para una determinada ocurrencia de una entidad en un momento determinado. Pueden ser simples o compuestos. Modeloentidadrelación JACM
  • 16.
    TIPOS DE ATRIBUTOSMultivaluados:son atributos que pueden representar varios valores simultáneamente para una misma ocurrencia de una entidad. Se representan mediante un doble óvalo. Pueden ser simples o compuestos. Derivados (o calculados): son atributos cuyo valor se obtiene aplicando una fórmula , no se almacenarán en la base de datos. Su valor se obtendrá en el momento en que sea necesario aplicando la fórmula asociada a ellos.Modeloentidadrelación JACM
  • 17.
    TIPOS DE ATRIBUTOSPropios:son los atributos de las relaciones. Se representan unidos al rombo de la relación. Modeloentidadrelación JACM
  • 18.
    CARDINALIDAD DE ATRIBUTOSLacardinalidad de cuantos valores puede almacenar el atributo para una ocurrencia determinada de la entidad.Para cada atributo de una entidad se puede especificar una cardinalidad (min,max).Por defecto (si no ponemos nada), la cardinalidad de un atributo asociado a una entidad es (1,1); es decir, el atributo debe obligatoriamente tener un exactamente un valor para toda ocurrencia de la entidad.Para atributos multivaluados la cardinalidad por defecto es (1,n).Pondremos como cardinalidad de atributo (0,1) si queremos indicar que un atributo puede contener un valor nulo.Modeloentidadrelación JACM
  • 19.
    EJEMPLOS TIPOS DEATRIBUTOSModeloentidadrelación JACM
  • 20.
    DOMINIOSCada atributo simplede una entidad está asociado a un dominio, el cual representa el conjunto de valores que puede tomar el atributo. Para cada ocurrencia de una entidad un atributo tendrá un valor dominio del atributo.Un dominio lleva siempre asociado un predicado que permite comprobar si un determinado valor pertenece al dominio.D = { vi | P(vi) } Ejemplo:IDPERSONAS = { vi | P(vi) }P(v)=v es un número de documento nacional de identidad de un ciudadano colombianoUn predicado es una expresión que sólo puede tomar dos valores: VERDADERO ó FALSOModeloentidadrelación JACM
  • 21.
    DICCIONARIO DE DATOSUnSGBD debe proporcionar un catálogo en el que se almacenen las descripciones de los datos y que sea accesible por los usuarios. Este catálogo es lo que se denomina diccionario de datos y contiene información que describe los datos de la base de datos (metadatos). Normalmente, un diccionario de datos almacena: Nombre, tipo y tamaño de los datos. Nombre de las relaciones entre los datos. Restricciones de integridad sobre los datos. Nombre de los usuarios autorizados a acceder a la base de datos.Esquemas externos, conceptual e interno, y correspondencia entre los esquemas. Modeloentidadrelación JACM
  • 22.
    DICCIONARIO DE DATOSEstadísticasde utilización, tales como la frecuencia de las transacciones y el número de accesos realizados a los objetos de la base de datos. Algunos de los beneficios que reporta el diccionario de datos son los siguientes: La información sobre los datos se puede almacenar de un modo centralizado. Esto ayuda a mantener el control sobre los datos, como un recurso que son. El significado de los datos se puede definir, lo que ayudará a los usuarios a entender el propósito de los mismos. La comunicación se simplifica ya que se almacena el significado exacto. El diccionario de datos también puede identificar al usuario o usuarios que poseen los datos o que los acceden. Modeloentidadrelación JACM
  • 23.
    DICCIONARIO DE DATOSLasredundancias y las inconsistencias se pueden identificar más fácilmente ya que los datos están centralizados. Se puede tener un historial de los cambios realizados sobre la base de datos. El impacto que puede producir un cambio se puede determinar antes de que sea implementado, ya que el diccionario de datos mantiene información sobre cada tipo de dato, todas sus relaciones y todos sus usuarios. Se puede hacer respetar la seguridad. Se puede garantizar la integridad. Se puede proporcionar información para auditorías. Modeloentidadrelación JACM
  • 24.
  • 25.
    DICCIONARIO DE DATOS[1]La fórmula ó método para calcular el valor de la edad se definirá en la tabla de entidades en el diccionario de datos (no en esta tabla de dominios)Modeloentidadrelación JACM
  • 26.
    RELACIONESes una asociaciónentre 2 o más entidades.se representan gráficamente mediante rombos y su nombre aparece en el interior.Normalmente son verbos o formas verbales.Modeloentidadrelación JACM
  • 27.
    RELACIONESMatemáticamente {<e1, e2,…, en>}ei=ejemplares de la entidad ein=grado de la relaciónla relación sería:Compra = {<c1, p1>,<c1, p2>,<c2, p3>,<c3, p3>,<c3, p4>,<c3, p5>}Modeloentidadrelación JACM
  • 28.
    CARDINALIDAD DE LARELACIONla cardinalidad de una relación (binaria) es el número de ocurrencias de una entidad asociadas a una ocurrencia de la otra entidad.Modeloentidadrelación JACM
  • 29.
    CARDINALIDAD DE LARELACION UNO A UNOUno a uno (1:1)A cada ocurrencia de la entidad A le corresponde una ocurrencia de la entidad B, y viceversa.Modeloentidadrelación JACM
  • 30.
    CARDINALIDAD DE LARELACION UNO A VARIOSUno a varios(1:N)A cada ocurrencia de la entidad A le pueden corresponder varias ocurrencias de la entidad B. Pero a cada ocurrencia de la entidad B sólo le corresponde una ocurrencia de la entidad A.Modeloentidadrelación JACM
  • 31.
    CARDINALIDAD DE LARELACION UNO A VARIOSMuchos a muchos (N:N) A cada ocurrencia de la entidad A le pueden corresponder varias ocurrencias de la entidad B. Y a cada ocurrencia de la entidad B le pueden corresponder varias ocurrencias de la entidad A.Modeloentidadrelación JACM
  • 32.
    PARTICIPACION DE LASENTIDADES EN LAS RELACIONESEjemploUn cliente puede comprar de 0 a n productos y un producto puede ser comprado por de 0 a n clientes.Participación mínima cero: significa que puede haber ocurrencias de una entidad que no estén asociadas a ninguna ocurrencia de la otra entidad.Participación mínima uno: significa que toda ocurrencia de una entidad debe estar asociada a una ocurrencia de la otra entidad.Modeloentidadrelación JACM
  • 33.
    TIPOS DE RELACIONESREFLEXIVAS(GRADO 1)Son relaciones donde participa sólo 1 entidad. Se relacionan ocurrencias de la entidad con otras ocurrencias de la propia entidad.Modeloentidadrelación JACM
  • 34.
    TIPOS DE RELACIONESBINARIAS(GRADO 2)Son relaciones donde participan 2 entidades. Modeloentidadrelación JACM
  • 35.
    TIPOS DE RELACIONESTERNARIAS(GRADO 3)Son relaciones donde participan 3 entidades. (A,B)  C ; (A,C)  B ; (B,C)  AModeloentidadrelación JACM
  • 36.
    FUERTE-DEBILCuando una entidadparticipa en una relación puede adquirir un papel fuerte o débilUna entidad débil queda definida siempre a través de una relación especial que representa la dependencia de esta entidad de otra de orden superior (que puede ser a su vez una entidad fuerte o débil). Toda entidad débil tiene una dependencia en existencia de la entidad de orden superior, definiéndose entre ellas una jerarquía de dos niveles.Las entidades débiles se representan mediante un doble rectángulo, es decir, un rectángulo con doble línea.Modeloentidadrelación JACM
  • 37.
    FUERTE-DEBILLa DEPENDENCIA ENIDENTIFICACION se representa mediante una relación débil (rombo con línea doble) y una entidad débil (rectángulo con línea doble). La flecha hacia la entidad débil es opcional.El identificador (débil) de la entidad débil en la dependencia de identificación lo representamos mediante un óvalo con el nombre del atributo doblemente subrayado.El par de atributos <ISBN, NUMERO> sería capaz de identificar unívocamente todos los ejemplares de todos los libros. Tengamos en cuenta que muchos libros pueden tener el ejemplar número 1 (siendo ejemplares distintos de libros distintos).Modeloentidadrelación JACM
  • 38.
    AGREGADOSEn determinadas ocasionesnecesitemos crear una entidad de un nivel de abstracción superior englobando varias entidades relacionadasModeloentidadrelación JACM
  • 39.
    MODELO ENTIDAD RELACIONEXTENDIDO (ERE)SUBCLASES Y SUPERCLASES En el MODELO ENTIDAD RELACION, una entidad agrupa un conjunto de ocurrencias de entidad del mismo tipo. En muchos casos, estas ocurrencias se pueden agrupar a su vez en otros subconjuntos que tienen un significado propio para los propósitos de la base de datos y, por tanto, deberían representarse de forma explícita. Por ejemplo, la entidad EMPLEADO puede a su vez subdividirse en SECRETARIA, INGENIERO, JEFE, TECNICO, ASALARIADO, SUBCONTRATADO, etc. El conjunto de ocurrencias de entidad Modeloentidadrelación JACM
  • 40.
    RESTRICCIONESEl MODELO ENTIDADRELACION EXTENDIDO permite describir una serie de restricciones del minimundo en cuestión, si bien existen otras restricciones que es imposible (en otros casos muy difícil) de representar mediante el modelo. Todas estas restricciones no representables mediante el modelo serán descritas en el DICCIONARIO DE DATOS, de acuerdo a los conceptos descritos en el documento “DICCIONARIO DE DATOS”:Restricciones de atributoDominio: asignar un atributo a un dominio definido en el propio DICCIONARIO DE DATOS representa una restricción ya que describe el conjunto de valores que puede tomar una atributo.Restricciones de atributo adicionales: son restricciones que se “añaden” a la propia restricción de dominio, como por ejemplo: AUTOINCREMENTADO: indica que el valor que toma el atributo para una nueva ocurrencia es el siguiente al último valor asignado a ese mismo atributo para la última ocurrencia añadida a la entidad.Modeloentidadrelación JACM
  • 41.
    RESTRICCIONESRestricciones a nivelde entidadRestricciones de ocurrencia: son restricciones que afectan a varios atributos de una misma ocurrencia de una entidad. Ejemplo: FINICIO<=FFINRestricciones para varias ocurrencias: son restricciones que afectan a más de una ocurrencia de una misma entidad. Por ejemplo: (Entidad EMPLEADO) No pueden existir más de 3 empleados con un sueldo superior a $8.000.000.Restricciones de relacionesRestricciones de ocurrencia: son restricciones que afectan a varios atributos propios de una misma ocurrencia de una relación. Ejemplo: FINICIO<=FFINRestricciones para varias ocurrencias: son restricciones que afectan a más de una ocurrencia de una misma relación. Por ejemplo: (Relación ASIGNADO) No pueden existir más de 10 empleados asignados al mismo departamentoModeloentidadrelación JACM
  • 42.
    RESTRICCIONESRestricciones a nivelde la base de datos: son restricciones que afectan a varias entidades y/o varias relaciones. Ejemplo: si tenemos una entidad VIAJE (con una atributo que indica el máximo número de cupos para cada viaje) y otra VENTA (agregado de CLIENTE COMPRA VIAJE), la restricción sería “No es posible vender más viajes del máximo número de cupos por viaje”.Restricciones de usuario: son restricciones que especifican qué privilegios (consulta, inserción, modificación, eliminación) tienen los usuarios de la base de datos sobre los datos. Normalmente los usuarios se clasificaran en grupos especificándose los privilegios a nivel de grupos.Modeloentidadrelación JACM
  • 43.
    EvitarredundanciaRedundancia= decir lamismo de diferentesmanerasSe ocupamasespacio y se genera inconsistenciacuando no se tienecuidado en lasactualizaciones.Modeloentidadrelación JACM
  • 44.
    Ejemplo: MalonombrenombreaddrProducidaCervezaEmpresaEmpresaEste diseño repiteel estados del fabricante o empresa de la cerveza, dos veces:como un atributo y como una entidad relacionada.Modeloentidadrelación JACM
  • 45.
    Ejemplo: MaloEmpresaEmpresaEmpresaDirCervezaEste diseño repite la dirección delfabricante por cada cerveza y pierde la dirección del fabricante si la empresa temporalmente no esta produciendo cerveza.Modeloentidadrelación JACM
  • 46.
    Ejemplo: BuenoNombrenombreDirProducidaCervezaEmpresaEste diseñoproporcionala direccion del fabricante solo unavezModeloentidadrelación JACM
  • 47.
    Relacionesredundantescombinar las dosentidades que intervienen en una relación redundantes entre síSe convierte en unanuevaentidadLa nueva entidad tiene todos los atributos de la entidades anterioresxaABybzcaxABybczModeloentidadrelación JACM
  • 48.
    Remover Relaciones M:MLasrelacionesvarios a varios son muydificilesde representarEs mejordividirunarelaciónvarios a variosen dos relacionesuno a variosEstudiantesEstudiantesTieneinscricionesEstudianModulosEn ModulosModeloentidadrelación JACM
  • 49.
    Como diseñarmodelosE/RDe ladescricion de requeriemintosidentifiqueEntidadesAtributosRelacionesLa cardinalidad de lasrelacionesDibujar el diagrama E/R para:Realizar un busquedaminusiosaparaidentificarlasredundanciasBuscarrelacionesvarios a varios , en muchoscasosesnesecariodividirlas en relacionesuno-a-variosModeloentidadrelación JACM
  • 50.
    Como diseñarmodelos E/RPararealizar un modeloE/R ustednesecitaidentificarEntidadesAtributosRelacionesCardinalidadesDe unadescripcionGuia generalLas entidades son las cosas o los objetos son a menudo los sustantivos en la descripciónLos atributos son los hechos o las propiedades, por lo que a menudo son también los sustantivos Verbos generalmente describen las relaciones entre las entidadesModeloentidadrelación JACM
  • 51.
    Como diseñarmodelos E/REntidadesy atributosA veces es difícil saber si algo es una entidad o un atributoAmbos pueden representan los objetos o los hechos sobre el mundoAmbos son representados por los nombres en las descripcionesGuia generalLas entidades pueden tener atributos, pero los atributos deben ser atómicos y simplesLas entidades pueden tener relaciones entre ellas, pero un atributo solo pertenece a una entidadModeloentidadrelación JACM
  • 52.
    Como diseñarmodelos E/RDepuraciónde DiseñosCon un poco de práctica los digramas E / R se pueden utilizar para planificar las consultasCon solo mirar el diagrama se puedeencontrarinformacionSi usted no puede encontrar la información que necesita, es posible que tenga que cambiar el diseñoEstudiantesTieneinscripcionesEn ModulosSe puedeencontrarunalista de los estudiantesinscritos ?Modeloentidadrelación JACM
  • 53.
    EstudiantestieneInscripcionenModuloComo diseñarmodelos E/RDepuraciónde DiseñosID(3) Para cada instancia de inscripción en elresultado de (2) se encontrar el estudiante correspondienteName(2) Encontrar la instacia de los inscritos con el mismocodigo(1)IDCodigo(1) Encontrar la instancia de un modulo con titulo ‘Sistema de bases de datos’CodigoTituloModeloentidadrelación JACM
  • 54.
    EjemploUna universidad consistede un numero de departamentos. Cada departamento ofrece varios cursos. Un numero de módulos conforman cada curso. Los estudiantes se matriculan en un curso en particular y toman los módulos para la realización de este curso. Cada módulo es explicado por un profesor del departamento correspondiente, y cada profesor es tutor de un grupo de estudiantesModeloentidadrelación JACM
  • 55.
    Ejemplo - RelacionesUnauniversidadconsistede un numero de departamentos.Cadadepartamentoofrecevarioscursos. Un numero de modulosconformancadacurso. Los estudiantesse matriculanen un curso en particular y toman los módulos para la realización de este curso. Cada módulo es explicadopor un profesor del departamento correspondiente, y cada profesor es tutor de un grupo de estudiantesModeloentidadrelación JACM
  • 56.
    Ejemplo- E/R DiagramaEntidades:Departamento, Curso, Modulo, profesor, estudiantesDepartamentoModuloCursoProfesorEstudiantesModeloentidadrelación JACM
  • 57.
  • 58.
    Ejemplo- E/R DiagramaUnnumero de modulosconformancadacursoOfreceDepartamentoincluyeModuloCursosProfesorEstudiantesModeloentidadrelación JACM
  • 59.
    Ejemplo- E/R DiagramaLosestudiantesse matriculanen un curso en particularOfreceDepartamentoincluyeModulosCursosProfesorMatriculanEstudiantesModeloentidadrelación JACM
  • 60.
    Ejemplo- E/R DiagramaLosestudiantes… toman los módulosOfreceDepartamentoincluyeModulosCursosProfesortomanMatriculanEstudiantesModeloentidadrelación JACM
  • 61.
    Ejemplo- E/R DiagramaCada módulo es explicadoporun profesorOfreceDepartamentoincluyeenseñaModulosCursosProfesortomanMatriculanEstudiantesModeloentidadrelación JACM
  • 62.
    Ejemplo- E/R Diagramaun profesordel departamento correspondienteOfreceEmpleaDepartamentoincluyeenseñaModulosCursosProfesortomanmatrículanEstudiantesModeloentidadrelación JACM
  • 63.
    Ejemplo- E/R Diagramacada profesor estutor de un grupo de estudiantesOfreceEmpleaDepartamentoincluyeenseñaModulosCursosProfesortomanMatrículanTutorEstudiantesModeloentidadrelación JACM
  • 64.
  • 65.
    EjemploSe desearepresentarinformacionacerca deproductos en la base de datos. Cadaproductotieneunadescripcion, un precioy un provedor. El provedortienedireccion,numero de telefono y nombres. Cadadireccion se componede unaubicaciónen nomeclatura un zona , un departamento o provincia o estado y un pais.Modeloentidadrelacion JACM
  • 66.
    Ejemplo - Entidades/AtributosEntidadeso atributos:productodescripcionprecioprovedorDirecciónTelefonoNombreCiudaddepartamentoProductos, provedores, y direccion se componen de varioselemntos, por lo anterior, estosobjetosformaranlasentidadesLos otrosson información indivisible porconsiguientepertenecen a unaentidadModeloentidadrelación JACM
  • 67.
  • 68.
    Ejemplo- RelacionesCadaproductotiene unprovedorCadaproductotiene un solo provedorperoesto no impideque un provedorsuministrevariosproductosUnarelacionvarios a unoCadaprovedortieneunadireccionUn provedortieneuna sola direccionNo parece razonable que dos proveedores diferentes tengan la misma dirección Unarelacionuno a unoModeloentidadrelación JACM
  • 69.
    Ejemplo – DiagramaE/RPrecioProductoDescripcionTieneDireccionTieneProvedorDireccionCiudadNombredepartamentoTelefonoModeloentidadrelación JACM