bd clase 04 modelo ere

Download BD Clase 04 Modelo ERE

If you can't read please download the document

Upload: manuelenriqueq

Post on 02-Jan-2016

26 views

Category:

Documents


0 download

TRANSCRIPT

Presentacin de PowerPoint

Modelo ERE

Universidad de los AndesDemin GutierrezMarzo 2011

Modelo ER / Diagramas ER

Modelo Entidad-Relacin (ER)(Chen, 1976)Modelo Entidad-Relacin-Extendido (ERE)(Teorey 1986)Es un modelo de datos de alto nivel (semntico o conceptual) que describe los datos como Entidades, Vnculos y Atributos

Modelo ER / Diagramas ER

Mundo Real(Minimundo)

Esquema InternoEsquema ConceptualEsquema ExternoModeladoERBDTransformacin

Transformacin

El modelo y los diagramas ER nos facilitan el modelado del Esquema Conceptual

Modelo ER / Diagramas ER

El Modelo Entidad Relacin y su representacingrfica (Diagramas Entidad Relacin) son doscosas distintasModeloEntidad-Relacin

(Entidades, Conjuntosde Entidades, Tiposde Entidades, Atributos,Relaciones, entre otros)DiagramaEntidad-Relacin

Se representagrficamenteutilizando

Sin embargo, por razones didcticas, se utilizaranlos Diagramas ER para explicarmuchos de los conceptos del Modelo ER

cmo representamos los distintos conceptos del mundo real?

Mundo Real(Minimundo)consiste en crear una representacin ideal de un objeto real mediante un conjunto de simplificaciones y abstracciones, cuya validez se pretende constatar. La validacin del modelo se lleva a cabo comparando las implicaciones predichas por el mismo con observaciones (Modelado / Wikipedia)

Un modelo es una simplificacin de la realidad, se recogen aquellos aspectos de gran importancia y se omiten los que no tienen relevancia para el nivel de abstraccin dado (Modelado / Wikipedia)

Tipo de Entidad:Es elesqueletoque define que caractersticas comunes comparten todas las entidades de un mismo tipo

Es la descripcin de una entidad. Su nombre y sus caractersticas (atributos)

Entidades, Conjuntos y Tipos

A qu concepto de programacin OO se parece esto?

Entidad:Representauna cosadel mundo real con existencia independiente.Puede serfsicay existir de forma tangible, oconceptual, es decir, existir de forma intangible.

Conjunto de Entidades:Es una agrupacin (coleccin) de entidades quecomparten el mismo tipo.

Entidades, Conjuntos y Tipos

Entidades, Conjuntos y Tipos

e1Cdula=10.546.332Nombre=Pedro PrezEdad=33...e2Cdula=11.334.789Nombre=Miguel RojasEdad=30...e3Cdula=20.502.432Nombre=Silvia MolinaEdad=23...EMPLEADOCdula, Nombre, Edad...Conjunto deEntidadesTipo deEntidad(Metadato)Una EntidadOtra EntidadOtra Mas ...Cmo puedo diferenciar una entidad de otra?

Tipos de Entidades y Atributos

EmpleadoCdulaTelfonoNombrePrimNombrePrimApellidoSegApellidoDedicacinAtributos(Elipses)Entidades(Rectngulos)Los Atributosson propiedades especficas que describen a una entidad. Son elementos caractersticos de una entidad.

Cmo puedo diferenciar una entidad de otra?

Tipos de Atributos (Clave)

Los atributos clave son aquellos que se utilizan paraidentificarde forma nicaa una entidad en un conjunto de entidades.

El valor del atributo claveno se puede repetirparaotra entidaddentro delconjunto de entidadescorrespondiente.CursoNumCursoNomCursoAtributos Clave(Clave Compuesta)EmpleadoCdulaNombreTelfonoAtributoClaveClave:Cdula

Clave:NumCurso + NomCurso

Ms adelante, se ver que ya a nivel de implementacin los atributos derivados tienen la desventaja de que no es posible realizar consultas directas sobre ellos.

Tipos de Atributos (Compuestos)

EmpleadoCdulaTelfonoNombrePrimNombrePrimApellidoSegApellidoDedicacinLos atributos compuestos son aquellos que estn conformadospor la unin de otros atributos.

El atributoNombreno es ms que la composicin de losatributosPrimNombre,PrimApellidoySegApellidoAtributo CompuestoAtributo SimpleAtributo Componente

