grupo de estructuras de datos. modelos de datos el modelo entidad / interrelación

72
Grupo de Estructuras de Datos Grupo de Estructuras de Datos

Upload: gregorio-tafoya

Post on 23-Jan-2016

234 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Grupo de Estructuras de DatosGrupo de Estructuras de DatosGrupo de Estructuras de DatosGrupo de Estructuras de Datos

Page 2: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

MODELOS DE DATOSMODELOS DE DATOSEl modelo Entidad / InterrelaciónEl modelo Entidad / InterrelaciónMODELOS DE DATOSMODELOS DE DATOS

El modelo Entidad / InterrelaciónEl modelo Entidad / Interrelación

Page 3: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Conceptos Básicos del Modelado E/R

En la tabla siguiente se muestran algunos de los objetos En la tabla siguiente se muestran algunos de los objetos semánticos usados en el modelado E/R.semánticos usados en el modelado E/R.

Es importante destacar que los ejemplos están elegidos para Es importante destacar que los ejemplos están elegidos para resaltarresaltar que algunas personas podrían tener que algunas personas podrían tener confusiónconfusión al incluir al incluir un objeto del mundo real en una de las clases:un objeto del mundo real en una de las clases:

Esto demuestra que Esto demuestra que es imposible dar una definición precisaes imposible dar una definición precisa de de términos como entidad.términos como entidad.

Uno de los objetivos del modelado semántico, aunque no Uno de los objetivos del modelado semántico, aunque no alcanzado aún por completo, es alcanzado aún por completo, es apoyar esta flexibilidad de apoyar esta flexibilidad de interpretacióninterpretación..

Page 4: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Conceptos Básicos del Modelado E/R

CONCEPTO DEFINICIÓN INFORMAL EJEMPLOS

ENTIDADENTIDAD Un objeto distinguible

Proveedor Parte Envío Empleado Departamento Persona

PROPIEDADPROPIEDADUn elemento de información que describe a una entidad

Número del proveedor Cantidad de envío Departamento del empleado

INTERRELACIÓNINTERRELACIÓNUna entidad que sirve para conectar entre si a otras dos o más entidades

Envío (proveedor – parte) Asignación (empleado – dpto)

SUBTIPOSUBTIPO

El tipo de entidad Y es un subtipo del tipo de entidad X sí y solo sí todo Y es por fuerza un X

Empleado es un subtipo de persona

Otra definición de interrelación:Otra definición de interrelación:Una interrelación es una Una interrelación es una asociación entre entidadesasociación entre entidades..

Page 5: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Presentado por Presentado por ChenChen en 1976, es uno de los en 1976, es uno de los enfoques más enfoques más conocidos y usadosconocidos y usados y desde entonces ha sido refinado de varias y desde entonces ha sido refinado de varias maneras por diversos investigadores.maneras por diversos investigadores.

Este modelo:Este modelo:

IncluyeIncluye análogos de la análogos de la mayoríamayoría de los de los elementos y restriccioneselementos y restricciones estáticos del modelado de datos.estáticos del modelado de datos.

Lleva aparejada una Lleva aparejada una técnica de diagramacióntécnica de diagramación ( (diagramas E/Rdiagramas E/R).).

Se comenzará con el estudio de los diversos elementos y Se comenzará con el estudio de los diversos elementos y restricciones de la estática del modelo E/R y, posteriormente, se restricciones de la estática del modelo E/R y, posteriormente, se estudiarán sus técnicas de diagramación.estudiarán sus técnicas de diagramación.

Sin embargo, desde el comienzo se tendrá presente un sencillo Sin embargo, desde el comienzo se tendrá presente un sencillo ejemplo de este tipo de diagramas que representa a los datos de ejemplo de este tipo de diagramas que representa a los datos de operación de una empresa de fabricación.operación de una empresa de fabricación.

El Modelo Entidad / Interrelación

Page 6: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Entidades

ChenChen define las entidades como define las entidades como cosas que se pueden cosas que se pueden identificar claramenteidentificar claramente..

Se pueden clasificar en:Se pueden clasificar en:

Regulares o fuertes:Regulares o fuertes: Tienen existencia propiaTienen existencia propia, es decir, existen , es decir, existen por si mismas.por si mismas.

Débiles:Débiles: Su existencia Su existencia depende de otra entidaddepende de otra entidad en el sentido de en el sentido de que no pueden existir si no existe también esta otra identidad.que no pueden existir si no existe también esta otra identidad.

• Si se elimina esa identidad de la cual depende, debe Si se elimina esa identidad de la cual depende, debe desaparecer la entidad débil.desaparecer la entidad débil.

Page 7: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

EntidadesPor ejemplo, los dependientes de un empleado podrían ser:Por ejemplo, los dependientes de un empleado podrían ser:

Entidades DébilesEntidades Débiles

No pueden existirNo pueden existir(en lo concerniente a la Base de Datos)(en lo concerniente a la Base de Datos)

Consecuentemente, Consecuentemente, si se elimina a cierto empleadosi se elimina a cierto empleado::

Será necesario eliminar también a todos los dependientes de Será necesario eliminar también a todos los dependientes de ese empleadoese empleado..

Una Una entidad regularentidad regular es una entidad que es una entidad que no es débilno es débil..

Borrado en propagación.Borrado en propagación.

Fidelidad:Fidelidad: Solo a 1.Solo a 1. Siempre al mismo.Siempre al mismo.

Siempre a 1.Siempre a 1.

Si no existe el empleado pertinenteSi no existe el empleado pertinente

Page 8: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Entidades

NOMPILANOMPILA

PATERNOPATERNO

MATERNOMATERNO

ENOMBREENOMBRE

NUMEMPNUMEMP

SALARIOSALARIO

DEPARTMDEPARTM

EMPLEADOEMPLEADO

DEPENDIENTEDEPENDIENTE

DPTO_EMPDPTO_EMP

QTYQTY

PROVEEDORPROVEEDOR

PARTEPARTE

ESTRUCTURAESTRUCTURADE PARTEDE PARTE

PROV_PROV_PARTE_PROYPARTE_PROY PROV_PARTEPROV_PARTE

S#S# SNOMSNOM SITUASITUA CUIDADCUIDAD

CANTCANT

PROYECTOPROYECTO

PROY_TRABAJOPROY_TRABAJO

PROY_GERENTEPROY_GERENTE

11

11 11

MM

MM

MMMM

MM

MM

MM

MM

MM

MM

MMEXPEXP IMPIMP

MM

EMP_DEPENEMP_DEPEN

Page 9: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Las entidades (y las interrelaciones, como se verá posteriormente) Las entidades (y las interrelaciones, como se verá posteriormente) tienen tienen propiedadespropiedades también conocidas como también conocidas como atributosatributos,,

aunque es conveniente evitar este término ya que tendrá un aunque es conveniente evitar este término ya que tendrá un significado específico en el modelo relacional.significado específico en el modelo relacional.

Todas las Todas las entidades de un tipoentidades de un tipo determinado tienen ciertas determinado tienen ciertas propiedades en comúnpropiedades en común..

Cada tipo de propiedad toma sus Cada tipo de propiedad toma sus valoresvalores de un de un conjunto de conjunto de valoresvalores correspondiente ( correspondiente (dominiodominio, en términos relacionales)., en términos relacionales).

Propiedades

Page 10: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Propiedades

Por ejemplo, todos los Por ejemplo, todos los empleadosempleados tienen un tienen un número de empleadonúmero de empleado, , un un nombrenombre, un , un salariosalario ........

NOMPILANOMPILA

PATERNOPATERNO

MATERNOMATERNO

ENOMBREENOMBREENOMBREENOMBRE

NUMEMPNUMEMPNUMEMPNUMEMP

SALARIOSALARIOSALARIOSALARIO

DEPARTMDEPARTM

EMPLEADOEMPLEADOEMPLEADOEMPLEADO

DPTO_EMPDPTO_EMP

EMP_DEPENEMP_DEPEN

QTYQTY

PROVEEDORPROVEEDOR

PARTEPARTE

ESTRUCTURAESTRUCTURADE PARTEDE PARTE

PROV_PROV_PARTE_PROYPARTE_PROY

PROV_PARTEPROV_PARTE

S#S# SNOMSNOM SITUASITUA CUIDADCUIDAD

CANTCANT

PROYECTOPROYECTO

PROY_TRABAJOPROY_TRABAJO

PROY_GERENTEPROY_GERENTE

11

11 11

MM

MM

MMMM

MM

MM

MM

MM

MM

MM

MMEXPEXP IMPIMP

MM

DEPENDIENTEDEPENDIENTE

A propósito de este ejemplo, A propósito de este ejemplo, obsérvese cómo obsérvese cómo no se incluyeno se incluye un un número de departamentonúmero de departamento como como propiedad de los empleados, tal y propiedad de los empleados, tal y como a primera vista como a primera vista parecería parecería lógicológico hacer. hacer.

Se pospone la explicación de este Se pospone la explicación de este hecho hasta haber analizado las hecho hasta haber analizado las interrelacionesinterrelaciones

Page 11: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Clasificación de las Propiedades

NOMPILANOMPILANOMPILANOMPILA

PATERNOPATERNOPATERNOPATERNO

MATERNOMATERNOMATERNOMATERNO

ENOMBREENOMBREENOMBREENOMBRE

NUMEMPNUMEMP

SALARIOSALARIO

DEPARTMDEPARTM

EMPLEADOEMPLEADO

DPTO_EMPDPTO_EMP

EMP_DEPENEMP_DEPEN

QTYQTY

PROVEEDORPROVEEDOR

PARTEPARTE

ESTRUCTURAESTRUCTURADE PARTEDE PARTE

PROV_PROV_PARTE_PROYPARTE_PROY

PROV_PARTEPROV_PARTE

S#S# SNOMSNOM SITUASITUA CUIDADCUIDAD

CANTCANT

PROYECTOPROYECTO

PROY_TRABAJOPROY_TRABAJO

PROY_GERENTEPROY_GERENTE

