diseño bdr

68
DISEÑO DE BASES DE DATOS RELACIONALES

description

Presentaciòn de diapositivas de como hacer una base de datos a prtir del modelo entidad relaciòn

Transcript of diseño bdr

Page 1: diseño bdr

DISENtildeO DE BASES DE DATOS RELACIONALES

Disentildeo de Bases de datos

ObjetivoEn general el objetivo del disentildeo de

una base de datos relacional es generar un conjunto de esquemas de relaciones que permitan almacenar la informacioacuten con un miacutenimo de redundancia pero que a la vez faciliten la recuperacioacuten de la informacioacuten

Disentildeo de Bases de datos

Problemas en el disentildeo de bases de datos Redundancia de informacioacutenIncoherencia de datosValores nulos Complicada actualizacioacuten

(insercioacuten eliminacioacuten y modificacioacuten)

Desperdicio de espacio

Disentildeo de Bases de datos

Fases del disentildeo de bases de datos

Mundo Real

RECOLECCIOacuteN Y ANALISIS DE REQUERIMIENTOS

DISENtildeO CONCEPTUAL

DISENtildeO LOacuteGICO

DISENtildeO FISICO

Disentildeo de Bases de datos

Recoleccioacuten y anaacutelisis de requerimientos

Los disentildeadores entrevistan a los futuros usuarios de la base de datos para recoger y documentar sus necesidades de informacioacuten En paralelo conviene definir los requerimientos funcionales que consisten en operaciones (transacciones) que se aplicaraacuten a la base de datos e incluyen la obtencioacuten de datos y la actualizacioacuten

Disentildeo de Bases de datos

Disentildeo conceptualCrear un esquema conceptual mediante un

modelo de datos conceptual de alto nivelEl esquema conceptual contiene una

descripcioacuten detallada de los requerimientos de informacioacuten de los usuarios y contiene descripciones de los tipos de datos relaciones entre ellos y restricciones