Tipos de Atributos (Multivaluados)

Los atributos multivaluados son aquellos que pueden tener msde un valor de forma simultnea.

Un automvil puede estar pintado conms de un color, de formasimultnea(Por ejemplo, rojo y negro).AutomvilMatrculaColorColorAtributo MonovaluadoAtributo MultivaluadoCuidado al implementar atributos multivaluados en el modelo relacional. Si se implementan directamente violan la 1era forma normal. Es necesario implementarlos en una relacin aparte.

Tipos de Atributos (Almacenados / Derivados)

Los atributos derivados son aquellos que se pueden calcular enbase a otros atributos, por lo tanto no es necesario guardarlosen la Base de Datos.

Es posible calcular la edad si se conoce la fecha de nacimiento.EmpleadoCdulaEdadNombreFechaNacimientoAtributo AlmacenadoAtributo DerivadoMs adelante, se ver que ya a nivel de implementacin los atributos derivados tienen la desventaja de que no es posible realizar consultas directas sobre ellos.

slo con representar los conceptos ser suficiente?qu ocurre con la forma en que se relacionan los conceptos?

consiste en crear una representacin ideal de un objeto real mediante un conjunto de simplificaciones y abstracciones, cuya validez se pretende constatar. La validacin del modelo se lleva a cabo comparando las implicaciones predichas por el mismo con observaciones (Modelado / Wikipedia)

Un modelo es una simplificacin de la realidad, se recogen aquellos aspectos de gran importancia y se omiten los que no tienen relevancia para el nivel de abstraccin dado (Modelado / Wikipedia)

Relaciones, Conjuntos y Tipos

Relacin: Representa una asociacin particular o un vnculo entre dos o ms entidades.

Conjunto de Relaciones: Es una agrupacin(coleccin) de relaciones que comparten el mismotipo.

Tipo de Relacin: Es la descripcin de unarelacin. Su nombre y sus caractersticas(atributos).

Estos conceptos son bastante similares a los de Entidad, Conjunto de Entidades y Tipo de Entidad

Relaciones (Vnculos)

Vnculos?Vnculos 1:1, 1:N y N:M?

Eso se puede vermejor con un ejemplo

consiste en crear una representacin ideal de un objeto real mediante un conjunto de simplificaciones y abstracciones, cuya validez se pretende constatar. La validacin del modelo se lleva a cabo comparando las implicaciones predichas por el mismo con observaciones (Modelado / Wikipedia)

Un modelo es una simplificacin de la realidad, se recogen aquellos aspectos de gran importancia y se omiten los que no tienen relevancia para el nivel de abstraccin dado (Modelado / Wikipedia)

Vnculo / RelacinTrabaja En / TieneRelaciones (Vnculos)
1:N

Departamentode ControlDepartamentode Computacin

Profesores

Departamentos

Departamentode Investigacinde OperacionesCuntos profesores puedo tener en el conjunto de entidades Profesores?Y en Departamentos?

Con cuantos profesores puede estar asociado un departamento? Y al contrario?

consiste en crear una representacin ideal de un objeto real mediante un conjunto de simplificaciones y abstracciones, cuya validez se pretende constatar. La validacin del modelo se lleva a cabo comparando las implicaciones predichas por el mismo con observaciones (Modelado / Wikipedia)

Un modelo es una simplificacin de la realidad, se recogen aquellos aspectos de gran importancia y se omiten los que no tienen relevancia para el nivel de abstraccin dado (Modelado / Wikipedia)

Vnculo / RelacinDicta / Es dictada porRelaciones (Vnculos)
N:M

Programacin10Bases de Datos

Profesores

Materias

Programacin20Cuntos profesores puedo tener en el conjunto de entidades Profesores?Y en Materias?

Con cuantos profesores puede estar asociado una materia? Y al contrario?

consiste en crear una representacin ideal de un objeto real mediante un conjunto de simplificaciones y abstracciones, cuya validez se pretende constatar. La validacin del modelo se lleva a cabo comparando las implicaciones predichas por el mismo con observaciones (Modelado / Wikipedia)

Un modelo es una simplificacin de la realidad, se recogen aquellos aspectos de gran importancia y se omiten los que no tienen relevancia para el nivel de abstraccin dado (Modelado / Wikipedia)

Relaciones (Vnculos)
1:1

Vnculo / RelacinEs novia de / Es novio de