11

11 11

MM

MM

MMMM

MM

MM

MM

MM

MM

MM

MMEXPEXP IMPIMP

MM

DEPENDIENTEDEPENDIENTE

APELLIDO PATERNOAPELLIDO PATERNO

APELLIDO MATERNOAPELLIDO MATERNO

SIMPLESSIMPLES COMPUESTASCOMPUESTAS

NOMBRE EMPLEADONOMBRE EMPLEADO

NOMBRENOMBRE

Page 12: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Clasificación de las Propiedades

NOMPILANOMPILA

PATERNOPATERNO

MATERNOMATERNO

ENOMBREENOMBRE

NUMEMPNUMEMP

SALARIOSALARIO

DEPARTMDEPARTM

EMPLEADOEMPLEADO

DPTO_EMPDPTO_EMP

EMP_DEPENEMP_DEPEN

QTYQTY

PROVEEDORPROVEEDOR

PARTEPARTE

ESTRUCTURAESTRUCTURADE PARTEDE PARTE

PROV_PROV_PARTE_PROYPARTE_PROY PROV_PARTEPROV_PARTE

S#S# SNOMSNOM SITUASITUA CUIDADCUIDAD

CANTCANT

PROYECTOPROYECTO

PROY_TRABAJOPROY_TRABAJO

PROY_GERENTEPROY_GERENTE

11

11 11

MM

MM

MM MM

MM

MM

MM

MM

MM

MM

MMEXPEXP IMPIMP

MM

DEPENDIENTEDEPENDIENTE

Las propiedades puede ser:Las propiedades puede ser: CLAVESCLAVES: Es decir, : Es decir, únicasúnicas..

Aunque Aunque quizásquizás lo sean sólo dentro de algún contexto lo sean sólo dentro de algún contexto..

Por ejemplo, Por ejemplo, el nombre de un dependiente podría ser único sólo el nombre de un dependiente podría ser único sólo dentro del contexto de un número de empleado dadodentro del contexto de un número de empleado dado ..

Page 13: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Clasificación de las Propiedades UNIVALUADAS.UNIVALUADAS.

MULTIVALUADASMULTIVALUADAS: : Pueden presentar Pueden presentar cualquier número de cualquier número de valoresvalores para cada una de las entidades del tipo correspondiente. para cada una de las entidades del tipo correspondiente. Por ejemplo,Por ejemplo, la propiedad TELÉFONO puede representar el la propiedad TELÉFONO puede representar el

hecho de que cada proveedor puede poseer un conjunto de hecho de que cada proveedor puede poseer un conjunto de números de teléfononúmeros de teléfono..

NOMPILANOMPILA

PATERNOPATERNO

MATERNOMATERNO

ENOMBREENOMBRE

NUMEMPNUMEMP

SALARIOSALARIO

DEPARTMDEPARTM

EMPLEADOEMPLEADO

DPTO_EMPDPTO_EMP

EMP_DEPENEMP_DEPEN

QTYQTY

PROVEEDORPROVEEDOR

PARTEPARTE

ESTRUCTURAESTRUCTURADE PARTEDE PARTE

PROV_PROV_PARTE_PROYPARTE_PROY PROV_PARTEPROV_PARTE

CANTCANT

PROYECTOPROYECTO

PROY_TRABAJOPROY_TRABAJO

PROY_GERENTEPROY_GERENTE

11

11 11

MM

MM

MM MM

MM

MM

MM

MM

MM

MM

MMEXPEXP IMPIMP

MM

DEPENDIENTEDEPENDIENTE

S#S# SNOMSNOM SITUASITUA CUIDADCUIDAD TELEFTELEF

Page 14: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Clasificación de las Propiedades FALTANTESFALTANTES: Es decir, : Es decir, desconocidas o no aplicablesdesconocidas o no aplicables..

Por ejemplo,Por ejemplo, la propiedad CIUDAD de la entidad PROVEEDOR la propiedad CIUDAD de la entidad PROVEEDOR puede ser desconocida para algún proveedor concretopuede ser desconocida para algún proveedor concreto..

Por otro lado, Por otro lado, la propiedad SITUACIÓN puede no ser aplicable a la propiedad SITUACIÓN puede no ser aplicable a determinados proveedoresdeterminados proveedores..

BASE o DERIVADA.BASE o DERIVADA.

Por ejemplo,Por ejemplo, la cantidad total de una parte podría derivarse la cantidad total de una parte podría derivarse sumando las cantidades base de los envíos individuales de esa sumando las cantidades base de los envíos individuales de esa parteparte..

Page 15: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Interrelaciones

NOMPILANOMPILA

PATERNOPATERNO

MATERNOMATERNO

ENOMBREENOMBRE

NUMEMPNUMEMP

SALARIOSALARIO

DEPARTMDEPARTM

EMPLEADOEMPLEADO

DPTO_EMPDPTO_EMP

EMP_DEPENEMP_DEPEN

QTYQTY

PROVEEDORPROVEEDOR

PARTEPARTE

ESTRUCTURAESTRUCTURADE PARTEDE PARTE

PROV_PROV_PARTE_PROYPARTE_PROY PROV_PARTEPROV_PARTE

S#S# SNOMSNOM SITUASITUA CUIDADCUIDAD

CANTCANT

PROYECTOPROYECTO

PROY_TRABAJOPROY_TRABAJO

PROY_GERENTEPROY_GERENTE

11

11 11

MM

MM

MM MM

MM

MM

MM

MM

MM

MM

MMEXPEXP IMPIMPMM

DEPENDIENTEDEPENDIENTE

Al igual que en las entidades, Al igual que en las entidades, es es necesario distinguir entre necesario distinguir entre tipostipos y y casoscasos (u ocurrencias) de (u ocurrencias) de interrelaciones interrelaciones (aunque en la (aunque en la mayoría de las ocasiones se mayoría de las ocasiones se prescindirá de tales refinamientos prescindirá de tales refinamientos para análisis informales).para análisis informales).

Para Para ChenChen, una , una interrelacióninterrelación es es una vinculación entre entidades.una vinculación entre entidades.

Por ejemplo,Por ejemplo, existe una existe una interrelación entre departamentos interrelación entre departamentos y empleados (DPTO_EMP) que y empleados (DPTO_EMP) que representa el hecho de que un representa el hecho de que un cierto departamento ocupa un cierto departamento ocupa un conjunto dado de empleadosconjunto dado de empleados..

Page 16: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Participantes y Grado

Se dice que Se dice que las entidades implicadaslas entidades implicadas en una interrelación dada en una interrelación dada son los son los PARTICIPANTESPARTICIPANTES de la misma. de la misma.

Al Al número de participantesnúmero de participantes se le conoce como se le conoce como GRADOGRADO de esa de esa interrelacióninterrelaciónACLARACIÓNACLARACIÓN::

Este término no significa lo mismo en este modelo que lo que Este término no significa lo mismo en este modelo que lo que simbolizará en el modelo relacional.simbolizará en el modelo relacional.

PROVEEDORPROVEEDOR

PROV_PROV_PARTE_PROYPARTE_PROYPARTEPARTE PROYECTOPROYECTO

INTERRELACIÓN DE GRADO 3INTERRELACIÓN DE GRADO 3

MODELO E/RMODELO E/RMODELO RELACIONALMODELO RELACIONAL

S#S# P#P# QTYQTY

RELACIÓN DE GRADO 3RELACIÓN DE GRADO 3

SPSP

Page 17: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Participación en Interrelaciones

Si Si cada casocada caso de de EE participa en participa en por lo menos un casopor lo menos un caso de de RR, se , se dice que dice que la participación de E la participación de E en Ren R es es TOTALTOTAL..

En En caso contrariocaso contrario se dice que se dice que la la participaciónparticipación es es PARCIALPARCIAL..

Sea Sea RR un tipo de interrelación en la cual un tipo de interrelación en la cual participaparticipa el tipo de entidad el tipo de entidad EE::

Si Si todotodo empleadoempleado debe debe pertenecerpertenecer a un a un departamentodepartamento

La La participaciónparticipación de empleados de empleados en en DPTO_EMPDPTO_EMP es es TOTALTOTAL

Si Si unun empleado empleado puede no puede no pertenecerpertenecer a a departamentodepartamento alguno alguno

La La participaciónparticipación de empleados en de empleados en DPTO_EMPDPTO_EMP es es PARCIALPARCIAL

La La CARDINALIDAD MÍNIMACARDINALIDAD MÍNIMA de la de la participación de departamento en este participación de departamento en este

tipo de interrelación es tipo de interrelación es 00

Dado que un empleado no se relaciona Dado que un empleado no se relaciona obligatoriamente con un departamentoobligatoriamente con un departamento

La La CARDINALIDAD MÍNIMACARDINALIDAD MÍNIMA de la de la participación de departamento en este participación de departamento en este

tipo de interrelación es tipo de interrelación es 11

Dado que cada empleado se relaciona Dado que cada empleado se relaciona con al menos un departamentocon al menos un departamento

Page 18: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Multiplicidad de las Interrelaciones

UNO A UNOUNO A UNO

1 : 11 : 1

UnaUna entidad entidad tipo Atipo A se puede asociar, se puede asociar, como muchocomo mucho, con , con unauna entidad entidad tipo Btipo B..

UnaUna entidad entidad tipo Btipo B se puede asociar, se puede asociar, como muchocomo mucho, con , con unauna entidad entidad tipo Atipo A..

A = hombres ; B = mujeresA = hombres ; B = mujeres A_B = MATRIMONIOS VIGENTESA_B = MATRIMONIOS VIGENTES

UNO A MUCHOS (MUCHOS A UNO)UNO A MUCHOS (MUCHOS A UNO)

1 : N (N : 1)1 : N (N : 1)

UnaUna entidad entidad tipo Atipo A se puede asociar con se puede asociar con cualquier númerocualquier número de entidades de entidades tipo Btipo B..

