Análise e deseño detallado de aplicacións de informática e de xestión/O modelo entidade-relación estendido

En Galilibros, o Wikibooks en galego.
Saltar ata a navegación Saltar á procura


Aínda que os conceptos de entidade-relación poden modelar a meirande parte das características das bases de datos, algúns aspectos dunha base de datos poden expresarse mellor mediante certas expresións do modelo entidade-relación básico.

O modelo entidade-relación estendido permite representar as relacións xerárquicas existentes entre os tipos de entidade dos problemas do mundo real. Este modelo inclúe os conceptos de subclase, superclase, especialización, xeneralización, herdanza, etc.

No modelo entidade-relación orixinal non se atopaba este tipo de abstracción que se foi introducindo en posteriores extensións do modelo. Ten a súa orixe no campo da intelixencia artificial, sendo adaptado en varios modelos de datos debido á capacidade semántica que ofrece a representación do mundo real. A xerarquía de xeneralización/especialización, no modelo entidade-relación, considérase coma un caso especial de relacións entre varios tipos de entidade (subtipos) e un tipo máis xeral (supertipo) cuxas características son comúns a todos os subtipos. A relación que se establece entre os subtipos e o supertipo corresponde á noción de «é un» ou máis precisamente «é un tipo de».

Superclase, subclase[editar]

En moitos casos un tipo de entidade pode conter varios subgrupos significativos das súas entidades, os cales precisan ser representados explicitamente por ter significado específico nos tratamentos da información.

Unha ocorrencia dunha subclase representa a mesta entidade do mundo real que a superclase.

A asociación entre unha superclase e calquera das súas subclases chámase clase-subclase ou tamén «é un(ha)».

Para representar estas xerarquías utilizarase un triángulo cuxa base é paralela ao rectángulo que representa a entidade do supertipo ao que está conectado. Triángulo que tamén se une aos subtipos.

Herdanza de atributos nas relacións «É un(ha)»[editar]

Posto que unha entidade nunha subclase representa a mesma entidade do mundo real que a superclase, debería posuír calores dos seus atributos específicos (subclase) así coma os valores dos seus atributos coma membro da superclase. Dise por tanto que unha entidade membro dunha subclase herda todos os atributos da entidade coma membro da superclase. Tamén herda todas as ocorrencias da relación, dos tipos de relacións nas que participa a superclase.

Neste tipo de abstracción os atributos comúns a todos os subtipos (incluídos os identificadores) asígnanse ao supertipo, mentres que os atributos específicos asócianse ao subtipo ao que pertencen. Do mesmo xeito, as relacións que afectan a todos os subtipos asócianse ao supertipo, deixándose para os subtipos as relacións específicas nas que só participa o correspondente subtipo.

Especialización e xeneralización[editar]

A aparición destas xerarquías no modelado de bases de datos pode xurdir de dúas formas diferentes:

  • se primeiro identificamos a superclase, e a partires de aquí chegamos ás subclases, falamos de especialización, mentres que
  • se identificamos as subclases e a partir delas chegamos á superclase trátase de xeneralización.

Xeneralización[editar]

Obsérvase que dous ou máis tipos de entidade comparten varios atributos e/ou tipos de relación, de onde se deduce a existencia dun tipo de entidade de nivel superior ─supertipo─ que contén os atributos e os tipos de relación comúns a todos os subtipos.

Especialización[editar]

Obsérvase que un tipo de entidade ten certos atributos e/ou tipos de relación que teñen sentido para uns exemplares pero non para outros, polo que cómpre definir un ou varios subtipos que conteñan estes atributos e/ou tipos de relación específicos, deixando no supertipo os que son máis comúns

Xerarquías de máis dun nivel[editar]

Pode ocorrer que ben por xeneralización ben por especialización se formen xerarquías de máis dun nivel onde un subtipo é á vez supertipo doutros.

Restricións na especialización e na xeneralización[editar]

Un tipo de restricións que se pode aplicar á especialización ou á xeneralización defínese segundo as entidades poidan pertencer a máis dunha subclase na especialización ou a xeneralización. As subclases poden ser:

  • Exclusivas ou disxuntas. A restrición de conxuntos disxuntos implica que as subclases da especialización ou a xeneralización deben ser disxuntas, é dicir, que unha entidade pode ser membro dunha única subclase da especialización ou da xeneralización.
    Unha especialización ou xeneralización definida por atributo implica a restrición de conxuntos disxuntos se o atributo utilizado para definir a condición de pertenza é dun único valor (univalorado).
  • Solapadas ou superpostas. Se as subclases non son disxuntas solápanse, é dicir, a mesma entidade pode ser membro de máis dunha subclase da especialización.

Outro tipo de restricións, chamada de completitude, que se pode aplicar á especialización ou á xeneralización específica se cada entidade da superclase pode ou non pertencer polo menos a unha subclase da especialización ou xeneralización. A restrición de completitude pode ser total ou parcial.

  • Total. Unha restrición total da especialización ou da xeneralización especifica que unha entidade na superclase debe ser membro dalgunha subclase na especialización ou na xeneralización.
  • Parcial. Se existe algunha entidade na superclase que non corresponde a ningún membro dalgunha superclase. Unha especialización ou xeneralización parcial describe un coñecemento incompleto do problema.

Por tanto, hai catro tipos de restricións da especialización ou da xeneralización:

  • disxunta parcial,
  • disxunta total,
  • solapada parcial e
  • solapada total.

Dependendo do tipo de relación xerárquica que se represente, e por tanto exista no dominio do problema, os tipos de entidade que interveñen no mesmo participan ou poden participar cun número determinado de ocorrencias. Así, débense ter en conta as seguintes consideracións na representación deste tipo de relacións:

  • O tipo de entidade máis xeral ou o supertipo de entidade que se especializa participa sempre coa cardinalidade mínima 1 e coa cardinalidade máxima 1, posto que se está representando como unha entidade deste tipo pode especializarse noutros subtipos.
  • Para calquera clase deste tipo de relacións xerárquicas, a cardinalidade máxima coa que participan os subtipos de entidade no tipo de relación é 1, posto que se está representando para cada entidade do supertipo unha especialización ou refinamento da mesma.
  • Se o tipo de relación ñe total ou parcial sen solapamento, os subtipos participan sempre con cardinalidade mínima 0, posto que unha entidade do tipo non pode psertencer ao mesmo tempo a máis dun subtipo.
  • Se o tipo de relación é total ou parcial con solapamento, os subtipos poden participar coa cardinalidade mínima 0 ou 1, posto que unha entidade do supertipo pode á súa vez ser especializada en calquera dos subtipos simultaneamente.

Poden existir xerarquías múltiples que parten dun supertipo común.