Se utiliza para el disentildeo de esquemas conceptuales el MER (modelo entidad-relacioacuten

Disentildeo de Bases de datos

Disentildeo loacutegico de la base de datos

Transformar el modelo conceptual al modelo de datos empleados por el SGBD (relacional)

Disentildeo de Bases de datos

Disentildeo fiacutesico de la base de datos

En este paso se especifican las estructuras de almacenamiento internas y la organizacioacuten de los archivos de la base de datos

Disentildeo de Bases de datos

Disentildeo de Bases de datos

Generalidades El modelo E-R fue propuesto por Peter P Chen

entre los antildeos 1976-1977 Posteriormente otros muchos autores han investigado y escrito sobre el modelo proporcionando importantes aportaciones por lo que realmente no se puede considerar que exista un uacutenico modelo E-R

El modelo E-R describe los datos como entidades relaciones (viacutenculos) y atributos y permite representar el esquema conceptual de una base de datos de forma graacutefica mediante los diagramas E-R

Disentildeo de Bases de datos

Esquema conceptual

Descripcioacuten concisa de los requisitos de informacioacuten de los usuariosDescripciones detalladas de TIPOS DE DATOS RELACIONES ENTRE DATOS RESTRICCIONES que los DATOS deben cumplir

Sin detalles de implementacioacuten Maacutes faacutecil de entender Comunicacioacuten con el usuario no teacutecnico

Disentildeo de Bases de datos

Entidades y atributosUna entidad puede ser un objeto con existencia

fiacutesica o un objeto con existencia conceptualSe representa por un rectaacutengulo dentro de la

cual va el nombre en singularldquoPersona lugar cosa concepto o suceso real o abstracto de intereacutes para la

empresardquo (ANSI 1977)

CLIENTE PROVEEDOR CURSO

Disentildeo de Bases de datos

Tipos de entidadesFuertes (o regulares) que son aquellas

que tienen existencia por si mismas

Deacutebiles cuya existencia depende de otro tipo de entidad Estas entidades normalmente no tienen suficientes atributos para formar una clave primaria

EMPLEADO

FAMILIAR

Disentildeo de Bases de datos

AtributosCada entidad tiene propiedades

especificas que la describen Los atributos se representan por elipses

que estaacuten conectadas a su entidad o relacioacuten mediante una liacutenea recta

PROVEEDOR

Cod Nombre Telef

Disentildeo de Bases de datos

AtributosUna entidad particular es descrita

por los valores de sus atributos

Disentildeo de Bases de datos

Atributos Al conjunto de valores que puede tomar un atributo se le

llama dominio del atributo Cada atributo simple estaacute asociado a un dominio que

especifica sus valores vaacutelidos

Disentildeo de Bases de datos

Atributos Toda entidad debe tener al menos un atributo que permita

diferenciar unas entidades particulares de otras A estos atributos se les llaman claves

[EN 2002] Elmasri R Navathe SB Fundamentos de Sistemas de Bases de Datos 3ordf ed Addison-Wesley (Cap 3 y 4)[MPM 1999] De Miguel A Piattini M Marcos E Disentildeo de bases de datos relacionales Ra-Ma (Cap 2)

Disentildeo de Bases de datos

Atributos Clave Una clave puede estar formada por

varios atributos --gt clave compuesta Combinacioacuten de valores distinta para cada instancia

(nombre fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser miacutenima

Un tipo de entidad puede tenermaacutes de una clave --gt claves candidatas Claves o Identificadores Candidatos de EMPLEADO

nit Nuacutemero de identificacioacuten tributaria CC Nuacutemero de Ceacutedula de ciudadania (nombre fechanacim)

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 2: diseño bdr

Disentildeo de Bases de datos

ObjetivoEn general el objetivo del disentildeo de

una base de datos relacional es generar un conjunto de esquemas de relaciones que permitan almacenar la informacioacuten con un miacutenimo de redundancia pero que a la vez faciliten la recuperacioacuten de la informacioacuten

Disentildeo de Bases de datos

Problemas en el disentildeo de bases de datos Redundancia de informacioacutenIncoherencia de datosValores nulos Complicada actualizacioacuten

(insercioacuten eliminacioacuten y modificacioacuten)

Desperdicio de espacio

Disentildeo de Bases de datos

Fases del disentildeo de bases de datos

Mundo Real

RECOLECCIOacuteN Y ANALISIS DE REQUERIMIENTOS

DISENtildeO CONCEPTUAL

DISENtildeO LOacuteGICO

DISENtildeO FISICO

Disentildeo de Bases de datos

Recoleccioacuten y anaacutelisis de requerimientos

Los disentildeadores entrevistan a los futuros usuarios de la base de datos para recoger y documentar sus necesidades de informacioacuten En paralelo conviene definir los requerimientos funcionales que consisten en operaciones (transacciones) que se aplicaraacuten a la base de datos e incluyen la obtencioacuten de datos y la actualizacioacuten

Disentildeo de Bases de datos

Disentildeo conceptualCrear un esquema conceptual mediante un

modelo de datos conceptual de alto nivelEl esquema conceptual contiene una

descripcioacuten detallada de los requerimientos de informacioacuten de los usuarios y contiene descripciones de los tipos de datos relaciones entre ellos y restricciones

Se utiliza para el disentildeo de esquemas conceptuales el MER (modelo entidad-relacioacuten

Disentildeo de Bases de datos

Disentildeo loacutegico de la base de datos

Transformar el modelo conceptual al modelo de datos empleados por el SGBD (relacional)

Disentildeo de Bases de datos

Disentildeo fiacutesico de la base de datos

En este paso se especifican las estructuras de almacenamiento internas y la organizacioacuten de los archivos de la base de datos

Disentildeo de Bases de datos

Disentildeo de Bases de datos

Generalidades El modelo E-R fue propuesto por Peter P Chen

entre los antildeos 1976-1977 Posteriormente otros muchos autores han investigado y escrito sobre el modelo proporcionando importantes aportaciones por lo que realmente no se puede considerar que exista un uacutenico modelo E-R

El modelo E-R describe los datos como entidades relaciones (viacutenculos) y atributos y permite representar el esquema conceptual de una base de datos de forma graacutefica mediante los diagramas E-R

Disentildeo de Bases de datos

Esquema conceptual

Descripcioacuten concisa de los requisitos de informacioacuten de los usuariosDescripciones detalladas de TIPOS DE DATOS RELACIONES ENTRE DATOS RESTRICCIONES que los DATOS deben cumplir

Sin detalles de implementacioacuten Maacutes faacutecil de entender Comunicacioacuten con el usuario no teacutecnico

Disentildeo de Bases de datos

Entidades y atributosUna entidad puede ser un objeto con existencia

fiacutesica o un objeto con existencia conceptualSe representa por un rectaacutengulo dentro de la

cual va el nombre en singularldquoPersona lugar cosa concepto o suceso real o abstracto de intereacutes para la

empresardquo (ANSI 1977)

CLIENTE PROVEEDOR CURSO

Disentildeo de Bases de datos

Tipos de entidadesFuertes (o regulares) que son aquellas

que tienen existencia por si mismas

Deacutebiles cuya existencia depende de otro tipo de entidad Estas entidades normalmente no tienen suficientes atributos para formar una clave primaria

EMPLEADO

FAMILIAR

Disentildeo de Bases de datos

AtributosCada entidad tiene propiedades

especificas que la describen Los atributos se representan por elipses

que estaacuten conectadas a su entidad o relacioacuten mediante una liacutenea recta

PROVEEDOR

Cod Nombre Telef

Disentildeo de Bases de datos

AtributosUna entidad particular es descrita

por los valores de sus atributos

Disentildeo de Bases de datos

Atributos Al conjunto de valores que puede tomar un atributo se le

llama dominio del atributo Cada atributo simple estaacute asociado a un dominio que

especifica sus valores vaacutelidos

Disentildeo de Bases de datos

Atributos Toda entidad debe tener al menos un atributo que permita

diferenciar unas entidades particulares de otras A estos atributos se les llaman claves

[EN 2002] Elmasri R Navathe SB Fundamentos de Sistemas de Bases de Datos 3ordf ed Addison-Wesley (Cap 3 y 4)[MPM 1999] De Miguel A Piattini M Marcos E Disentildeo de bases de datos relacionales Ra-Ma (Cap 2)

Disentildeo de Bases de datos

Atributos Clave Una clave puede estar formada por

varios atributos --gt clave compuesta Combinacioacuten de valores distinta para cada instancia

(nombre fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser miacutenima

Un tipo de entidad puede tenermaacutes de una clave --gt claves candidatas Claves o Identificadores Candidatos de EMPLEADO

nit Nuacutemero de identificacioacuten tributaria CC Nuacutemero de Ceacutedula de ciudadania (nombre fechanacim)

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 3: diseño bdr

Disentildeo de Bases de datos

Problemas en el disentildeo de bases de datos Redundancia de informacioacutenIncoherencia de datosValores nulos Complicada actualizacioacuten

(insercioacuten eliminacioacuten y modificacioacuten)

Desperdicio de espacio

Disentildeo de Bases de datos

Fases del disentildeo de bases de datos

Mundo Real

RECOLECCIOacuteN Y ANALISIS DE REQUERIMIENTOS

DISENtildeO CONCEPTUAL

DISENtildeO LOacuteGICO

DISENtildeO FISICO

Disentildeo de Bases de datos

Recoleccioacuten y anaacutelisis de requerimientos

Los disentildeadores entrevistan a los futuros usuarios de la base de datos para recoger y documentar sus necesidades de informacioacuten En paralelo conviene definir los requerimientos funcionales que consisten en operaciones (transacciones) que se aplicaraacuten a la base de datos e incluyen la obtencioacuten de datos y la actualizacioacuten

Disentildeo de Bases de datos

Disentildeo conceptualCrear un esquema conceptual mediante un

modelo de datos conceptual de alto nivelEl esquema conceptual contiene una

descripcioacuten detallada de los requerimientos de informacioacuten de los usuarios y contiene descripciones de los tipos de datos relaciones entre ellos y restricciones

Se utiliza para el disentildeo de esquemas conceptuales el MER (modelo entidad-relacioacuten

Disentildeo de Bases de datos

Disentildeo loacutegico de la base de datos

Transformar el modelo conceptual al modelo de datos empleados por el SGBD (relacional)

Disentildeo de Bases de datos

Disentildeo fiacutesico de la base de datos

En este paso se especifican las estructuras de almacenamiento internas y la organizacioacuten de los archivos de la base de datos

Disentildeo de Bases de datos

Disentildeo de Bases de datos

Generalidades El modelo E-R fue propuesto por Peter P Chen

entre los antildeos 1976-1977 Posteriormente otros muchos autores han investigado y escrito sobre el modelo proporcionando importantes aportaciones por lo que realmente no se puede considerar que exista un uacutenico modelo E-R

El modelo E-R describe los datos como entidades relaciones (viacutenculos) y atributos y permite representar el esquema conceptual de una base de datos de forma graacutefica mediante los diagramas E-R

Disentildeo de Bases de datos

Esquema conceptual

Descripcioacuten concisa de los requisitos de informacioacuten de los usuariosDescripciones detalladas de TIPOS DE DATOS RELACIONES ENTRE DATOS RESTRICCIONES que los DATOS deben cumplir

Sin detalles de implementacioacuten Maacutes faacutecil de entender Comunicacioacuten con el usuario no teacutecnico

Disentildeo de Bases de datos

Entidades y atributosUna entidad puede ser un objeto con existencia

fiacutesica o un objeto con existencia conceptualSe representa por un rectaacutengulo dentro de la

cual va el nombre en singularldquoPersona lugar cosa concepto o suceso real o abstracto de intereacutes para la

empresardquo (ANSI 1977)

CLIENTE PROVEEDOR CURSO

Disentildeo de Bases de datos

Tipos de entidadesFuertes (o regulares) que son aquellas

que tienen existencia por si mismas

Deacutebiles cuya existencia depende de otro tipo de entidad Estas entidades normalmente no tienen suficientes atributos para formar una clave primaria

EMPLEADO

FAMILIAR

Disentildeo de Bases de datos

AtributosCada entidad tiene propiedades

especificas que la describen Los atributos se representan por elipses

que estaacuten conectadas a su entidad o relacioacuten mediante una liacutenea recta

PROVEEDOR

Cod Nombre Telef

Disentildeo de Bases de datos

AtributosUna entidad particular es descrita

por los valores de sus atributos

Disentildeo de Bases de datos

Atributos Al conjunto de valores que puede tomar un atributo se le

llama dominio del atributo Cada atributo simple estaacute asociado a un dominio que

especifica sus valores vaacutelidos

Disentildeo de Bases de datos

Atributos Toda entidad debe tener al menos un atributo que permita

diferenciar unas entidades particulares de otras A estos atributos se les llaman claves

[EN 2002] Elmasri R Navathe SB Fundamentos de Sistemas de Bases de Datos 3ordf ed Addison-Wesley (Cap 3 y 4)[MPM 1999] De Miguel A Piattini M Marcos E Disentildeo de bases de datos relacionales Ra-Ma (Cap 2)

Disentildeo de Bases de datos

Atributos Clave Una clave puede estar formada por

varios atributos --gt clave compuesta Combinacioacuten de valores distinta para cada instancia

(nombre fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser miacutenima

Un tipo de entidad puede tenermaacutes de una clave --gt claves candidatas Claves o Identificadores Candidatos de EMPLEADO

nit Nuacutemero de identificacioacuten tributaria CC Nuacutemero de Ceacutedula de ciudadania (nombre fechanacim)

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 4: diseño bdr

Disentildeo de Bases de datos

Fases del disentildeo de bases de datos

Mundo Real

RECOLECCIOacuteN Y ANALISIS DE REQUERIMIENTOS

DISENtildeO CONCEPTUAL

DISENtildeO LOacuteGICO

DISENtildeO FISICO

Disentildeo de Bases de datos

Recoleccioacuten y anaacutelisis de requerimientos

Los disentildeadores entrevistan a los futuros usuarios de la base de datos para recoger y documentar sus necesidades de informacioacuten En paralelo conviene definir los requerimientos funcionales que consisten en operaciones (transacciones) que se aplicaraacuten a la base de datos e incluyen la obtencioacuten de datos y la actualizacioacuten

Disentildeo de Bases de datos

Disentildeo conceptualCrear un esquema conceptual mediante un

modelo de datos conceptual de alto nivelEl esquema conceptual contiene una

descripcioacuten detallada de los requerimientos de informacioacuten de los usuarios y contiene descripciones de los tipos de datos relaciones entre ellos y restricciones

Se utiliza para el disentildeo de esquemas conceptuales el MER (modelo entidad-relacioacuten

Disentildeo de Bases de datos

Disentildeo loacutegico de la base de datos

Transformar el modelo conceptual al modelo de datos empleados por el SGBD (relacional)

Disentildeo de Bases de datos

Disentildeo fiacutesico de la base de datos

En este paso se especifican las estructuras de almacenamiento internas y la organizacioacuten de los archivos de la base de datos

Disentildeo de Bases de datos

Disentildeo de Bases de datos

Generalidades El modelo E-R fue propuesto por Peter P Chen

entre los antildeos 1976-1977 Posteriormente otros muchos autores han investigado y escrito sobre el modelo proporcionando importantes aportaciones por lo que realmente no se puede considerar que exista un uacutenico modelo E-R

El modelo E-R describe los datos como entidades relaciones (viacutenculos) y atributos y permite representar el esquema conceptual de una base de datos de forma graacutefica mediante los diagramas E-R

Disentildeo de Bases de datos

Esquema conceptual

Descripcioacuten concisa de los requisitos de informacioacuten de los usuariosDescripciones detalladas de TIPOS DE DATOS RELACIONES ENTRE DATOS RESTRICCIONES que los DATOS deben cumplir

Sin detalles de implementacioacuten Maacutes faacutecil de entender Comunicacioacuten con el usuario no teacutecnico

Disentildeo de Bases de datos

Entidades y atributosUna entidad puede ser un objeto con existencia

fiacutesica o un objeto con existencia conceptualSe representa por un rectaacutengulo dentro de la

cual va el nombre en singularldquoPersona lugar cosa concepto o suceso real o abstracto de intereacutes para la

empresardquo (ANSI 1977)

CLIENTE PROVEEDOR CURSO

Disentildeo de Bases de datos

Tipos de entidadesFuertes (o regulares) que son aquellas

que tienen existencia por si mismas

Deacutebiles cuya existencia depende de otro tipo de entidad Estas entidades normalmente no tienen suficientes atributos para formar una clave primaria

EMPLEADO

FAMILIAR

Disentildeo de Bases de datos

AtributosCada entidad tiene propiedades

especificas que la describen Los atributos se representan por elipses

que estaacuten conectadas a su entidad o relacioacuten mediante una liacutenea recta

PROVEEDOR

Cod Nombre Telef

Disentildeo de Bases de datos

AtributosUna entidad particular es descrita

por los valores de sus atributos

Disentildeo de Bases de datos

Atributos Al conjunto de valores que puede tomar un atributo se le

llama dominio del atributo Cada atributo simple estaacute asociado a un dominio que

especifica sus valores vaacutelidos

Disentildeo de Bases de datos

Atributos Toda entidad debe tener al menos un atributo que permita

diferenciar unas entidades particulares de otras A estos atributos se les llaman claves

[EN 2002] Elmasri R Navathe SB Fundamentos de Sistemas de Bases de Datos 3ordf ed Addison-Wesley (Cap 3 y 4)[MPM 1999] De Miguel A Piattini M Marcos E Disentildeo de bases de datos relacionales Ra-Ma (Cap 2)

Disentildeo de Bases de datos

Atributos Clave Una clave puede estar formada por

varios atributos --gt clave compuesta Combinacioacuten de valores distinta para cada instancia

(nombre fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser miacutenima

Un tipo de entidad puede tenermaacutes de una clave --gt claves candidatas Claves o Identificadores Candidatos de EMPLEADO

nit Nuacutemero de identificacioacuten tributaria CC Nuacutemero de Ceacutedula de ciudadania (nombre fechanacim)

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 5: diseño bdr

Disentildeo de Bases de datos

Recoleccioacuten y anaacutelisis de requerimientos

Los disentildeadores entrevistan a los futuros usuarios de la base de datos para recoger y documentar sus necesidades de informacioacuten En paralelo conviene definir los requerimientos funcionales que consisten en operaciones (transacciones) que se aplicaraacuten a la base de datos e incluyen la obtencioacuten de datos y la actualizacioacuten

Disentildeo de Bases de datos

Disentildeo conceptualCrear un esquema conceptual mediante un

modelo de datos conceptual de alto nivelEl esquema conceptual contiene una

descripcioacuten detallada de los requerimientos de informacioacuten de los usuarios y contiene descripciones de los tipos de datos relaciones entre ellos y restricciones

Se utiliza para el disentildeo de esquemas conceptuales el MER (modelo entidad-relacioacuten

Disentildeo de Bases de datos

Disentildeo loacutegico de la base de datos

Transformar el modelo conceptual al modelo de datos empleados por el SGBD (relacional)

Disentildeo de Bases de datos

Disentildeo fiacutesico de la base de datos

En este paso se especifican las estructuras de almacenamiento internas y la organizacioacuten de los archivos de la base de datos

Disentildeo de Bases de datos

Disentildeo de Bases de datos

Generalidades El modelo E-R fue propuesto por Peter P Chen

entre los antildeos 1976-1977 Posteriormente otros muchos autores han investigado y escrito sobre el modelo proporcionando importantes aportaciones por lo que realmente no se puede considerar que exista un uacutenico modelo E-R

El modelo E-R describe los datos como entidades relaciones (viacutenculos) y atributos y permite representar el esquema conceptual de una base de datos de forma graacutefica mediante los diagramas E-R

Disentildeo de Bases de datos

Esquema conceptual

Descripcioacuten concisa de los requisitos de informacioacuten de los usuariosDescripciones detalladas de TIPOS DE DATOS RELACIONES ENTRE DATOS RESTRICCIONES que los DATOS deben cumplir

Sin detalles de implementacioacuten Maacutes faacutecil de entender Comunicacioacuten con el usuario no teacutecnico

Disentildeo de Bases de datos

Entidades y atributosUna entidad puede ser un objeto con existencia

fiacutesica o un objeto con existencia conceptualSe representa por un rectaacutengulo dentro de la

cual va el nombre en singularldquoPersona lugar cosa concepto o suceso real o abstracto de intereacutes para la

empresardquo (ANSI 1977)

CLIENTE PROVEEDOR CURSO

Disentildeo de Bases de datos

Tipos de entidadesFuertes (o regulares) que son aquellas

que tienen existencia por si mismas

Deacutebiles cuya existencia depende de otro tipo de entidad Estas entidades normalmente no tienen suficientes atributos para formar una clave primaria

EMPLEADO

FAMILIAR

Disentildeo de Bases de datos

AtributosCada entidad tiene propiedades

especificas que la describen Los atributos se representan por elipses

que estaacuten conectadas a su entidad o relacioacuten mediante una liacutenea recta

PROVEEDOR

Cod Nombre Telef

Disentildeo de Bases de datos

AtributosUna entidad particular es descrita

por los valores de sus atributos

Disentildeo de Bases de datos

Atributos Al conjunto de valores que puede tomar un atributo se le

llama dominio del atributo Cada atributo simple estaacute asociado a un dominio que

especifica sus valores vaacutelidos

Disentildeo de Bases de datos

Atributos Toda entidad debe tener al menos un atributo que permita

diferenciar unas entidades particulares de otras A estos atributos se les llaman claves

[EN 2002] Elmasri R Navathe SB Fundamentos de Sistemas de Bases de Datos 3ordf ed Addison-Wesley (Cap 3 y 4)[MPM 1999] De Miguel A Piattini M Marcos E Disentildeo de bases de datos relacionales Ra-Ma (Cap 2)

Disentildeo de Bases de datos

Atributos Clave Una clave puede estar formada por

varios atributos --gt clave compuesta Combinacioacuten de valores distinta para cada instancia

(nombre fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser miacutenima

Un tipo de entidad puede tenermaacutes de una clave --gt claves candidatas Claves o Identificadores Candidatos de EMPLEADO

nit Nuacutemero de identificacioacuten tributaria CC Nuacutemero de Ceacutedula de ciudadania (nombre fechanacim)

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 6: diseño bdr

Disentildeo de Bases de datos

Disentildeo conceptualCrear un esquema conceptual mediante un

modelo de datos conceptual de alto nivelEl esquema conceptual contiene una

descripcioacuten detallada de los requerimientos de informacioacuten de los usuarios y contiene descripciones de los tipos de datos relaciones entre ellos y restricciones

Se utiliza para el disentildeo de esquemas conceptuales el MER (modelo entidad-relacioacuten

Disentildeo de Bases de datos

Disentildeo loacutegico de la base de datos

Transformar el modelo conceptual al modelo de datos empleados por el SGBD (relacional)

Disentildeo de Bases de datos

Disentildeo fiacutesico de la base de datos

En este paso se especifican las estructuras de almacenamiento internas y la organizacioacuten de los archivos de la base de datos

Disentildeo de Bases de datos

Disentildeo de Bases de datos

Generalidades El modelo E-R fue propuesto por Peter P Chen

entre los antildeos 1976-1977 Posteriormente otros muchos autores han investigado y escrito sobre el modelo proporcionando importantes aportaciones por lo que realmente no se puede considerar que exista un uacutenico modelo E-R

El modelo E-R describe los datos como entidades relaciones (viacutenculos) y atributos y permite representar el esquema conceptual de una base de datos de forma graacutefica mediante los diagramas E-R

Disentildeo de Bases de datos

Esquema conceptual

Descripcioacuten concisa de los requisitos de informacioacuten de los usuariosDescripciones detalladas de TIPOS DE DATOS RELACIONES ENTRE DATOS RESTRICCIONES que los DATOS deben cumplir

Sin detalles de implementacioacuten Maacutes faacutecil de entender Comunicacioacuten con el usuario no teacutecnico

Disentildeo de Bases de datos

Entidades y atributosUna entidad puede ser un objeto con existencia

fiacutesica o un objeto con existencia conceptualSe representa por un rectaacutengulo dentro de la

cual va el nombre en singularldquoPersona lugar cosa concepto o suceso real o abstracto de intereacutes para la

empresardquo (ANSI 1977)

CLIENTE PROVEEDOR CURSO

Disentildeo de Bases de datos

Tipos de entidadesFuertes (o regulares) que son aquellas

que tienen existencia por si mismas

Deacutebiles cuya existencia depende de otro tipo de entidad Estas entidades normalmente no tienen suficientes atributos para formar una clave primaria

EMPLEADO

FAMILIAR

Disentildeo de Bases de datos

AtributosCada entidad tiene propiedades

especificas que la describen Los atributos se representan por elipses

que estaacuten conectadas a su entidad o relacioacuten mediante una liacutenea recta

PROVEEDOR

Cod Nombre Telef

Disentildeo de Bases de datos

AtributosUna entidad particular es descrita

por los valores de sus atributos

Disentildeo de Bases de datos

Atributos Al conjunto de valores que puede tomar un atributo se le

llama dominio del atributo Cada atributo simple estaacute asociado a un dominio que

especifica sus valores vaacutelidos

Disentildeo de Bases de datos

Atributos Toda entidad debe tener al menos un atributo que permita

diferenciar unas entidades particulares de otras A estos atributos se les llaman claves

[EN 2002] Elmasri R Navathe SB Fundamentos de Sistemas de Bases de Datos 3ordf ed Addison-Wesley (Cap 3 y 4)[MPM 1999] De Miguel A Piattini M Marcos E Disentildeo de bases de datos relacionales Ra-Ma (Cap 2)

Disentildeo de Bases de datos

Atributos Clave Una clave puede estar formada por

varios atributos --gt clave compuesta Combinacioacuten de valores distinta para cada instancia

(nombre fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser miacutenima

Un tipo de entidad puede tenermaacutes de una clave --gt claves candidatas Claves o Identificadores Candidatos de EMPLEADO

nit Nuacutemero de identificacioacuten tributaria CC Nuacutemero de Ceacutedula de ciudadania (nombre fechanacim)

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 7: diseño bdr

Disentildeo de Bases de datos

Disentildeo loacutegico de la base de datos

Transformar el modelo conceptual al modelo de datos empleados por el SGBD (relacional)

Disentildeo de Bases de datos

Disentildeo fiacutesico de la base de datos

En este paso se especifican las estructuras de almacenamiento internas y la organizacioacuten de los archivos de la base de datos

Disentildeo de Bases de datos

Disentildeo de Bases de datos

Generalidades El modelo E-R fue propuesto por Peter P Chen

entre los antildeos 1976-1977 Posteriormente otros muchos autores han investigado y escrito sobre el modelo proporcionando importantes aportaciones por lo que realmente no se puede considerar que exista un uacutenico modelo E-R

El modelo E-R describe los datos como entidades relaciones (viacutenculos) y atributos y permite representar el esquema conceptual de una base de datos de forma graacutefica mediante los diagramas E-R

Disentildeo de Bases de datos

Esquema conceptual

Descripcioacuten concisa de los requisitos de informacioacuten de los usuariosDescripciones detalladas de TIPOS DE DATOS RELACIONES ENTRE DATOS RESTRICCIONES que los DATOS deben cumplir

Sin detalles de implementacioacuten Maacutes faacutecil de entender Comunicacioacuten con el usuario no teacutecnico

Disentildeo de Bases de datos

Entidades y atributosUna entidad puede ser un objeto con existencia

fiacutesica o un objeto con existencia conceptualSe representa por un rectaacutengulo dentro de la

cual va el nombre en singularldquoPersona lugar cosa concepto o suceso real o abstracto de intereacutes para la

empresardquo (ANSI 1977)

CLIENTE PROVEEDOR CURSO

Disentildeo de Bases de datos

Tipos de entidadesFuertes (o regulares) que son aquellas

que tienen existencia por si mismas

Deacutebiles cuya existencia depende de otro tipo de entidad Estas entidades normalmente no tienen suficientes atributos para formar una clave primaria

EMPLEADO

FAMILIAR

Disentildeo de Bases de datos

AtributosCada entidad tiene propiedades

especificas que la describen Los atributos se representan por elipses

que estaacuten conectadas a su entidad o relacioacuten mediante una liacutenea recta

PROVEEDOR

Cod Nombre Telef

Disentildeo de Bases de datos

AtributosUna entidad particular es descrita

por los valores de sus atributos

Disentildeo de Bases de datos

Atributos Al conjunto de valores que puede tomar un atributo se le

llama dominio del atributo Cada atributo simple estaacute asociado a un dominio que

especifica sus valores vaacutelidos

Disentildeo de Bases de datos

Atributos Toda entidad debe tener al menos un atributo que permita

diferenciar unas entidades particulares de otras A estos atributos se les llaman claves

[EN 2002] Elmasri R Navathe SB Fundamentos de Sistemas de Bases de Datos 3ordf ed Addison-Wesley (Cap 3 y 4)[MPM 1999] De Miguel A Piattini M Marcos E Disentildeo de bases de datos relacionales Ra-Ma (Cap 2)

Disentildeo de Bases de datos

Atributos Clave Una clave puede estar formada por

varios atributos --gt clave compuesta Combinacioacuten de valores distinta para cada instancia

(nombre fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser miacutenima

Un tipo de entidad puede tenermaacutes de una clave --gt claves candidatas Claves o Identificadores Candidatos de EMPLEADO

nit Nuacutemero de identificacioacuten tributaria CC Nuacutemero de Ceacutedula de ciudadania (nombre fechanacim)

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 8: diseño bdr

Disentildeo de Bases de datos

Disentildeo fiacutesico de la base de datos

En este paso se especifican las estructuras de almacenamiento internas y la organizacioacuten de los archivos de la base de datos

Disentildeo de Bases de datos

Disentildeo de Bases de datos

Generalidades El modelo E-R fue propuesto por Peter P Chen

entre los antildeos 1976-1977 Posteriormente otros muchos autores han investigado y escrito sobre el modelo proporcionando importantes aportaciones por lo que realmente no se puede considerar que exista un uacutenico modelo E-R

El modelo E-R describe los datos como entidades relaciones (viacutenculos) y atributos y permite representar el esquema conceptual de una base de datos de forma graacutefica mediante los diagramas E-R

Disentildeo de Bases de datos

Esquema conceptual

Descripcioacuten concisa de los requisitos de informacioacuten de los usuariosDescripciones detalladas de TIPOS DE DATOS RELACIONES ENTRE DATOS RESTRICCIONES que los DATOS deben cumplir

Sin detalles de implementacioacuten Maacutes faacutecil de entender Comunicacioacuten con el usuario no teacutecnico

Disentildeo de Bases de datos

Entidades y atributosUna entidad puede ser un objeto con existencia

fiacutesica o un objeto con existencia conceptualSe representa por un rectaacutengulo dentro de la

cual va el nombre en singularldquoPersona lugar cosa concepto o suceso real o abstracto de intereacutes para la

empresardquo (ANSI 1977)

CLIENTE PROVEEDOR CURSO

Disentildeo de Bases de datos

Tipos de entidadesFuertes (o regulares) que son aquellas

que tienen existencia por si mismas

Deacutebiles cuya existencia depende de otro tipo de entidad Estas entidades normalmente no tienen suficientes atributos para formar una clave primaria

EMPLEADO

FAMILIAR

Disentildeo de Bases de datos

AtributosCada entidad tiene propiedades

especificas que la describen Los atributos se representan por elipses

que estaacuten conectadas a su entidad o relacioacuten mediante una liacutenea recta

PROVEEDOR

Cod Nombre Telef

Disentildeo de Bases de datos

AtributosUna entidad particular es descrita

por los valores de sus atributos

Disentildeo de Bases de datos

Atributos Al conjunto de valores que puede tomar un atributo se le

llama dominio del atributo Cada atributo simple estaacute asociado a un dominio que

especifica sus valores vaacutelidos

Disentildeo de Bases de datos

Atributos Toda entidad debe tener al menos un atributo que permita

diferenciar unas entidades particulares de otras A estos atributos se les llaman claves

[EN 2002] Elmasri R Navathe SB Fundamentos de Sistemas de Bases de Datos 3ordf ed Addison-Wesley (Cap 3 y 4)[MPM 1999] De Miguel A Piattini M Marcos E Disentildeo de bases de datos relacionales Ra-Ma (Cap 2)

Disentildeo de Bases de datos

Atributos Clave Una clave puede estar formada por

varios atributos --gt clave compuesta Combinacioacuten de valores distinta para cada instancia

(nombre fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser miacutenima

Un tipo de entidad puede tenermaacutes de una clave --gt claves candidatas Claves o Identificadores Candidatos de EMPLEADO

nit Nuacutemero de identificacioacuten tributaria CC Nuacutemero de Ceacutedula de ciudadania (nombre fechanacim)

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 9: diseño bdr

Disentildeo de Bases de datos

Disentildeo de Bases de datos

Generalidades El modelo E-R fue propuesto por Peter P Chen

entre los antildeos 1976-1977 Posteriormente otros muchos autores han investigado y escrito sobre el modelo proporcionando importantes aportaciones por lo que realmente no se puede considerar que exista un uacutenico modelo E-R

El modelo E-R describe los datos como entidades relaciones (viacutenculos) y atributos y permite representar el esquema conceptual de una base de datos de forma graacutefica mediante los diagramas E-R

Disentildeo de Bases de datos

Esquema conceptual

Descripcioacuten concisa de los requisitos de informacioacuten de los usuariosDescripciones detalladas de TIPOS DE DATOS RELACIONES ENTRE DATOS RESTRICCIONES que los DATOS deben cumplir

Sin detalles de implementacioacuten Maacutes faacutecil de entender Comunicacioacuten con el usuario no teacutecnico

Disentildeo de Bases de datos

Entidades y atributosUna entidad puede ser un objeto con existencia

fiacutesica o un objeto con existencia conceptualSe representa por un rectaacutengulo dentro de la

cual va el nombre en singularldquoPersona lugar cosa concepto o suceso real o abstracto de intereacutes para la

empresardquo (ANSI 1977)

CLIENTE PROVEEDOR CURSO

Disentildeo de Bases de datos

Tipos de entidadesFuertes (o regulares) que son aquellas

que tienen existencia por si mismas

Deacutebiles cuya existencia depende de otro tipo de entidad Estas entidades normalmente no tienen suficientes atributos para formar una clave primaria

EMPLEADO

FAMILIAR

Disentildeo de Bases de datos

AtributosCada entidad tiene propiedades

especificas que la describen Los atributos se representan por elipses

que estaacuten conectadas a su entidad o relacioacuten mediante una liacutenea recta

PROVEEDOR

Cod Nombre Telef

Disentildeo de Bases de datos

AtributosUna entidad particular es descrita

por los valores de sus atributos

Disentildeo de Bases de datos

Atributos Al conjunto de valores que puede tomar un atributo se le

llama dominio del atributo Cada atributo simple estaacute asociado a un dominio que

especifica sus valores vaacutelidos

Disentildeo de Bases de datos

Atributos Toda entidad debe tener al menos un atributo que permita

diferenciar unas entidades particulares de otras A estos atributos se les llaman claves

[EN 2002] Elmasri R Navathe SB Fundamentos de Sistemas de Bases de Datos 3ordf ed Addison-Wesley (Cap 3 y 4)[MPM 1999] De Miguel A Piattini M Marcos E Disentildeo de bases de datos relacionales Ra-Ma (Cap 2)

Disentildeo de Bases de datos

Atributos Clave Una clave puede estar formada por

varios atributos --gt clave compuesta Combinacioacuten de valores distinta para cada instancia

(nombre fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser miacutenima

Un tipo de entidad puede tenermaacutes de una clave --gt claves candidatas Claves o Identificadores Candidatos de EMPLEADO

nit Nuacutemero de identificacioacuten tributaria CC Nuacutemero de Ceacutedula de ciudadania (nombre fechanacim)

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 10: diseño bdr

Disentildeo de Bases de datos

Generalidades El modelo E-R fue propuesto por Peter P Chen

entre los antildeos 1976-1977 Posteriormente otros muchos autores han investigado y escrito sobre el modelo proporcionando importantes aportaciones por lo que realmente no se puede considerar que exista un uacutenico modelo E-R

El modelo E-R describe los datos como entidades relaciones (viacutenculos) y atributos y permite representar el esquema conceptual de una base de datos de forma graacutefica mediante los diagramas E-R

Disentildeo de Bases de datos

Esquema conceptual

Descripcioacuten concisa de los requisitos de informacioacuten de los usuariosDescripciones detalladas de TIPOS DE DATOS RELACIONES ENTRE DATOS RESTRICCIONES que los DATOS deben cumplir

Sin detalles de implementacioacuten Maacutes faacutecil de entender Comunicacioacuten con el usuario no teacutecnico

Disentildeo de Bases de datos

Entidades y atributosUna entidad puede ser un objeto con existencia

fiacutesica o un objeto con existencia conceptualSe representa por un rectaacutengulo dentro de la

cual va el nombre en singularldquoPersona lugar cosa concepto o suceso real o abstracto de intereacutes para la

empresardquo (ANSI 1977)

CLIENTE PROVEEDOR CURSO

Disentildeo de Bases de datos

Tipos de entidadesFuertes (o regulares) que son aquellas

que tienen existencia por si mismas

Deacutebiles cuya existencia depende de otro tipo de entidad Estas entidades normalmente no tienen suficientes atributos para formar una clave primaria

EMPLEADO

FAMILIAR

Disentildeo de Bases de datos

AtributosCada entidad tiene propiedades

especificas que la describen Los atributos se representan por elipses

que estaacuten conectadas a su entidad o relacioacuten mediante una liacutenea recta

PROVEEDOR

Cod Nombre Telef

Disentildeo de Bases de datos

AtributosUna entidad particular es descrita

por los valores de sus atributos

Disentildeo de Bases de datos

Atributos Al conjunto de valores que puede tomar un atributo se le

llama dominio del atributo Cada atributo simple estaacute asociado a un dominio que

especifica sus valores vaacutelidos

Disentildeo de Bases de datos

Atributos Toda entidad debe tener al menos un atributo que permita

diferenciar unas entidades particulares de otras A estos atributos se les llaman claves

[EN 2002] Elmasri R Navathe SB Fundamentos de Sistemas de Bases de Datos 3ordf ed Addison-Wesley (Cap 3 y 4)[MPM 1999] De Miguel A Piattini M Marcos E Disentildeo de bases de datos relacionales Ra-Ma (Cap 2)

Disentildeo de Bases de datos

Atributos Clave Una clave puede estar formada por

varios atributos --gt clave compuesta Combinacioacuten de valores distinta para cada instancia

(nombre fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser miacutenima

Un tipo de entidad puede tenermaacutes de una clave --gt claves candidatas Claves o Identificadores Candidatos de EMPLEADO

nit Nuacutemero de identificacioacuten tributaria CC Nuacutemero de Ceacutedula de ciudadania (nombre fechanacim)

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 11: diseño bdr

Disentildeo de Bases de datos

Esquema conceptual

Descripcioacuten concisa de los requisitos de informacioacuten de los usuariosDescripciones detalladas de TIPOS DE DATOS RELACIONES ENTRE DATOS RESTRICCIONES que los DATOS deben cumplir

Sin detalles de implementacioacuten Maacutes faacutecil de entender Comunicacioacuten con el usuario no teacutecnico

Disentildeo de Bases de datos

Entidades y atributosUna entidad puede ser un objeto con existencia

fiacutesica o un objeto con existencia conceptualSe representa por un rectaacutengulo dentro de la

cual va el nombre en singularldquoPersona lugar cosa concepto o suceso real o abstracto de intereacutes para la

empresardquo (ANSI 1977)

CLIENTE PROVEEDOR CURSO

Disentildeo de Bases de datos

Tipos de entidadesFuertes (o regulares) que son aquellas

que tienen existencia por si mismas

Deacutebiles cuya existencia depende de otro tipo de entidad Estas entidades normalmente no tienen suficientes atributos para formar una clave primaria

EMPLEADO

FAMILIAR

Disentildeo de Bases de datos

AtributosCada entidad tiene propiedades

especificas que la describen Los atributos se representan por elipses

que estaacuten conectadas a su entidad o relacioacuten mediante una liacutenea recta

PROVEEDOR

Cod Nombre Telef

Disentildeo de Bases de datos

AtributosUna entidad particular es descrita

por los valores de sus atributos

Disentildeo de Bases de datos

Atributos Al conjunto de valores que puede tomar un atributo se le

llama dominio del atributo Cada atributo simple estaacute asociado a un dominio que

especifica sus valores vaacutelidos

Disentildeo de Bases de datos

Atributos Toda entidad debe tener al menos un atributo que permita

diferenciar unas entidades particulares de otras A estos atributos se les llaman claves

[EN 2002] Elmasri R Navathe SB Fundamentos de Sistemas de Bases de Datos 3ordf ed Addison-Wesley (Cap 3 y 4)[MPM 1999] De Miguel A Piattini M Marcos E Disentildeo de bases de datos relacionales Ra-Ma (Cap 2)

Disentildeo de Bases de datos

Atributos Clave Una clave puede estar formada por

varios atributos --gt clave compuesta Combinacioacuten de valores distinta para cada instancia

(nombre fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser miacutenima

Un tipo de entidad puede tenermaacutes de una clave --gt claves candidatas Claves o Identificadores Candidatos de EMPLEADO

nit Nuacutemero de identificacioacuten tributaria CC Nuacutemero de Ceacutedula de ciudadania (nombre fechanacim)

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 12: diseño bdr

Disentildeo de Bases de datos

Entidades y atributosUna entidad puede ser un objeto con existencia

fiacutesica o un objeto con existencia conceptualSe representa por un rectaacutengulo dentro de la

cual va el nombre en singularldquoPersona lugar cosa concepto o suceso real o abstracto de intereacutes para la

empresardquo (ANSI 1977)

CLIENTE PROVEEDOR CURSO

Disentildeo de Bases de datos

Tipos de entidadesFuertes (o regulares) que son aquellas

que tienen existencia por si mismas

Deacutebiles cuya existencia depende de otro tipo de entidad Estas entidades normalmente no tienen suficientes atributos para formar una clave primaria

EMPLEADO

FAMILIAR

Disentildeo de Bases de datos

AtributosCada entidad tiene propiedades

especificas que la describen Los atributos se representan por elipses

que estaacuten conectadas a su entidad o relacioacuten mediante una liacutenea recta

PROVEEDOR

Cod Nombre Telef

Disentildeo de Bases de datos

AtributosUna entidad particular es descrita

por los valores de sus atributos

Disentildeo de Bases de datos

Atributos Al conjunto de valores que puede tomar un atributo se le

llama dominio del atributo Cada atributo simple estaacute asociado a un dominio que

especifica sus valores vaacutelidos

Disentildeo de Bases de datos

Atributos Toda entidad debe tener al menos un atributo que permita

diferenciar unas entidades particulares de otras A estos atributos se les llaman claves

[EN 2002] Elmasri R Navathe SB Fundamentos de Sistemas de Bases de Datos 3ordf ed Addison-Wesley (Cap 3 y 4)[MPM 1999] De Miguel A Piattini M Marcos E Disentildeo de bases de datos relacionales Ra-Ma (Cap 2)

Disentildeo de Bases de datos

Atributos Clave Una clave puede estar formada por

varios atributos --gt clave compuesta Combinacioacuten de valores distinta para cada instancia

(nombre fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser miacutenima

Un tipo de entidad puede tenermaacutes de una clave --gt claves candidatas Claves o Identificadores Candidatos de EMPLEADO

nit Nuacutemero de identificacioacuten tributaria CC Nuacutemero de Ceacutedula de ciudadania (nombre fechanacim)

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 13: diseño bdr

Disentildeo de Bases de datos

Tipos de entidadesFuertes (o regulares) que son aquellas

que tienen existencia por si mismas

Deacutebiles cuya existencia depende de otro tipo de entidad Estas entidades normalmente no tienen suficientes atributos para formar una clave primaria

EMPLEADO

FAMILIAR

Disentildeo de Bases de datos

AtributosCada entidad tiene propiedades

especificas que la describen Los atributos se representan por elipses

que estaacuten conectadas a su entidad o relacioacuten mediante una liacutenea recta

PROVEEDOR

Cod Nombre Telef

Disentildeo de Bases de datos

AtributosUna entidad particular es descrita

por los valores de sus atributos

Disentildeo de Bases de datos

Atributos Al conjunto de valores que puede tomar un atributo se le

llama dominio del atributo Cada atributo simple estaacute asociado a un dominio que

especifica sus valores vaacutelidos

Disentildeo de Bases de datos

Atributos Toda entidad debe tener al menos un atributo que permita

diferenciar unas entidades particulares de otras A estos atributos se les llaman claves

[EN 2002] Elmasri R Navathe SB Fundamentos de Sistemas de Bases de Datos 3ordf ed Addison-Wesley (Cap 3 y 4)[MPM 1999] De Miguel A Piattini M Marcos E Disentildeo de bases de datos relacionales Ra-Ma (Cap 2)

Disentildeo de Bases de datos

Atributos Clave Una clave puede estar formada por

varios atributos --gt clave compuesta Combinacioacuten de valores distinta para cada instancia

(nombre fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser miacutenima

Un tipo de entidad puede tenermaacutes de una clave --gt claves candidatas Claves o Identificadores Candidatos de EMPLEADO

nit Nuacutemero de identificacioacuten tributaria CC Nuacutemero de Ceacutedula de ciudadania (nombre fechanacim)

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 14: diseño bdr

Disentildeo de Bases de datos

AtributosCada entidad tiene propiedades

especificas que la describen Los atributos se representan por elipses

que estaacuten conectadas a su entidad o relacioacuten mediante una liacutenea recta

PROVEEDOR

Cod Nombre Telef

Disentildeo de Bases de datos

AtributosUna entidad particular es descrita

por los valores de sus atributos

Disentildeo de Bases de datos

Atributos Al conjunto de valores que puede tomar un atributo se le

llama dominio del atributo Cada atributo simple estaacute asociado a un dominio que

especifica sus valores vaacutelidos

Disentildeo de Bases de datos

Atributos Toda entidad debe tener al menos un atributo que permita

diferenciar unas entidades particulares de otras A estos atributos se les llaman claves

[EN 2002] Elmasri R Navathe SB Fundamentos de Sistemas de Bases de Datos 3ordf ed Addison-Wesley (Cap 3 y 4)[MPM 1999] De Miguel A Piattini M Marcos E Disentildeo de bases de datos relacionales Ra-Ma (Cap 2)

Disentildeo de Bases de datos

Atributos Clave Una clave puede estar formada por

varios atributos --gt clave compuesta Combinacioacuten de valores distinta para cada instancia

(nombre fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser miacutenima

Un tipo de entidad puede tenermaacutes de una clave --gt claves candidatas Claves o Identificadores Candidatos de EMPLEADO

nit Nuacutemero de identificacioacuten tributaria CC Nuacutemero de Ceacutedula de ciudadania (nombre fechanacim)

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 15: diseño bdr

Disentildeo de Bases de datos

AtributosUna entidad particular es descrita

por los valores de sus atributos

Disentildeo de Bases de datos

Atributos Al conjunto de valores que puede tomar un atributo se le

llama dominio del atributo Cada atributo simple estaacute asociado a un dominio que

especifica sus valores vaacutelidos

Disentildeo de Bases de datos

Atributos Toda entidad debe tener al menos un atributo que permita

diferenciar unas entidades particulares de otras A estos atributos se les llaman claves

[EN 2002] Elmasri R Navathe SB Fundamentos de Sistemas de Bases de Datos 3ordf ed Addison-Wesley (Cap 3 y 4)[MPM 1999] De Miguel A Piattini M Marcos E Disentildeo de bases de datos relacionales Ra-Ma (Cap 2)

Disentildeo de Bases de datos

Atributos Clave Una clave puede estar formada por

varios atributos --gt clave compuesta Combinacioacuten de valores distinta para cada instancia

(nombre fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser miacutenima

Un tipo de entidad puede tenermaacutes de una clave --gt claves candidatas Claves o Identificadores Candidatos de EMPLEADO

nit Nuacutemero de identificacioacuten tributaria CC Nuacutemero de Ceacutedula de ciudadania (nombre fechanacim)

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 16: diseño bdr

Disentildeo de Bases de datos

Atributos Al conjunto de valores que puede tomar un atributo se le

llama dominio del atributo Cada atributo simple estaacute asociado a un dominio que

especifica sus valores vaacutelidos

Disentildeo de Bases de datos

Atributos Toda entidad debe tener al menos un atributo que permita

diferenciar unas entidades particulares de otras A estos atributos se les llaman claves

[EN 2002] Elmasri R Navathe SB Fundamentos de Sistemas de Bases de Datos 3ordf ed Addison-Wesley (Cap 3 y 4)[MPM 1999] De Miguel A Piattini M Marcos E Disentildeo de bases de datos relacionales Ra-Ma (Cap 2)

Disentildeo de Bases de datos

Atributos Clave Una clave puede estar formada por

varios atributos --gt clave compuesta Combinacioacuten de valores distinta para cada instancia

(nombre fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser miacutenima

Un tipo de entidad puede tenermaacutes de una clave --gt claves candidatas Claves o Identificadores Candidatos de EMPLEADO

nit Nuacutemero de identificacioacuten tributaria CC Nuacutemero de Ceacutedula de ciudadania (nombre fechanacim)

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 17: diseño bdr

Disentildeo de Bases de datos

Atributos Toda entidad debe tener al menos un atributo que permita

diferenciar unas entidades particulares de otras A estos atributos se les llaman claves

[EN 2002] Elmasri R Navathe SB Fundamentos de Sistemas de Bases de Datos 3ordf ed Addison-Wesley (Cap 3 y 4)[MPM 1999] De Miguel A Piattini M Marcos E Disentildeo de bases de datos relacionales Ra-Ma (Cap 2)

Disentildeo de Bases de datos

Atributos Clave Una clave puede estar formada por

varios atributos --gt clave compuesta Combinacioacuten de valores distinta para cada instancia

(nombre fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser miacutenima

Un tipo de entidad puede tenermaacutes de una clave --gt claves candidatas Claves o Identificadores Candidatos de EMPLEADO

nit Nuacutemero de identificacioacuten tributaria CC Nuacutemero de Ceacutedula de ciudadania (nombre fechanacim)

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 18: diseño bdr

Disentildeo de Bases de datos

Atributos Clave Una clave puede estar formada por

varios atributos --gt clave compuesta Combinacioacuten de valores distinta para cada instancia

(nombre fechanacim) en el tipo de entidad EMPLEADO Una clave compuesta debe ser miacutenima

Un tipo de entidad puede tenermaacutes de una clave --gt claves candidatas Claves o Identificadores Candidatos de EMPLEADO

nit Nuacutemero de identificacioacuten tributaria CC Nuacutemero de Ceacutedula de ciudadania (nombre fechanacim)

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 19: diseño bdr

Disentildeo de Bases de datos

Tipos de atributos a) Simples o compuestos Los compuestos

estaacuten formados por un conjunto de atributos mientras que los simples no se pueden dividir

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 20: diseño bdr

Disentildeo de Bases de datos

Tipos de Atributo b) Monovaluados o multivaluados Los monovaluados soacutelo pueden tener un

valor para una entidad particular mientras que los multivaluados pueden tener maacutes de un valor

Pueden tener liacutemites superior e inferior del nuacutemero de valores por entidad nacionalidad (1-2) telefono (0-3)

AUTO

Placa Modelo Color

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 21: diseño bdr

Disentildeo de Bases de datos

Tipos de atributos Almacenados o derivados Los derivados son atributos

cuyo valor para una entidad particular puede obtenerse en funcioacuten de los valores almacenados en otros atributos Se representan mediante una elipse con trazo discontinuo

PERSONA

DNI Nombre FechaN Edad

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 22: diseño bdr

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 23: diseño bdr

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 24: diseño bdr

Disentildeo de Bases de datos

Vinculo o relacioacuten Tambieacuten ldquointerrelacioacutenrdquo Asociacioacuten viacutenculo o correspondencia entre

instancias de entidades relacionadas de alguna manera en el ldquomundo realrdquo

El director ldquoAlejandro Amenaacutebarrdquo ha rodado la peliacutecula ldquoMar adentrordquo

El empleado 87654321 trabaja en el local de videoclub ldquoprincipalrdquo

La peliacutecula ldquoEl imperio contraatacardquo es una continuacioacuten de la peliacutecula ldquoLa guerra de las galaxiasrdquo

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 25: diseño bdr

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Se puede definir como una correspondencia

asociacioacuten o conexioacuten entre dos o maacutes entidades En los diagramas E-R se representa graacuteficamente

como un rombo y sus nombres son verbos

Una relacioacuten puede tener atributos descriptivos

PROVEEDOR ARTICULOVende

fecha

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 26: diseño bdr

Disentildeo de Bases de datos

Viacutenculo o relacioacuten Grado de una relacioacuten es el nuacutemero de entidades

que participan en la relacioacuten Binaria grado 2 (el maacutes frecuente) Ternaria grado 3 Reflexiva (o recursiva) grado 1

Se puede restringir el MER para incluir solo conjuntos de relaciones binarias es decir de grado 2 (es aconsejable)

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 27: diseño bdr

Disentildeo de Bases de datos

Vinculo o Relacioacuten Correspondencia de cardinalidad expresa el

nuacutemero maacuteximo de entidades que estaacuten relacionadas con una uacutenica entidad del otro conjunto de entidades que interviene en la relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 28: diseño bdr

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [EN-2000]

Etiqueta en la liacutenea que une entidad y relacioacuten

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 29: diseño bdr

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [MPM-1999]

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 30: diseño bdr

Disentildeo de Bases de datos

Viacutenculo o relacioacutenNotacioacuten [SKS-1998]

[SKS 1998] Silberschatz AKorth H Sudarshan S Fundamentosde Bases de Datos 3ordf edicioacuten Madrid McGraw-Hill (Cap 2)

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 31: diseño bdr

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten Opcional (parcial) No todas las ocurrencias de una entidad

tienen que estar relacionadas con alguna de la otra entidad

PERSONA ANIMALPosee

Obligatoria (total) Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada Se dice tambieacuten que existen una participacioacuten total de ese conjunto de entidades en el conjunto de relaciones

PROVEEDOR ARTICULOVende

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 32: diseño bdr

Disentildeo de Bases de datos

Tipos de participacioacuten de las entidades en una relacioacuten

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 33: diseño bdr

Disentildeo de Bases de datos

Cardinalidad de tipo de entidad [EN2002]

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 34: diseño bdr

Disentildeo de Bases de datos

Notaciones

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 35: diseño bdr

Disentildeo de Bases de datos

Relacioacuten DeacutebilbullTipo de relacioacuten deacutebil (o dependencia) Relaciona un tipo de entidad deacutebil y otro regularbull Clases de dependencia

bullEn existencia Si desaparece una instancia del tipo de entidad regular deben desaparecer las instancias de la entidad deacutebil que dependen de ellaEtiqueta ldquoErdquo en el tipo de relacioacuten deacutebilbullEn identificacioacuten Ademaacutes de la dependencia en existenciaUna instancia del tipo de entidad deacutebil no se puede identificar por siacute mismaSu clave es (clave_entidad_regular clave_parcial)Etiqueta ldquoIDrdquo en el tipo de relacioacuten deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 36: diseño bdr

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 37: diseño bdr

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 38: diseño bdr

Disentildeo de Bases de datos

Relacioacuten Deacutebil

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 39: diseño bdr

Disentildeo de Bases de datos

Modelo Entidad-Relacioacuten Extendido MERE

Enhanced Entity-Relationship model EERAportaciones de diversos autores al

modelo Entidad-Relacioacuten laquobaacutesicoraquoPermiten representar

Relaciones exclusivas entre siacute Jerarquiacuteas de EspecializacioacutenGeneralizacioacuten Agregacioacuten de entidades

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 40: diseño bdr

Disentildeo de Bases de datos

Relaciones ExclusivasDos (o maacutes) tipos de relacioacuten son exclusivos

respecto de un tipo de entidad que participa en ambos si cada instancia del tipo de entidad soacutelo puede participar en uno de los tipos de relacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 41: diseño bdr

Disentildeo de Bases de datos

Generalizacioacuten y Especializacioacuten

Caso especial de relacioacuten entre un tipo de entidad y varios otros tipos de entidad

La jerarquiacutea o relacioacuten que se establece entre uno y otros corresponde a la nocioacuten de ldquoes_unrdquo o de ldquoes_un_tipo_derdquo

Estas jerarquiacuteas pueden formarse por especializacioacuten o bien por generalizacioacuten

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 42: diseño bdr

Disentildeo de Bases de datos

Generalizacioacuten y EspecializacioacutenAgrupacioacuten de instancias dentro de un tipo de entidad que

debe representarse expliacutecitamente debido a su importancia para el disentildeo o aplicacioacuten

Subtipos del tipo de entidad VEHIacuteCULO CAMIOacuteN TURISMO AUTOBUacuteS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llamaSupertipo ( VEHICULO EMPLEADO )

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 43: diseño bdr

Disentildeo de Bases de datos

EG Supertipos y subtiposUn supertipo es todo tipo entidad sobre el

que se definen subclases Como se trata de entidades

Un subtipo es un subconjunto del tipo entidad que tiene sentido en el minimundo ya que tiene atributos particulares

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 44: diseño bdr

Disentildeo de Bases de datos

El tipo relacioacuten entre una supertipo y sus subtipos se dice que es un tipo ES_UN (IS_A) Este tipo relacioacuten se representa a diferencia del resto de relaciones con un triaacutengulo El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap)

supertipo

Relacion IS_A

subtipo

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 45: diseño bdr

Disentildeo de Bases de datos

cuando usar Especializacioacuten es el proceso de definir un conjunto de

subclases a partir de un tipo entidad Generalizacioacuten es el proceso de suprimir las diferencias

entre varios tipo entidad identificando sus cualidades comunes

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 46: diseño bdr

Disentildeo de Bases de datos

EG Supertipos y subtipos

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 47: diseño bdr

Disentildeo de Bases de datos

EG Herencia de tipobullUn subtipo puede tener atributos propios (especiacuteficos) y participar en relaciones por separadoUn subtipo hereda todos los atributos del supertipo y toda relacioacuten en la que participa el supertipo

ndash Un subtipo con sus atributos y relaciones especiacuteficos maacutes los atributos y relaciones que hereda del supertipo es untipo de entidad por derecho propio

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 48: diseño bdr

Disentildeo de Bases de datos

cuando usar

Cuando los subtipos tienen atributos particulares que no tiene el supertipo Cuando existen tipos relacioacuten en los que participan solo algunos subtipos Cuando hay Atributos que soacutelo tienen sentido para algunas instancias de un

tipo y no para todas (atributos especiacuteficos)Ejemplo especialidadMeacutedica laquono es aplicableraquo a CELADOR

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 49: diseño bdr

Disentildeo de Bases de datos

Especializacioacuten

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 50: diseño bdr

Disentildeo de Bases de datos

GeneralizacioacutenProceso inverso de la especializacioacutenbull Suprimir diferencias entre varios tipos de entidadidentificar atributos y relaciones comunes y formarun supertipo que los incluya

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 51: diseño bdr

Disentildeo de Bases de datos

Generalizacioacuten vs Especializacioacuten

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 52: diseño bdr

Disentildeo de Bases de datos

Restricciones de EG Definicioacuten

iquestQueacute instancias del supertipo pertenecen a cada subtipo

DisyuncioacutenSolapamiento iquestA cuaacutentos subtipos puede pertenecer (a la vez) una instancia

del supertipo

CompletitudParcialidad iquestDebe toda instancia del supertipo pertenecer a alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 53: diseño bdr

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por predicado o condicioacuten

Condicioacuten de pertenencia a cada subtipo con base en el valor de alguacuten atributo del supertipo

Restriccioacuten que especifica que Las instancias del subtipo deben satisfacer la condicioacuten Todas las instancias del supertipo que cumplen la condicioacuten deben

pertenecer al subtipo

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 54: diseño bdr

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por atributo

Todas las subclases definen la condicioacuten de pertenencia en teacuterminos del mismo atributo

es el discriminante de la especializacioacuten

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 55: diseño bdr

Disentildeo de Bases de datos

Restricciones Definicioacuten Subtipos definidos por el usuario

No existe (o no interesa definir) ninguna condicioacuten de pertenencia a los subtipos

El usuario al insertar una instancia elige a queacute subtipo pertenece

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 56: diseño bdr

Disentildeo de Bases de datos

Restricciones Disyuncioacutensolapamiento Subtipos disjuntos si una instancia del supertipo

puede ser miembro de como maacuteximo uno de los subtipos

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 57: diseño bdr

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten total (completa) indica que toda

instancia del supertipo tambieacuten debe ser instancia de alguacuten subtipo

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 58: diseño bdr

Disentildeo de Bases de datos

Restricciones Completitudparcialidad Especializacioacuten parcial indica que es posible que alguna

instancia del supertipo no pertenezca a ninguno de los subtipos La unioacuten de las extensiones de los subtipos no es la extensioacuten

del supertipo en su totalidad

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 59: diseño bdr

Disentildeo de Bases de datos

EGReglas de Insercioacuten Deben aplicarse a la Especializacioacuten y la

Generalizacioacuten debido a las restricciones definidas Insertar una instancia en un supertipo implica insertarla en

todos los subtipos definidos por predicado o por atributo para los cuales satisface el predicado de definicioacuten

Insertar una instancia en un supertipo de una especializacioacuten total implica insertarla en al menos un subtipo

Y si la especializacioacuten es disjunta entonces la instancia se insertaraacute en un uacutenico subtipo

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 60: diseño bdr

Disentildeo de Bases de datos

EGReglas de Insercioacuten Eliminar una instancia de un supertipo implica eliminarla de todos

los subtipos a los que pertenece Eliminar una instancia de un subtipo implica eliminarla del supertipo

si la especializacioacuten es Disyunta y total o bien Solapada y total y la instancia ya soacutelo pertenece al subtipo (se eliminoacute del

resto)

En el resto de casos la instancia soacutelo se elimina del subtipo No del supertipo (1048652 lo hariacutea el usuario si fuese necesario)

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 61: diseño bdr

Disentildeo de Bases de datos

Agregado Restriccioacuten inherente del MER

No puede expresar relaciones entre varias relaciones ni entre un tipo de relacioacuten y un tipo de entidad

La agregacioacuten Permite combinar varios tipos de entidad relacionados mediante un tipo de relacioacuten para formar un

tipo de entidad agregada de nivel superior Uacutetil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 62: diseño bdr

Disentildeo de Bases de datos

AgregadoEs un elemento que nos permite relacionar una relacioacuten con otra

entidad Hasta el momento solo se podiacutean relacionar entidades Este nuevo elemento permite relacionar relaciones con entidades o relaciones entre si siempre que el caso lo requiera

PERSONA PROYECTOParticipa

Supervisa

ORGANISMO

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 63: diseño bdr

Disentildeo de Bases de datos

Agregado

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 64: diseño bdr

Disentildeo de Bases de datos

Agregado ejemplo Esquema en el MERE que almacena informacioacuten sobre las

entrevistas que una Bolsa de Empleo organiza entre solicitantes de empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras noiquestCoacutemo modelamos esto

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 65: diseño bdr

Disentildeo de Bases de datos

Agregado ejemplo Solucion1 Relacioacuten Ternaria

ERROR

Toda entrevista da lugar a conseguir un empleo

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 66: diseño bdr

Disentildeo de Bases de datos

Agregado ejemplo Solucion 2

ERROR

No es posible establecer una relacioacuten entre varias relaciones ni entre relaciones y entidades

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 67: diseño bdr

Disentildeo de Bases de datos

Agregado ejemplo

OK

OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
Page 68: diseño bdr

Disentildeo de Bases de datos

Agregado ejemplo

OK

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68