UnaUna entidad entidad tipo Btipo B se puede asociar, se puede asociar, como muchocomo mucho, con , con unauna entidad entidad tipo Atipo A..

A = equipo ; B = jugadorA = equipo ; B = jugador A_B = FICHA EN VIGORA_B = FICHA EN VIGOR

MUCHOS A MUCHOSMUCHOS A MUCHOS

N : NN : N

UnaUna entidad entidad tipo Atipo A se puede asociar con se puede asociar con cualquier númerocualquier número de entidades de entidades tipo Btipo B..

UnaUna entidad entidad tipo Btipo B se puede asociar con se puede asociar con cualquier númerocualquier número de entidades de entidades tipo Atipo A..

A = alumno ; B = asignatura A = alumno ; B = asignatura A_B = MATRÍCULAA_B = MATRÍCULA

Sea un tipo de interrelación Sea un tipo de interrelación A_BA_B entre los tipos de entidades entre los tipos de entidades AA y y BB. . La La multiplicidadmultiplicidad de de A_BA_B puede ser: puede ser:

Page 19: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Cardinalidad Máxima

El concepto de El concepto de multiplicidadmultiplicidad se asocia a las se asocia a las cardinalidades cardinalidades máximasmáximas de las participaciones de los tipos de entidades en los de las participaciones de los tipos de entidades en los tipos de interrelaciones:tipos de interrelaciones:

AA participa en participa en A_BA_B con una con una CARDINALIDAD MÁXIMA 1CARDINALIDAD MÁXIMA 1 si si una una ocurrenciaocurrencia de de BB puede estar vinculada como mucho a puede estar vinculada como mucho a 11

ocurrencia de ocurrencia de A.A.

AA participa en participa en A_BA_B con una con una CARDINALIDAD MÁXIMA CARDINALIDAD MÁXIMA si si una una

ocurrencia de ocurrencia de BB puede estar vinculada a puede estar vinculada a cualquier númerocualquier número de de ocurrencias de ocurrencias de AA..

La La multiplicidadmultiplicidad es el es el conjunto de cardinalidades máximas de conjunto de cardinalidades máximas de los participanteslos participantes en un tipo de interrelación. en un tipo de interrelación.

Page 20: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Cardinalidades Especiales

Para concretar una Para concretar una cardinalidad máximacardinalidad máxima determinada determinada mayor mayor que 1que 1 (1 (1 << MAX MAX < < )) puede asumirse:. puede asumirse:.

como como cardinalidad máxima.cardinalidad máxima.

Y definirse una Y definirse una restricción semántica adicionalrestricción semántica adicional que exprese el que exprese el valor máximo realvalor máximo real..

Para concretar una Para concretar una cardinalidad mínimacardinalidad mínima determinada determinada mayor que mayor que 11 (MIN (MIN >> 1) 1) puede asumirse: puede asumirse:

11 como como cardinalidad mínimacardinalidad mínima..

como como cardinalidad máxima.cardinalidad máxima.

Y definirse una Y definirse una restricción semántica adicionalrestricción semántica adicional que exprese el que exprese el valor mínimo realvalor mínimo real..

Page 21: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Cardinalidades en Tipos de Interrelaciones conGrado mayor que 2

Por cuestiones de Por cuestiones de sencillezsencillez en los ejemplos, hasta aquí en los ejemplos, hasta aquí hemos hemos supuesto que todas las interrelaciones sonsupuesto que todas las interrelaciones son binariasbinarias (Grado 2) (Grado 2) y hemos hablado de:y hemos hablado de:

Multiplicidad:Multiplicidad:

1 : 1 ; 1 : N ; N : N1 : 1 ; 1 : N ; N : N

Interrelación R (A , B) con las cardinalidades:Interrelación R (A , B) con las cardinalidades:

R (A (MINR (A (MIN A A , MAX, MAX A A ) , B (MIN) , B (MIN B B , MAX, MAX B B ) )) )

Por supuesto que tanto los Por supuesto que tanto los conceptosconceptos como la como la terminología para terminología para expresar interrelaciones de mayor grado pueden extenderseexpresar interrelaciones de mayor grado pueden extenderse ..

Page 22: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Cardinalidades en Tipos de Interrelaciones conGrado mayor que 2

En general, para un tipo de interrelación En general, para un tipo de interrelación R, n-ariaR, n-aria

(( n > 2n > 2 ) R () R ( PP 1 1 , . . . , P, . . . , P n n ))

Hay que expresar el Hay que expresar el número de ocurrenciasnúmero de ocurrencias de de RR en las que pueden en las que pueden participar las ocurrencias de cualquier subconjunto de los tipos de participar las ocurrencias de cualquier subconjunto de los tipos de entidades participantes.entidades participantes.

Hay que expresar las Hay que expresar las cardinalidades mínima y máximacardinalidades mínima y máxima de las de las parejas de subconjuntosparejas de subconjuntos

R (R ( A (A ( MINMIN A A , MAX, MAX A A ) , B () , B ( MINMIN B B , MAX, MAX B B ) )) )

Donde Donde AA y y BB representan subconjuntos disjuntos del conjunto de representan subconjuntos disjuntos del conjunto de participantes tales que:participantes tales que:

A A B = { B = { AA 1 1 , . . . , A, . . . , A n n }}

Indicando de esta forma que Indicando de esta forma que una ocurrencia del subconjuntouna ocurrencia del subconjunto B (O B (O A)A) se interrelaciona a través dese interrelaciona a través de RR con cualquier númerocon cualquier número mm de de ocurrencias del subconjuntoocurrencias del subconjunto A (O B)A (O B) tal que: tal que:

MINMIN A A < = m < = MAX< = m < = MAX A A ( ( O MINO MIN B B < = m < = MAX< = m < = MAX B B ))

Page 23: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Ejemplo de Interrelación Ternaria

PROFESORPROFESOR

DOCENCIADOCENCIA

GRUPOGRUPOASIGNATURAASIGNATURA

HORARIOHORARIO

Lo que sigue es una interpretación de la semántica expresada por Lo que sigue es una interpretación de la semántica expresada por las cardinalidades de:las cardinalidades de:

DOCENCIA (DOCENCIA ( PROFESOR , ASIGNATURA – GRUPOPROFESOR , ASIGNATURA – GRUPO ))

Docencia (Docencia ( Profesor (Profesor ( 0 , 10 , 1 ) , Asignatura – Grupo () , Asignatura – Grupo ( 1 , 1 , )) ))

Docencia (Docencia ( Grupo (Grupo ( 0 , 0 , ) , Profesor – Asignatura () , Profesor – Asignatura ( 1 , 1 , )) )) Docencia (Docencia ( Asignatura (Asignatura ( 0 , 0 , ) , Profesor – Grupo ( 1 , ) , Profesor – Grupo ( 1 , )) ))

Page 24: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

DOCENCIADOCENCIA

PROFESORPROFESOR

GRUPOGRUPOASIGNATURAASIGNATURA

HORARIOHORARIO Docencia (Docencia ( Profesor (Profesor ( 0 , 10 , 1 ) , Asignatura – Grupo () , Asignatura – Grupo ( 1 , 1 , )) ))

Docencia (Docencia ( Grupo (Grupo ( 0 , 0 , ) , Profesor – Asignatura () , Profesor – Asignatura ( 1 , 1 , )) ))

Docencia (Docencia ( Asignatura (Asignatura ( 0 , 0 , ) , Profesor – Grupo ( 1 , ) , Profesor – Grupo ( 1 , )) ))

No todas las combinaciones Asignatura – Grupo reciben docencia de algún No todas las combinaciones Asignatura – Grupo reciben docencia de algún profesor:profesor:

Probablemente porque no todos los grupos reciben todas las asignaturasProbablemente porque no todos los grupos reciben todas las asignaturas

LLos grupos reciben las asignaturasos grupos reciben las asignaturas de un único profesor de un único profesor

Cada profesor imparte al menos una asignatura a un grupoCada profesor imparte al menos una asignatura a un grupo

Las combinaciones Asignatura – Grupo sólo pueden relacionarse con un Las combinaciones Asignatura – Grupo sólo pueden relacionarse con un profesor:profesor:

Cada profesor imparte docencia en al menos una combinación Asignatura – Cada profesor imparte docencia en al menos una combinación Asignatura – Grupo:Grupo:

Cada profesor puede impartir docencia en muchas combinaciones Asignatura – Cada profesor puede impartir docencia en muchas combinaciones Asignatura – Grupo:Grupo:

Cada profesor puede impartir diferentes asignaturas al mismo grupo, la Cada profesor puede impartir diferentes asignaturas al mismo grupo, la misma asignatura a diferentes grupos o diferentes asignaturas a diferentes misma asignatura a diferentes grupos o diferentes asignaturas a diferentes gruposgrupos

Page 25: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Ejemplo de Interrelación Ternaria

PROFESORPROFESOR

DOCENCIADOCENCIA

GRUPOGRUPOASIGNATURAASIGNATURA

HORARIOHORARIO

Docencia (Docencia ( Profesor (Profesor ( 0 , 10 , 1 ) , Asignatura – Grupo () , Asignatura – Grupo ( 1 , 1 , )) ))

Docencia (Docencia ( Grupo (Grupo ( 0 , 0 , ) , Profesor – Asignatura () , Profesor – Asignatura ( 1 , 1 , )) )) Docencia (Docencia ( Asignatura (Asignatura ( 0 , 0 , ) , Profesor – Grupo ( 1 , ) , Profesor – Grupo ( 1 , )) ))

Las cardinalidades de las otras parejas de subconjuntos de la Las cardinalidades de las otras parejas de subconjuntos de la interrelación ternaria pueden interpretarse de forma parecida, por interrelación ternaria pueden interpretarse de forma parecida, por lo que se dejan como ejercicio para el alumno.lo que se dejan como ejercicio para el alumno.

Page 26: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Multiplicidad y Participación en Tipos deInterrelaciones con Grado mayor que 2