Chicas

Chicos

Cuntos muchachos puedo tener en el conjunto de entidades Chicos?Y en Chicas?

Con cuantos Chicos puede estar asociados (ser novios) de una Chica en particular? Y al contrario?

consiste en crear una representacin ideal de un objeto real mediante un conjunto de simplificaciones y abstracciones, cuya validez se pretende constatar. La validacin del modelo se lleva a cabo comparando las implicaciones predichas por el mismo con observaciones (Modelado / Wikipedia)

Un modelo es una simplificacin de la realidad, se recogen aquellos aspectos de gran importancia y se omiten los que no tienen relevancia para el nivel de abstraccin dado (Modelado / Wikipedia)

Relaciones (Vnculos)

Los tipos de correspondencia pueden ser de 1:1, 1:N, N:1 o M:N

La cardinalidad define la cantidad mxima o mnima de entidadesque pueden estar asociadas de un lado u otro de la relacin.

Ojo aqu con la nomenclaturaAsiste_AM

N

EstudianteNombreCdulaCursoNumCursoNomCursoRelaciones(Rombos)5,30

1,5

participa_en

tiene

Tipo deCorrespondencia(Razn de Cardinalidad)CardinalidadNotaPueden tener o no AtributosClave:Cdula +NumCurso + NomCursoUn vnculo se puede ver como una conexin semntica entre dos o ms entidades, es decir, una conexin que tiene un significado entre dos o ms entidades

Relaciones (Vnculos) Recursivos

Los vnculos pueden ser recursivos, es decir, relacionar auna entidad consigo misma.

El nombre del papel (rol) indica el papel que una entidaddel tipo especificado desempea en la relacin especificada.SupervisorN

1

EmpleadoTelfonoNombresupervisa

supervisado

Papeles(Roles)Clave:Cdula_Supervisa +Cdula_SupervisadoCdula

Relaciones (Vnculos)
Dependencia Total / Parcial

1

ProfesorNombreCdulaDepartamentoCdigoNombreEs Jefe De1

Pertenece A1

N

Dependencia TotalDependencia ParcialLaDependencia Totalimplica que toda entidad Profesor debe estar relacionada con una entidad Departamento.

LaDependencia Parcial, implica que todas las entidades Departamentos deben estar relacionados con una entidad Profesor, pero no al contrario.

Tambin se les llamaRestriccin de Participacin Total / Parcial

Tipos de Entidades Fuertes / Dbiles

Un Tipo de Entidad Dbil es aquella queno tieneatributos clave propios.

Depende de los atributos clave de otro Tipo de Entidad, a la que usualmente est asociada por medio de una Relacin con Dependencia Total.

CursoSemestre

CdSeccinFechaIniCdCursoNombreN

1

SeccinInstancia UnSalnClave:CdCurso

Clave:CdSeccin + CodCurso

Nmero deEstudiantesPropietarioIdentificadorVnculoIdentificadorEntidad Dbil, (CdSeccin esuna Clave Parcial)Relacin de Dependencia

Aqu se ve claramente porque la dependencia total se le suele llamar dependencia de existencia

Relaciones (Vnculos) ternarios (y n-ario)

UnVnculo Ternarioes aquel en el que participan tres o msTipos de Entidades. Un vinculo n-ario es aquel en el que participan n o ms entidades.

Cuenta CorrienteClienteClienteCuentaNombreCdulaNmeroBalanceN

CdigoSucursal1

Nombre1

Vnculo TernarioClave:Cdula + Cdigo + Nmero

Relaciones (Vnculos) ternarios (y n-ario)

HuertorbolEst EnEspecieCdigoCdigoNombreN

1

FilaColumna

Ubicacin

Tiene1

1

N

HuertorbolEst EnEspecieCdigoCdigoNombreN

1

FilaColumna

Ubicacin

Tiene1

1

especializacin?generalizacin?herencia?

consiste en crear una representacin ideal de un objeto real mediante un conjunto de simplificaciones y abstracciones, cuya validez se pretende constatar. La validacin del modelo se lleva a cabo comparando las implicaciones predichas por el mismo con observaciones (Modelado / Wikipedia)

Un modelo es una simplificacin de la realidad, se recogen aquellos aspectos de gran importancia y se omiten los que no tienen relevancia para el nivel de abstraccin dado (Modelado / Wikipedia)

Especializacin / Generalizacin
(Herencia)