La La multiplicidadmultiplicidad como expresión de las como expresión de las cardinalidadescardinalidades máximasmáximas y la y la participaciónparticipación como manifestación de las como manifestación de las mínimasmínimas, , dan una representación directa que quizás es más clara dan una representación directa que quizás es más clara simbólicamentesimbólicamente..

El tipo de interrelación del ejemplo anterior:El tipo de interrelación del ejemplo anterior: Presenta una MULTIPLICIDAD Presenta una MULTIPLICIDAD 1 : N : N1 : N : N

Porque estas son las Porque estas son las cardinalidades máximascardinalidades máximas de los tipos de de los tipos de entidades participantes.entidades participantes.

Expresa PARTICIPACIÓN TOTAL Expresa PARTICIPACIÓN TOTAL de todos los participantesde todos los participantes..

Dadas las Dadas las cardinalidades mínimascardinalidades mínimas de los subconjuntos de de los subconjuntos de tipos de entidades interrelacionados sucesivamente con tipos de entidades interrelacionados sucesivamente con profesores, asignaturas y grupos.profesores, asignaturas y grupos.

Page 27: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Multiplicidad y Participación en Tipos deInterrelaciones con Grado mayor que 2

Esta expresión en multiplicidades y participaciones Esta expresión en multiplicidades y participaciones resulta ideal resulta ideal para el Modelo E/Rpara el Modelo E/R dado que, como se verá posteriormente, dado que, como se verá posteriormente, es es completamente representable en los Diagramas E/Rcompletamente representable en los Diagramas E/R..

En general, En general, sea el tipo de interrelación ternaria A_B_C cuyos sea el tipo de interrelación ternaria A_B_C cuyos participantes son los tipos de entidades A , B , Cparticipantes son los tipos de entidades A , B , C:: En ella se pueden dar las siguientes multiplicidades:En ella se pueden dar las siguientes multiplicidades:

1 : 1 : 1 ; 1 : 1 : N ; 1 : N : N ; N : N : N1 : 1 : 1 ; 1 : 1 : N ; 1 : N : N ; N : N : N

Se pueden expresar participaciones totales en los tipos de Se pueden expresar participaciones totales en los tipos de entidades participantes que se enfrenten a interrelaciones entidades participantes que se enfrenten a interrelaciones parciales con subconjuntos de tipos de entidades que tengan 1 parciales con subconjuntos de tipos de entidades que tengan 1 como cardinalidad mínima.como cardinalidad mínima.

Page 28: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Multiplicidad y Participación en Tipos deInterrelaciones con Grado mayor que 2

Sin embargo, se observa que Sin embargo, se observa que la expresión mediante la expresión mediante cardinalidades nos da más información que la simbolizada cardinalidades nos da más información que la simbolizada por las multiplicidades y participacionespor las multiplicidades y participaciones. En concreto:. En concreto:

Las cardinalidades mínimas de los tipos de entidades Las cardinalidades mínimas de los tipos de entidades participantes en la interrelación ternaria.participantes en la interrelación ternaria.

Las cardinalidades máximas de los subconjuntos de tipos Las cardinalidades máximas de los subconjuntos de tipos de entidades enfrentados a ellos en las sucesivas de entidades enfrentados a ellos en las sucesivas interrelaciones parciales.interrelaciones parciales.

Esta información no será representable en los Diagramas Esta información no será representable en los Diagramas E/R,E/R, aunque siempre se podrán acompañar de la expresión aunque siempre se podrán acompañar de la expresión mediante cardinalidades si fuese imprescindible añadir mediante cardinalidades si fuese imprescindible añadir alguna información adicional al diagramaalguna información adicional al diagrama..

Page 29: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Multiplicidad y Participación en Tipos deInterrelaciones con Grado mayor que 2

Desde el punto de vista de las cardinalidades, Desde el punto de vista de las cardinalidades, la extensión de la extensión de estos comentarios a tipos de interrelaciones con estos comentarios a tipos de interrelaciones con Grado > 3Grado > 3 es inmediata:es inmediata:

Aumenta la cantidad de información expresable mediante Aumenta la cantidad de información expresable mediante las cardinalidades de las interrelaciones parciales de las cardinalidades de las interrelaciones parciales de subconjuntos de tipos de entidades que no es subconjuntos de tipos de entidades que no es representable mediante las multiplicidades y representable mediante las multiplicidades y participaciones y, consecuentemente, mediante los participaciones y, consecuentemente, mediante los Diagramas E/R.Diagramas E/R.

Nótese que para Nótese que para Grado 4 Grado 4 ya aparecen interrelaciones ya aparecen interrelaciones parciales entre los subconjuntos de tamaño 2, aparte de parciales entre los subconjuntos de tamaño 2, aparte de aquellas entre un participante y los subconjuntos de aquellas entre un participante y los subconjuntos de tamaño 3.tamaño 3.

Page 30: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Tipos de Interrelaciones Débiles:Dependencia en Existencia

Según sus participantesSegún sus participantes, los tipos de interrelación se clasifican , los tipos de interrelación se clasifican en:en:

DÉBILES:DÉBILES: Si asocian a un tipo de entidad débil con su Si asocian a un tipo de entidad débil con su tipo de entidad regular.tipo de entidad regular.

REGULARES:REGULARES: Las demás. Las demás.

Además, un tipo de Además, un tipo de interrelación débilinterrelación débil exige siempreexige siempre que las que las cardinalidades del participante regular sean (1 , 1)cardinalidades del participante regular sean (1 , 1) ..

Si existe Si existe dependencia en existenciadependencia en existencia en la en la interrelación débilinterrelación débil::

Las ocurrencias del tipo de entidad débil Las ocurrencias del tipo de entidad débil no pueden existir sin la no pueden existir sin la ocurrencia de la entidad regular de la que dependenocurrencia de la entidad regular de la que dependen..

Si desaparece una ocurrencia de un tipo de entidad regular, Si desaparece una ocurrencia de un tipo de entidad regular, todas todas

las ocurrencias de la entidad débil que dependen en existencia las ocurrencias de la entidad débil que dependen en existencia de la misma desaparecen con ellade la misma desaparecen con ella..

Page 31: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Ejemplo de Dependencia en Existencia

La interrelación La interrelación se_componese_compone es un tipo de es un tipo de interrelación débilinterrelación débil que presenta una que presenta una dependencia en existencia del tipo de dependencia en existencia del tipo de entidad débilentidad débil departamentodepartamento hacia el tipo de hacia el tipo de entidad regularentidad regular institucióninstitución::

INSTITUCIÓNINSTITUCIÓN

DEPARTAMENTODEPARTAMENTO

se_componese_compone

EE

(1 , 1)(1 , 1)

(0 , n)(0 , n)

1 : N1 : N

Page 32: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Ejemplo de Dependencia en Existencia

LIBROLIBRO

11

TieneTiene

EJEMPLAREJEMPLAR

TieneTiene

MM

SOCIOSOCIO

No es débil y sin embargo uno de sus participantes es débil

No es la entidad regular de Ejemplar

Page 33: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Tipos de Interrelaciones Débiles:Dependencia en Identificación

Si Si ademásademás de la de la dependencia en existenciadependencia en existencia sucede que: sucede que:

Las ocurrencias del tipo de Las ocurrencias del tipo de entidad débil no se pueden entidad débil no se pueden identificar mediante sus identificar mediante sus propios atributospropios atributos puesto que puesto que su su identificadoridentificador sólo permite sólo permite distinguir entre aquellas distinguir entre aquellas ocurrencias que dependen de ocurrencias que dependen de una misma ocurrencia del tipo una misma ocurrencia del tipo de entidad regular.de entidad regular.

Se tiene que añadir la clave de Se tiene que añadir la clave de la ocurrencia de la entidad la ocurrencia de la entidad regular de la cual dependenregular de la cual dependen para lograr distinguir entre para lograr distinguir entre todas las ocurrencias del tipo todas las ocurrencias del tipo de entidad débil (identificación de entidad débil (identificación total).total).

Se dice que Se dice que existe dependencia en identificaciónexiste dependencia en identificación del del participante débil hacia el regular y al identificador parcial de la participante débil hacia el regular y al identificador parcial de la entidad débil se le denomina entidad débil se le denomina discriminantediscriminante o o clave parcialclave parcial..

Page 34: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Ejemplo de Dependencia en Identificación

Por ejemplo, el tipo de Por ejemplo, el tipo de interrelación débilinterrelación débil Tiene Tiene presenta una presenta una dependencia en identificacióndependencia en identificación del tipo de del tipo de entidad débilentidad débil EJEMPLAR EJEMPLAR haciahacia el tipo de el tipo de entidad regularentidad regular LIBROLIBRO..

Bajo la suposición de que la Bajo la suposición de que la propiedad propiedad Num_EjemplarNum_Ejemplar identificaidentifica a una ocurrencia a una ocurrencia de de EJEMPLAREJEMPLAR entre los entre los ejemplares de un mismo ejemplares de un mismo LIBRO LIBRO ((ES discriminanteES discriminante).).

Pero puede repetirse entre Pero puede repetirse entre ejemplares de diferentes ejemplares de diferentes libros (libros (NO ES claveNO ES clave).).

Num_EjemplarNum_Ejemplar

para identificar a EJEMPLAR se necesitapara identificar a EJEMPLAR se necesitaCod_Libro + Num_EjemplarCod_Libro + Num_Ejemplar

LIBROLIBRO

(1 , 1)(1 , 1)

TieneTieneIDID

Cod_LibroCod_Libro

(1 , n)(1 , n)

1 : N1 : N

EJEMPLAREJEMPLAR

Por supuesto, Por supuesto, los ejemplares también dependen en existencia de los ejemplares también dependen en existencia de los libros.los libros.

Page 35: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Subtipos

Toda entidad pertenece, al menos, a un tipo de Toda entidad pertenece, al menos, a un tipo de entidadentidad

Este es un concepto añadido a la versión original de Este es un concepto añadido a la versión original de ChenChen..

Si algunosSi algunos empleadosempleados son son programadoresprogramadoresyy

todos los todos los programadoresprogramadores son son empleadosempleados

programadorprogramador es un es un subtiposubtipo del del supertiposupertipo empleadoempleado

podríamos decir que

Sin embargo, Sin embargo, una entidad una entidad puede ser de varios tipos al mismo puede ser de varios tipos al mismo tiempotiempo. Por ejemplo:. Por ejemplo:

Page 36: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Subtipos

Todas las propiedades de los empleados se aplican de Todas las propiedades de los empleados se aplican de manera automática a los programadores,manera automática a los programadores, pero lo contrario no pero lo contrario no se cumplese cumple..

Por ejemplo: Por ejemplo:

Los programadores podrían tener una propiedad Los programadores podrían tener una propiedad lenguaje principal lenguaje principal de programaciónde programación que no se aplica a los empleados en general. que no se aplica a los empleados en general.

De forma similar, De forma similar, los programadores participan de manera los programadores participan de manera automática en todas las interrelaciones en las que participan automática en todas las interrelaciones en las que participan los empleados,los empleados, pero lo contrario no es ciertopero lo contrario no es cierto..

Por ejemplo: Por ejemplo:

Los programadores podrían Los programadores podrían pertenecer a algún colegio pertenecer a algún colegio profesionalprofesional, sin que esto suceda con los empleados en general., sin que esto suceda con los empleados en general.

Page 37: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Jerarquías de Tipos

En otras palabras, En otras palabras, un subtipo de entidad sigue siendo un tipo de un subtipo de entidad sigue siendo un tipo de entidad y, por tanto, puede tener sus propios subtiposentidad y, por tanto, puede tener sus propios subtipos ..

Así pues, para un tipo de entidad dado Así pues, para un tipo de entidad dado puede formarse una puede formarse una

jerarquía de tipos que incluiría a sus subtipos inmediatos, a los jerarquía de tipos que incluiría a sus subtipos inmediatos, a los subtipos de estos y así sucesivamentesubtipos de estos y así sucesivamente..

Algunos Algunos programadoresprogramadores podrían ser podrían ser de aplicacionesde aplicaciones y otros y otros de de sistemassistemas.. aplicacionesaplicaciones y y sistemassistemas seríanserían subtipossubtipos del del supertiposupertipo programadorprogramador..

EMPLEADOEMPLEADO

PROGRAMADORPROGRAMADOR

APLICACIONESAPLICACIONES SISTEMASSISTEMAS

Page 38: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Jerarquías de Tipos

A las jerarquías de tipos se las conoce con diversos nombres:A las jerarquías de tipos se las conoce con diversos nombres:

Jerarquías de GENERALIZACIÓN:Jerarquías de GENERALIZACIÓN: Por la razón de que, por Por la razón de que, por ejemplo, un empleado es una generalización de un ejemplo, un empleado es una generalización de un programador.programador.

Jerarquías de ESPECIALIZACIÓN:Jerarquías de ESPECIALIZACIÓN: Por la razón de que, por Por la razón de que, por ejemplo, un programador es una especialización de un ejemplo, un programador es una especialización de un empleado.empleado.

Jerarquías ES-UN (Jerarquías ES-UN (ISA, en inglésISA, en inglés):): Por la razón de que, por Por la razón de que, por ejemplo, todo programador es un empleado.ejemplo, todo programador es un empleado.

En realidad, esta diversidad de nombres proviene del reconocimiento En realidad, esta diversidad de nombres proviene del reconocimiento del siguiente hecho:del siguiente hecho:

La generalización es un La generalización es un mecanismo de abstracciónmecanismo de abstracción que que permite permite definir relaciones de subclasedefinir relaciones de subclase entre tipos de entre tipos de entidadesentidades y que se puede realizar siguiendo diferentes pasos. y que se puede realizar siguiendo diferentes pasos.

Page 39: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Especialización

Dentro de un tipo de entidad existente, se definen Dentro de un tipo de entidad existente, se definen subconjuntos de ocurrencias subconjuntos de ocurrencias no necesariamente disjuntosno necesariamente disjuntos con características diferenciadoras con características diferenciadoras estáticas y/o dinámicasestáticas y/o dinámicas..

CLIENTECLIENTE

DNIDNI NOMBRENOMBRE

VIAJANTEVIAJANTETURISTATURISTA

GUÍAGUÍA PAÍSPAÍS

EMPRESAEMPRESAPERTENECEPERTENECEES UNES UN

Por ejemplo, en el contexto de una Por ejemplo, en el contexto de una agencia de viajesagencia de viajes, el tipo de , el tipo de entidad entidad clientecliente definido originalmente en el esquema es definido originalmente en el esquema es especializadoespecializado, en un refinamiento posterior, en los tipos de , en un refinamiento posterior, en los tipos de entidad entidad turistaturista y y viajanteviajante..

Page 40: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Generalización

Un tipo de entidad se generaliza a partir de un conjunto de Un tipo de entidad se generaliza a partir de un conjunto de tipos ya existentes en el esquema, tipos ya existentes en el esquema, dado que comparten dado que comparten determinadas características estáticas o dinámicasdeterminadas características estáticas o dinámicas..

EMPLEADOEMPLEADO

DNIDNI NOMBRENOMBRE

P.D.I.P.D.I.P.A.S.P.A.S.

DESTINODESTINO CATEGORÍACATEGORÍA

DEPTO.DEPTO.PERTENECEPERTENECEES UNES UN

Por ejemplo, en el contexto de una Por ejemplo, en el contexto de una universidaduniversidad, el tipo de entidad , el tipo de entidad empleadoempleado se ha obtenido como una generalización de los tipos se ha obtenido como una generalización de los tipos P.A.S.P.A.S. (personal de administración y servicios) y (personal de administración y servicios) y P.D.I.P.D.I. (personal (personal docente e investigador), que han sido definidos previamente.docente e investigador), que han sido definidos previamente.

Page 41: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Establecer Jerarquías entre Tipos de Entidadespreviamente definidos

En el contexto de la En el contexto de la secretaría de un centrosecretaría de un centro, se ha detectado que , se ha detectado que el tipo el tipo alumno-pfcalumno-pfc (alumno realizando el proyecto de fin de (alumno realizando el proyecto de fin de carrera) ya existente, es un subtipo del objeto carrera) ya existente, es un subtipo del objeto alumnoalumno, también , también existente. existente.

Basta entonces con establecer la correspondiente jerarquía de tipos.Basta entonces con establecer la correspondiente jerarquía de tipos.

ALUMNOALUMNO

Nº EXPNº EXP NOMBRENOMBRE

ALUMNO-PFCALUMNO-PFC

ES UNES UN

FECHA 1FECHA 1 FECHA 2FECHA 2 FECHA 3FECHA 3

Page 42: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Restricciones aplicables a las Jerarquías

ELECCIÓN DE ESPECIALIDAD:ELECCIÓN DE ESPECIALIDAD:

Definida por CONDICIÓN:Definida por CONDICIÓN: Una entidad de tipo general Una entidad de tipo general pertenece o no a un tipo de entidad especializado en función pertenece o no a un tipo de entidad especializado en función de la evaluación de una condición explícita o predicado.de la evaluación de una condición explícita o predicado.

Definida por el USUARIO:Definida por el USUARIO: El usuario de la base de datos será El usuario de la base de datos será el que indique si una entidad de tipo general pertenece o no a el que indique si una entidad de tipo general pertenece o no a un tipo de entidad especializado.un tipo de entidad especializado.

Page 43: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Restricciones aplicables a las Jerarquías

PARTICIPACIÓN EN LA ESPECIALIZACIÓN:PARTICIPACIÓN EN LA ESPECIALIZACIÓN:

TOTAL:TOTAL: Toda entidad de tipo general debe pertenecer, al Toda entidad de tipo general debe pertenecer, al menos, a un tipo especializado.menos, a un tipo especializado.

PARCIAL:PARCIAL: Pueden existir entidades de tipo general que no Pueden existir entidades de tipo general que no pertenezcan a ningún tipo especializado.pertenezcan a ningún tipo especializado.

DE SOLAPAMIENTO:DE SOLAPAMIENTO: Para indicar que los conjuntos de Para indicar que los conjuntos de entidades especializados a partir de un tipo general pueden ser:entidades especializados a partir de un tipo general pueden ser:

DISJUNTOS:DISJUNTOS: Una entidad de tipo general no puede pertenecer Una entidad de tipo general no puede pertenecer a más de un tipo especializado.a más de un tipo especializado.

SOLAPADOS:SOLAPADOS: Una entidad de tipo general puede pertenecer a Una entidad de tipo general puede pertenecer a más de un tipo especializado.más de un tipo especializado.

Page 44: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Restricciones aplicables a las Jerarquías

PERSONA en U.L.P.G.C.PERSONA en U.L.P.G.C.(alumno, profesor, p.a.s)(alumno, profesor, p.a.s)

P.A.S.P.A.S.ES UNES UN

ALUMNOALUMNO

Generalización PARCIAL Generalización PARCIAL y SOLAPADA y SOLAPADA (un P.A.S. puede estudiar en la univ.)(un P.A.S. puede estudiar en la univ.)

Generalización TOTAL y DISJUNTAGeneralización TOTAL y DISJUNTA

PROFESORPROFESOR

PROFESORPROFESORNO NUMERARIONO NUMERARIO

ES UNES UN

PROFESORPROFESORNUMERARIONUMERARIO

PROF.PROF.NUMERARIONUMERARIO

PROF. NOPROF. NONUMERARIONUMERARIO

PROFESORPROFESOR

Page 45: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Jerarquías de Tipos .vs. Estructuras Jerárquicas

Adviértase que las jerarquías de tipo Adviértase que las jerarquías de tipo no deben confundirseno deben confundirse con con las estructuras jerárquicas. las estructuras jerárquicas.

Con las jerarquías de tipo no se intenta expresar que para un Con las jerarquías de tipo no se intenta expresar que para un empleado dado pueda haber un cierto número de programadores empleado dado pueda haber un cierto número de programadores correspondientes.correspondientes.