PersonaCdulaNombreApellidooCarreraCosto_Hora

EstudianteProfesorSubclasesTraslapadas (o)o Disjuntas (d)Superclase,Entidad PadreEntidad GeneralizadaSubclase,Entidad HijaEntidad EspecializadaEspecializacin: Es el proceso de tomar un tipo de entidad y generar subclases que tengan atributos especficos.

Generalizacin: Es el proceso de tomar un conjunto de tipos de entidades y abstraer sus atributos comunes en un tipo de entidad padre.

Recordar que la especializacin y la generalizacin son procesos similares pero inversos.

Recordar que en el fondo, tanto la superclase como la(s) subclases asociadas, a pesar de ser desde el punto ER dos entidades distintas, en el fondo estn representando una misma cosa en el mundo real.

Especializacin / Generalizacin
(Herencia)

Restriccin de Disyuncin

Disjunta: Una entidad puede ser miembro de cuando ms una de las subclases.

Traslapada: La misma entidad puede ser miembro de ms de una subclase de la especializacin.

PersonaCdulaNombreApellidodCarreraCosto_Hora

EstudianteProfesorPersonaCdulaNombreApellidooCarreraCosto_Hora

EstudianteProfesorSubclasesDisjuntasSubclasesTraslapadas

Especializacin / Generalizacin
(Herencia)

PersonaCdulaNombreApellidodCarreraCosto_Hora

EstudianteProfesorLa relacin de Herencia puede ser Total o ParcialRestriccin de Disyuncin

Especializacin Total: Toda entidad de lasuperclasedebe tener al menos una entidad en las subclases.

Especializacin Parcial: Es posible tener una entidad en la superclase y ninguna en las subclases.

Categoras

PersonaCdulaNombreApellidoDireccinUCuentaHabiente

CompaaDireccinRIFNombreC1

C2

BancotienecuentaenCategora: Es una relacin superclase / subclase, donde existen mltiples superclases en las que cada una de estas representa diferentes tipos de entidades. La relacin siempre es disjunta, es decir, la subclase solo puede ser una de las superclases a la vez.

Las categoras con restricciones totales, tienen un equivalente de especializacin o generalizacin

Categora(Entidad de la Categora)Un Cuenta Habiente es una Persona o una CompaaLa categoratambin puede serparcial o totalPara futuras clases aqu hay que aadir la categorizacin / total parcial

Para futuras clases hay que aadir un ejemplo adicional, esto suele ser muy confuso.

Tambin hay que aadir las situaciones en las que algo se puede modelar por medio de una categora y por medio de una herencia y el caso en que algo slo se puede modelar por medio de una categora (Navathe tiene un buen ejemplo al respecto)

Un Ejemplo

1

ProfesorDepartamentoCdigoNombreEs Jefe De1

Pertenece A1

N

CursoCoordina1

N

SemestreEstudianteAsiste_ACdSeccinDictaNotaFechaIniM

N

EsResponsableDe1

N

CdCursoNombreN

1

M

N

1,5

5,30

Seccin

InstanciaUnPersonao

NombreCdulaSalarioCarrera

Aqu se puede hablar del esquema externo, por ejemplo, aprovechando la oportunidad de responder a la pregunta Qu cursos han sido aprobados por un estudiante en particular? Eso se puede lograr por medio de una vista que haga un join entre estudiante seccin curso. Claro que a este nivel no podemos hablar de un joint a nivel de SQL o modelo relacional, pero est bien decirlo.

Ejercicio

ejercicios !

Este ejemplo es simple pero est un poco retorcido (Muchas restricciones forzadas), sera mejor buscar un ejemplo un poco mas real, o mostrar un examen de semestres pasados. Se puede usar el de los investigadores, las publicaciones, el financiamiento que anda por ahi

Gracias

Gracias!

Click to edit the title text format

Click to edit the outline text format

Second Outline Level

Third Outline Level

Fourth Outline Level

Fifth Outline Level

Sixth Outline Level

Seventh Outline Level

Eighth Outline Level

Ninth Outline Level

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de subttulo del patrn

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

Haga clic para modificar el estilo de texto del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

Haga clic para modificar el estilo de texto del patrn

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel

Haga clic para modificar el estilo de ttulo del patrn

Haga clic para modificar el estilo de texto del patrn

Segundo nivel

Tercer nivel

Cuarto nivel

Quinto nivel