Por el contrario, para un caso de empleado hay como máximo un Por el contrario, para un caso de empleado hay como máximo un caso de programador, el cual representa a ese mismo empleado en su caso de programador, el cual representa a ese mismo empleado en su papel de programador.papel de programador.

Page 46: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Composición

Existen dos posibles mecanismos para generar tipos de entidades Existen dos posibles mecanismos para generar tipos de entidades compuestos:compuestos:

Es el mecanismo mediante el cual Es el mecanismo mediante el cual un tipo de interrelación un tipo de interrelación entre entre dos o más tipos de entidadesdos o más tipos de entidades pasa a considerarse como un pasa a considerarse como un nuevo tipo de entidadnuevo tipo de entidad con existencia independientecon existencia independiente..

AGREGACIÓNAGREGACIÓN

Es el mecanismo de abstracción mediante el cual Es el mecanismo de abstracción mediante el cual subconjuntos subconjuntos de ocurrencias de ocurrencias de un tipo de entidad relacionadas entre sí según de un tipo de entidad relacionadas entre sí según cierto criterio cierto criterio pasan a considerarse como un pasan a considerarse como un nuevo tipo de nuevo tipo de entidadentidad con existencia independientecon existencia independiente..

ASOCIACIÓNASOCIACIÓN

Page 47: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Composición: AGREGACIÓN

Un tipo de entidad Un tipo de entidad agregadoagregado es un tipo definido a partir de otros es un tipo definido a partir de otros tipos interrelacionados entre sí denominados tipos interrelacionados entre sí denominados tipos componentestipos componentes..

Es importante destacar la diferencia entre interrelación y Es importante destacar la diferencia entre interrelación y agregación:agregación:

Toda agregación implicaToda agregación implica la la existencia de una interrelación existencia de una interrelación entre los componentes.entre los componentes.

MUJERMUJERHOMBREHOMBRE

JUZGADOJUZGADO

MATRIMONIOS VIGENTESMATRIMONIOS VIGENTES

MM

11

1111

No toda interrelación implicaNo toda interrelación implica la existencia del la existencia del correspondiente tipo de correspondiente tipo de entidad agregado.entidad agregado.

Page 48: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Composición: ASOCIACIÓN

Un tipo de entidad Un tipo de entidad asociadoasociado es un es un tipo definido a partir de otro tipo definido a partir de otro tipotipo denominado denominado tipo miembrotipo miembro..Cada ocurrencia del tipo de entidad asociado Cada ocurrencia del tipo de entidad asociado se compone de un se compone de un

conjunto de ocurrencias del tipo miembroconjunto de ocurrencias del tipo miembro..En realidad, este mecanismo no se usa en el modelo En realidad, este mecanismo no se usa en el modelo

Entidad/Interrelación dado que es equivalente a:Entidad/Interrelación dado que es equivalente a:

La definición de La definición de un nuevo tipo un nuevo tipo de entidadde entidad (el tipo asociado). (el tipo asociado).

EQUIPOEQUIPO

NOMBRENOMBRE ESTADIOESTADIO

DEPORTISTADEPORTISTA

TIPO ASOCIADOTIPO ASOCIADO

TIPO MIEMBROTIPO MIEMBRO

xx ASOCIACIÓNASOCIACIÓN

Una Una interrelación uno a interrelación uno a muchosmuchos entre dicho tipo y el entre dicho tipo y el tipo de entidad miembro a partir tipo de entidad miembro a partir del cual se define la asociación.del cual se define la asociación.

Page 49: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Recursos expresivos del Modelo E/R: RECAPITULACIÓN

Corresponden a la clase de recursos esperables en la estática de Corresponden a la clase de recursos esperables en la estática de cualquier modelo de datos.cualquier modelo de datos.

ELEMENTOS PERMITIDOSELEMENTOS PERMITIDOS

OBJETOSOBJETOS (entidades regulares o (entidades regulares o débiles).débiles).

ASOCIACIONESASOCIACIONES (interrelaciones (interrelaciones regulares o débiles, jerarquías y regulares o débiles, jerarquías y agregación).agregación).

PROPIEDADESPROPIEDADES (de distintas clases (de distintas clases aplicables tanto a entidades como aplicables tanto a entidades como a interrelaciones).a interrelaciones).

Más adelante también se Más adelante también se introducirá la forma de especificar introducirá la forma de especificar gráficamente el dominio de una gráficamente el dominio de una propiedad.propiedad.

RESTRICCIONES SEMÁNTICASRESTRICCIONES SEMÁNTICAS

Sobre OBJETOSSobre OBJETOS (especificación de (especificación de atributos clave o discriminantes. atributos clave o discriminantes. También llamadas restricciones de También llamadas restricciones de identificación).identificación).

Sobre las PROPIEDADES Sobre las PROPIEDADES (restricciones de no nulidad o de (restricciones de no nulidad o de dominio).dominio).

Sobre ASOCIACIONESSobre ASOCIACIONES (expresión (expresión de restricciones de cardinalidad, de de restricciones de cardinalidad, de dependencias en existencia o en dependencias en existencia o en identificación).identificación).

JERARQUÍAS de tipos de entidadJERARQUÍAS de tipos de entidad (restricciones de participación o de (restricciones de participación o de solapamiento).solapamiento).

Page 50: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Restricciones inherentes al Modelo E/R

El Modelo E/R es muy flexible porque se puede considerar que las El Modelo E/R es muy flexible porque se puede considerar que las únicas restricciones inherentesúnicas restricciones inherentes que impone son: que impone son:

ObligatoriedadObligatoriedad de la identificación. de la identificación.

No se permiteNo se permite definir tipos de interrelación en los que algún definir tipos de interrelación en los que algún participante sea un tipo de interrelación. Esta restricción participante sea un tipo de interrelación. Esta restricción puede puede solventarse con el adecuado uso de la agregaciónsolventarse con el adecuado uso de la agregación..

Para acabar con la recapitulación faltaría indicar que:Para acabar con la recapitulación faltaría indicar que:

Page 51: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Diagramas de Entidades / Interrelaciones

Son una técnica para representar gráficamente la estructura lógica Son una técnica para representar gráficamente la estructura lógica de una base de datos.de una base de datos.

Ofrecen una forma sencilla y muy comprensible de comunicar los Ofrecen una forma sencilla y muy comprensible de comunicar los rasgos más destacados del diseño.rasgos más destacados del diseño.

Al igual que el modelo E/R en sí, la técnica de diagramación ha Al igual que el modelo E/R en sí, la técnica de diagramación ha evolucionado con el tiempo a partir de la original descrita por evolucionado con el tiempo a partir de la original descrita por Chen.Chen.

Page 52: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Representación de los Tipos de Entidades enDiagramas E/R

NOMPILANOMPILA

PATERNOPATERNO

MATERNOMATERNO

ENOMBREENOMBRE

NUMEMPNUMEMP

SALARIOSALARIO

DEPARTMDEPARTM

EMPLEADOEMPLEADO

DPTO_EMPDPTO_EMP

EMP_DEPENEMP_DEPEN

QTYQTY

PROVEEDORPROVEEDOR

PARTEPARTE

ESTRUCTURAESTRUCTURADE PARTEDE PARTE

PROV_PROV_PARTE_PROYPARTE_PROY PROV_PARTEPROV_PARTE

S#S# SNOMSNOM SITUASITUA CUIDADCUIDAD

CANTCANT

PROYECTOPROYECTO

PROY_TRABAJOPROY_TRABAJO

PROY_GERENTEPROY_GERENTE

11

11 11

MM

MM

MM MM

MM

MM

MM

MM

MM

MM

MMEXPEXP IMPIMP

MM

DEPENDIENTEDEPENDIENTE

Las Las ENTIDADES REGULARESENTIDADES REGULARES se indican con un se indican con un rectángulorectángulo..

Las Las ENTIDADES DÉBILESENTIDADES DÉBILES se indican con un se indican con un rectángulo de rectángulo de aristas doblesaristas dobles..

Page 53: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Representación de los Tipos de Propiedades enDiagramas E/R

Se indican con un Se indican con un óvaloóvalo rotulado con su nombre y conectado a la rotulado con su nombre y conectado a la entidad o interrelación pertinente con una línea.entidad o interrelación pertinente con una línea.

Las Las clavesclaves van subrayadas. van subrayadas.

El El óvaloóvalo será será punteadopunteado si la propiedad es si la propiedad es DERIVADADERIVADA..

El El contornocontorno será será dobledoble si la propiedad es si la propiedad es MULTIVALUADAMULTIVALUADA..

Si la propiedad Si la propiedad NO PUEDE SER FALTANTENO PUEDE SER FALTANTE, se representará con , se representará con un un pequeño círculo en la conexiónpequeño círculo en la conexión con el óvalo. con el óvalo.

Por razones de espacio no es posible incluir todas las propiedades.Por razones de espacio no es posible incluir todas las propiedades.

Page 54: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Representación de los Tipos de Propiedades enDiagramas E/R

NOMPILANOMPILA

PATERNOPATERNO

MATERNOMATERNO

ENOMBREENOMBRE

NUMEMPNUMEMP

SALARIOSALARIO

DEPARTMDEPARTM

EMPLEADOEMPLEADO

DEPENDIENTEDEPENDIENTE

DPTO_EMPDPTO_EMP

EMP_DEPENEMP_DEPEN

QTYQTY

PROVEEDORPROVEEDOR

PARTEPARTE

ESTRUCTURAESTRUCTURADE PARTEDE PARTE

PROV_PROV_PARTE_PROYPARTE_PROY PROV_PARTEPROV_PARTE

S#S# SNOMSNOM SITUASITUA

CANTCANT

PROYECTOPROYECTO

PROY_TRABAJOPROY_TRABAJO

PROY_GERENTEPROY_GERENTE

11

11 11

MM

MM

MMMM

MM

MM

MM

MM

MM

MM

MMEXPEXP IMPIMP

MM

CUIDADCUIDAD TELEFTELEF

Page 55: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Representación de los Tipos de Propiedades con susDominios en Diagramas E/R

Con independencia de las Con independencia de las entidades o propiedades, los entidades o propiedades, los dominios tienen nombre y dominios tienen nombre y existencia propia. existencia propia.

Por ejemplo, la entidad documento Por ejemplo, la entidad documento puede tener una propiedad que puede tener una propiedad que defina el idioma en que está defina el idioma en que está escrito.escrito. La existencia de la propiedad La existencia de la propiedad

idioma va unida a la existencia del idioma va unida a la existencia del tipo de entidad documento.tipo de entidad documento.

El dominio idiomas existe por sí El dominio idiomas existe por sí mismo, independientemente del mismo, independientemente del tipo de entidad documento o de la tipo de entidad documento o de la propiedad idioma.propiedad idioma.

Para ahorrar espacio se puede Para ahorrar espacio se puede hacer como se muestra en la figura hacer como se muestra en la figura siguiente.siguiente.

Su representación se muestra en la Su representación se muestra en la figura siguiente aunque, por lo figura siguiente aunque, por lo general, si coinciden el nombre de general, si coinciden el nombre de la propiedad y el de su dominio la propiedad y el de su dominio bastará con escribirlo dentro del bastará con escribirlo dentro del óvalo, tal y como se ha venido óvalo, tal y como se ha venido haciendo hasta ahora.haciendo hasta ahora.

DOCUMENTODOCUMENTO IDIOMASIDIOMASIDIOMAIDIOMA

DOCUMENTODOCUMENTO IDIOMAIDIOMA

Page 56: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Representación de Interrelaciones en Diagramas E/R

Cada tipo de interrelación se indica con un Cada tipo de interrelación se indica con un romborombo rotulado con el rotulado con el nombre del tipo de interrelación.nombre del tipo de interrelación.

Los participantes de cada interrelación se conectan a la Los participantes de cada interrelación se conectan a la interrelación pertinente con líneas rectas rotuladas con interrelación pertinente con líneas rectas rotuladas con UNO (1)UNO (1) o o MUCHOS (M)MUCHOS (M) para indicar la multiplicidad. para indicar la multiplicidad.

El El romborombo tiene tiene aristas doblesaristas dobles si dicha interrelación es la que si dicha interrelación es la que existe entre un tipo de entidad débil y el tipo de entidad del cual existe entre un tipo de entidad débil y el tipo de entidad del cual depende su existencia.depende su existencia.

Por ejemplo,la interrelación Por ejemplo,la interrelación emp_depenemp_depen es es uno a muchosuno a muchos entre entre empleadoempleado y y dependientedependiente..

Lógicamente, Lógicamente, la participación de dependiente es totalla participación de dependiente es total..

Page 57: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Representación de Interrelaciones en Diagramas E/R

NOMPILANOMPILA

PATERNOPATERNO

MATERNOMATERNO

ENOMBREENOMBRE

NUMEMPNUMEMP

SALARIOSALARIO

DEPARTMDEPARTM

EMPLEADOEMPLEADO

DEPENDIENTEDEPENDIENTE

DPTO_EMPDPTO_EMP

QTYQTY

PROVEEDORPROVEEDOR

PARTEPARTE

ESTRUCTURAESTRUCTURADE PARTEDE PARTE

PROV_PROV_PARTE_PROYPARTE_PROY PROV_PARTEPROV_PARTE

S#S# SNOMSNOM SITUASITUA CUIDADCUIDAD

CANTCANT

PROYECTOPROYECTO

PROY_TRABAJOPROY_TRABAJO

PROY_GERENTEPROY_GERENTE

11

11 11

MM

MM

MMMM

MM

MM

MM

MM

MM

MM

MMEXPEXP IMPIMP

MM

EMP_DEPENEMP_DEPEN

Page 58: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Alternativas para la representación de la Multiplicidad

DEPARTAMENTODEPARTAMENTO

EMPLEADOEMPLEADO

11

MM

PROVEEDORPROVEEDOR

PARTEPARTE

MM

MM

DEPARTAMENTODEPARTAMENTO

EMPLEADOEMPLEADO

PROVEEDORPROVEEDOR

PARTEPARTE

Page 59: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Representación de Interrelaciones en Diagramas E/R

Estructura_de_parteEstructura_de_parte es es muchos muchos a muchosa muchos entre entre parteparte y y parteparte. .

Las dos líneas que van de Las dos líneas que van de parteparte a a estructura_de_parteestructura_de_parte se se distinguen distinguen rotulándolas con dos rotulándolas con dos nombres de funciones o roles nombres de funciones o roles distintosdistintos..

El uso de roles puede ser El uso de roles puede ser necesario para evitar necesario para evitar ambigüedades:ambigüedades:

EXPEXP: Por explosión de parte.: Por explosión de parte. IMPIMP: Por implosión de parte.: Por implosión de parte.

Estructura_de_parteEstructura_de_parte es un es un ejemplo de lo que se denominaejemplo de lo que se denomina interrelación recursiva o interrelación recursiva o reflexivareflexiva..

PROVEEDORPROVEEDOR

PROV_PROV_PARTE_PROYPARTE_PROY PROV_PARTEPROV_PARTE

S#S# SNOMSNOM SITUASITUA CUIDADCUIDAD

PROYECTOPROYECTOMM

MMMM

QTYQTY

CANTCANT PARTEPARTE

ESTRUCTURAESTRUCTURADE PARTEDE PARTE

ESTRUCTURAESTRUCTURADE PARTEDE PARTE

MEXPEXP IMPIMP

M

MMMM

Page 60: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Representación de Interrelaciones en Diagramas E/R

DEPARTMDEPARTM

EMPLEADOEMPLEADO

DEPENDIENTEDEPENDIENTE

DPTO_EMPDPTO_EMP

PROYECTOPROYECTO

PROY_TRABAJOPROY_TRABAJO

PROY_GERENTEPROY_GERENTE

11

11 11

MM

MM

MMMM

MM

EMP_DEPENEMP_DEPEN

Si la Si la participación es totalparticipación es total, , entones la entones la línea de conexión es línea de conexión es dobledoble. Por ejemplo:. Por ejemplo:

Todo Todo empleadoempleado pertenecepertenece a un a un departamentodepartamento en la interrelación en la interrelación dpto_empdpto_emp..

Todo Todo proyecto proyecto tienetiene un gerente un gerente en la interrelación en la interrelación proy_gerenteproy_gerente..

Además, constituye una segunda Además, constituye una segunda interrelación entre empleados y interrelación entre empleados y proyectos.proyectos.

Page 61: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Alternativas para la representación de las Cardinalidades

Dado que cada empleado se Dado que cada empleado se relaciona:relaciona:

Al menos con un Al menos con un departamento.departamento.

Con un departamento como Con un departamento como máximo.máximo.

Dado que los departamentos Dado que los departamentos pueden:pueden:

Relacionarse o no con los Relacionarse o no con los empleados.empleados.

Relacionarse con múltiples Relacionarse con múltiples empleados.empleados.

DEPARTAMENTODEPARTAMENTO

EMPLEADOEMPLEADO

11

MM

DEPARTAMENTODEPARTAMENTO

EMPLEADOEMPLEADO

(1 , 1)(1 , 1)

(0 , M)(0 , M)

Page 62: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Alternativas para la representación de los Tipos de Interrelación Débiles

Si se desea precisar el tipo de dependencia que presenta la Si se desea precisar el tipo de dependencia que presenta la interrelación débil, se pueden usar las representaciones gráficas interrelación débil, se pueden usar las representaciones gráficas siguientes:siguientes:

RegularRegular

(1 , 1)(1 , 1)

DébilDébil

EE

DébilDébil

Dependencia en Dependencia en EXISTENCIAEXISTENCIA Dependencia en Dependencia en IDENTIFICACIÓNIDENTIFICACIÓN(para (para identificar Débilidentificar Débil se necesita se necesita

ClaveClave + + DiscriminanteDiscriminante))

RegularRegular

(1 , 1)(1 , 1)

DébilDébil

IDID

DébilDébil

DiscriminanteDiscriminante

ClaveClave

Page 63: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Representación de Tipos de Interrelaciones deGrado > 2 en Diagramas E/R

Como ya se indicó y ahora se habrá comprobado, al presentar los Como ya se indicó y ahora se habrá comprobado, al presentar los mecanismos expresivos de los Diagramas E/R para las mecanismos expresivos de los Diagramas E/R para las interrelaciones:interrelaciones:

Por ello, las expresiones de cardinalidad para el Modelo E/R se Por ello, las expresiones de cardinalidad para el Modelo E/R se pueden realizar como a continuación se indica, indicando con pueden realizar como a continuación se indica, indicando con guiones el desconocimiento de esas cardinalidades.guiones el desconocimiento de esas cardinalidades.En este ejemplo, para una relación ternaria En este ejemplo, para una relación ternaria R (A , B , C)R (A , B , C)::

La información contenida en la expresión de cardinalidades para La información contenida en la expresión de cardinalidades para los tipos de interrelación con grado > 2 es representable los tipos de interrelación con grado > 2 es representable sólo sólo

parcialmenteparcialmente en los Diagramas E/Ren los Diagramas E/R

R ( A ( R ( A ( -- , MAX , MAX A A ) , BC (MIN) , BC (MIN BC BC , , -- ) ) ) )

R ( B ( R ( B ( -- , MAX , MAX B B ) , AC (MIN) , AC (MIN AC AC , , -- ) ) ) )

R ( C ( R ( C ( -- , MAX , MAX C C ) , AB (MIN) , AB (MIN AB AB , , -- ) ) ) )

Page 64: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Representación de Subtipos y Supertipos enDiagramas E/R

EMPLEADOEMPLEADO

PROGRAMADORPROGRAMADOR

PROGRAMADOR DEPROGRAMADOR DEAPLICACIONESAPLICACIONES

PROGRAMADOR DEPROGRAMADOR DESISTEMASSISTEMAS

O BIENO BIEN

PROGRAMADOR DEPROGRAMADOR DEAPLICACIONESAPLICACIONES

PROGRAMADOR DEPROGRAMADOR DESISTEMASSISTEMAS

EMPLEADOEMPLEADO

PROGRAMADORPROGRAMADOR

(es un)(es un)(es un)(es un)

(es un)(es un)

Sea Y un subtipo de X:Sea Y un subtipo de X:

Se traza una línea recta de Y a X marcada con un operadorSe traza una línea recta de Y a X marcada con un operador SUBCONJUNTO DESUBCONJUNTO DE

Porque el conjunto de todas las Y es un subconjunto de todas las XPorque el conjunto de todas las Y es un subconjunto de todas las X

Page 65: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Representación de la Agregación en Diagramas E/R

La interrelación y los tipos de entidades componentes se La interrelación y los tipos de entidades componentes se encuadran como se indica en la figura siguiente, de forma que encuadran como se indica en la figura siguiente, de forma que el el tipo agregado puede entonces interrelacionarse con otros tipo agregado puede entonces interrelacionarse con otros tipos de entidadestipos de entidades..

El tipo de entidad agregado:El tipo de entidad agregado:

Tendrá el nombre de la interrelación sobre la que se define (R).Tendrá el nombre de la interrelación sobre la que se define (R).

Heredará las propiedades de los tipos componentes Heredará las propiedades de los tipos componentes AA y y BB..

Y las propiedades de la interrelación R.Y las propiedades de la interrelación R.

CC

RR

SS

AA RR BB

Page 66: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Recapitulación Final

El diseño conceptual es la fase que requiere mayor esfuerzo en El diseño conceptual es la fase que requiere mayor esfuerzo en todo el proceso de diseño.todo el proceso de diseño.Las fases posteriores de diseño lógico y físico se pueden considerar Las fases posteriores de diseño lógico y físico se pueden considerar

simples etapas de transformación y refinamiento.simples etapas de transformación y refinamiento.El modelo E/R sólo permite expresar los aspectos estáticos de la El modelo E/R sólo permite expresar los aspectos estáticos de la

realidad y no posee expresiones para la dinámica.realidad y no posee expresiones para la dinámica.Es necesario aumentar la capacidad expresiva del modelo Es necesario aumentar la capacidad expresiva del modelo

conceptual para lograr representar los aspectos dinámicos.conceptual para lograr representar los aspectos dinámicos.Por lo tanto, el modelo conceptual contará con los siguientes Por lo tanto, el modelo conceptual contará con los siguientes

lenguajes:lenguajes: De definición de estructuras:De definición de estructuras: Es el lenguaje gráfico ya introducido Es el lenguaje gráfico ya introducido

con el modelo E/R que permite expresar los aspectos estructurales con el modelo E/R que permite expresar los aspectos estructurales del SI.del SI.

de manipulación:de manipulación: Este lenguaje se define sobre los elementos del Este lenguaje se define sobre los elementos del modelo E/R y en él se diferencian dos sublenguajes:modelo E/R y en él se diferencian dos sublenguajes:

Lógico.Lógico.

TransaccionalTransaccional

Page 67: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Componentes del Esquema ConceptualTeniendo en cuenta esta extensión del modelo, el Teniendo en cuenta esta extensión del modelo, el esquema esquema

conceptual de una BDconceptual de una BD estará constituido por: estará constituido por:

Un Un diagrama E/Rdiagrama E/R, donde se describirán los , donde se describirán los objetos del SI y las objetos del SI y las relaciones existentes entre ellosrelaciones existentes entre ellos..

Un conjunto de Un conjunto de restricciones estáticas o dinámicasrestricciones estáticas o dinámicas, expresadas , expresadas mediante el lenguaje lógico, que enriquecen la representación mediante el lenguaje lógico, que enriquecen la representación expresada por el diagrama expresada por el diagrama añadiéndose a las que se pudieron añadiéndose a las que se pudieron expresar en el diagrama E/Rexpresar en el diagrama E/R..

Un conjunto de Un conjunto de transaccionestransacciones, expresadas en el lenguaje , expresadas en el lenguaje transaccional, que transaccional, que representarán la evolución del esquemarepresentarán la evolución del esquema..

Las Las operacionesoperaciones son acciones elementales que permiten son acciones elementales que permiten crear, crear, eliminar, modificar o consultar ocurrencias de las eliminar, modificar o consultar ocurrencias de las entidadesentidades e e interrelacionesinterrelaciones..

Una Una transaccióntransacción es un conjunto de operaciones que se considera es un conjunto de operaciones que se considera atómico en lo que se refiere a su ejecuciónatómico en lo que se refiere a su ejecución..

Se ejecutan Se ejecutan todastodas sus operaciones sus operaciones o ningunao ninguna de ellas de ellas..

Page 68: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Lenguaje de Manipulación

Se podría optar por hacer uso ahora de un lenguaje formal para Se podría optar por hacer uso ahora de un lenguaje formal para expresar el lenguaje lógico y el transaccional. De hecho, se han expresar el lenguaje lógico y el transaccional. De hecho, se han propuesto diversas sintaxis con mayor o menor acierto expresivo.propuesto diversas sintaxis con mayor o menor acierto expresivo.

Sin embargo, por ahora parece más acertado mantener una sintaxis Sin embargo, por ahora parece más acertado mantener una sintaxis informal que permita expresar adecuadamente las restricciones informal que permita expresar adecuadamente las restricciones adicionales y las transacciones captadas de la realidad:adicionales y las transacciones captadas de la realidad:

Sin comprometer el proceso de adaptación del alumno a la expresión Sin comprometer el proceso de adaptación del alumno a la expresión de la realidad con el modelo E / R.de la realidad con el modelo E / R.

Sin oscurecer la facilidad expresiva de la dinámica que una sintaxis Sin oscurecer la facilidad expresiva de la dinámica que una sintaxis informal puede ofrecer.informal puede ofrecer.

Por ello, Por ello, el uso de el uso de lenguajes formaleslenguajes formales para la expresión de para la expresión de restricciones adicionales y transacciones queda restricciones adicionales y transacciones queda pospuestopospuesto al al modelado lógicomodelado lógico..

Page 69: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Lenguaje de Manipulación

TRANSACCIÓNTRANSACCIÓN nombre-transacciónnombre-transacción (lista-de-parámetros) (lista-de-parámetros)

[[CONDICIÓNCONDICIÓN condición_ejecución] condición_ejecución]

OPERACIONESOPERACIONES lista_operaciones lista_operaciones

El El lenguaje lógicolenguaje lógico se reducirá, por ahora, a la se reducirá, por ahora, a la simple expresión simple expresión en lenguaje natural de las restricciones de integridad no en lenguaje natural de las restricciones de integridad no expresadas en el Esquema E/Rexpresadas en el Esquema E/R. Exigiéndose, eso si, la . Exigiéndose, eso si, la mayor mayor precisiónprecisión posible a la hora de su enunciación. posible a la hora de su enunciación.

El El lenguaje transaccionallenguaje transaccional se limitará a la siguiente sintaxis de se limitará a la siguiente sintaxis de definición de transacciones:definición de transacciones:

se expresarán, por ahora, se expresarán, por ahora, en lenguaje natural y con en lenguaje natural y con el máximo posible de el máximo posible de precisiónprecisión

Lista de valores suministrados Lista de valores suministrados a la transacción.a la transacción.

Condición que debe cumplirse Condición que debe cumplirse para que la transacción se para que la transacción se pueda ejecutar.pueda ejecutar.

Lista de operaciones a realizar.Lista de operaciones a realizar.

Page 70: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Ejemplo de Transacción

Borrado de una interrelación binaria Borrado de una interrelación binaria M : M M : Mcon participación total de una de las entidadescon participación total de una de las entidades

Existen dos posibles soluciones de entre las cuales habrá que Existen dos posibles soluciones de entre las cuales habrá que elegir una en función de la semántica del caso particular.elegir una en función de la semántica del caso particular.

AA

a 0

BB

b 0

RRM M

Page 71: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Ejemplo de Transacción

Borrado EN CASCADA:Borrado EN CASCADA: Borrar la interrelación y la entidad de Borrar la interrelación y la entidad de participación total si se viola esta restricción.participación total si se viola esta restricción.

TRANSACCIÓN borrar_R (axTRANSACCIÓN borrar_R (ax00 , bx , bx00))

OPERACIONESOPERACIONES Borrar la interrelación de tipo Borrar la interrelación de tipo RR en la que participa una en la que participa una

entidad de tipo entidad de tipo AA con con aa00 = ax = ax00 y una entidad de tipo y una entidad de tipo BB con con bb00 = = bxbx00..

Borrar la entidad de tipo Borrar la entidad de tipo AA con con aa00 = ax = ax00 si se cumple que ya si se cumple que ya

no participa en ninguna ocurrencia de no participa en ninguna ocurrencia de RR..

a 0 b 0

AA BBRRM M

Page 72: Grupo de Estructuras de Datos. MODELOS DE DATOS El modelo Entidad / Interrelación

Ejemplo de Transacción

Borrado RESTRICTIVO:Borrado RESTRICTIVO: Borrar la interrelación Borrar la interrelación solamentesolamente si si no se viola la restricción de participación total.no se viola la restricción de participación total.

TRANSACCIÓN borrar_R (axTRANSACCIÓN borrar_R (ax00 , bx , bx00))

CONDICIÓNCONDICIÓN Existe una interrelación de tipo Existe una interrelación de tipo RR en la que participa una entidad de en la que participa una entidad de

tipo tipo AA con con aa00 = ax = ax00 y una entidad de tipo y una entidad de tipo BB con con bb00 < > bx < > bx00..

OPERACIÓNOPERACIÓN Borrar la interrelación de tipo Borrar la interrelación de tipo RR en la que se verifica que en la que se verifica que aa00 = ax = ax00

y y bb00 = bx = bx00..

a 0 b 0

AA BBRRM M