Análise e deseño detallado de aplicacións de informática e de xestión/Regras das extensións do modelo entidade-relación
Análise e deseño detallado de aplicacións de informática e de xestión | ||
← Volver a Regras do modelo básico | Regras das extensións do modelo entidade-relación | Seguir con Grafo relacional → |
Transformación de dependencias en identificación e existencia[editar]
As dependencias en existencia e en identificación non se recollen directamente no modelo lóxico estándar. Ademais, no caso das dependencias en identificación, a clave primaria da relación na que se transformou a entidade débil debe estar formada pola concatenación das claves das dúas entidades participantes na relación.
Transformación de restricións de relacións[editar]
Para soportar restricións de relacións (exclusión, inclusión, etc.) débense definir as restricións pertinentes en cada caso.
Transformación de tipos e subtipos[editar]
No que respecta aos tipos e subtipos, non son obxectos que se poidan representar explicitamente no modelo relacional. Ante un tipo de entidade e os seus subtipos existen varias solucións de transformación ao modelo relacional, coa conseguinte perda de semántica dependendo da estratexia elixida. Cómpre salientar as seguintes:
- Englobar todos os atributos da entidade e os subtipos nunha única relación. En xeral, adoptaremos esta solución cando os subtipos se diferencien en moi poucos atributos e as relacións que os asocian co resto das entidades do esquema sexan as mesmas para todos (ou case todos) os subtipos.
- Crear unha relación para o supertipo e tantas relacións coma subtipos haxa, cos seus correspondentes atributos. Esa é a solución axeitada cando existen moitos atributos distintos entre os subtipos e queren manterse de todos xeitos os atributos comúns a todos eles nunha relación. Ao igual que no caso anterior, haberá que crear as restricións e asercións oportunas.
- Considerar relacións distintas para cada subtipo, que conteñan ademais dos atributos propios, os atributos comúns. Escolleríase esta opción cando se desen as mesmas condicións ca no caso anterior ─moitos atributos distintos─ e os accesos realizados sobre os datos dos distintos subtipos sempre afectasen a atributos comúns.
Pódese por tanto escoller entre as tres estratexias para a transformación dun tipo e mailos seus subtipos ao modelo relacional. Porén, dende un punto de vista exclusivamente semántico, a segunda opción é a mellor. Por outra banda, dende o punto de vista da eficiencia temos que ter en conta que:
- Na primeira opción o acceso a unha fila que reflicta toda a información dunha determinada entidade é moito máis rápido (non fai falla combinar varias relacións).
- A segunda opción é a menos eficiente, aínda que é a mellor dende un punto de vista exclusivamente semántico.
- Coa terceira opción auméntase a eficiencia ante determinadas consultas (as que afecten a todos os atributos, tanto comúns coma propios, dun subtipo) pero pode diminuír ante outras. Esta solución é na que se perde máis semántica. Ademais, se existe solapamento introdúcese redundancia, que debe controlarse se se queren evitar inconsistencias. Hai que ter en conta que esta solución non vale cando a xeneralización é parcial.
Elixirase unha estratexia ou outra segundo esta aporta a semántica ou a eficiencia que prima para o usuario nun momento determinado.
Transformación da dimensión temporal[editar]
En caso de que no esquema entidade-relación apareza o tempo coma un tipo de entidade, a transformación no esquema relacional estándar non constitúe un gran problema, xa que se tratará coma outro tipo de entidade calquera e, por tanto, crearase unha relación máis.
Porén, cando a dimensión temporal se recolleu no esquema entidade-relación a través de atributos de relacións de tipo DATA
, a transformación no modelo lóxico estándar consistirá en pasalos a columnas da relación que corresponda. Sobre este punto cómpre termos coidado á hora de elixir a clave primaria da relación resultante, dependendo dos supostos semánticos do ambiente.
Cómpre observar que esta simplicidade aparente na transformación de algo tan complicado como é a dimensión temporal é debido á pouca semántica e precisión do modelo entidade-relación (ao igual que o modelo relacional) para tratar os aspectos temporais. En sistemas de información nos que a dimensión temporal resulta fundamental, coma é o caso dos sistemas estatísticos, o modelo entidade-relación non resolve moitos dos problemas de modelados relativos á dimensión temporal.
Transformación de atributos derivados[editar]
Para os atributos derivados non existe unha representación directa e concreta no modelo lóxico estándar, senón que se poden tratar coma atributos normais, que pasarán a ser columnas da relación que corresponda.
Neste caso é preciso construír un disparador que calcule o valor do atributo derivado cada vez que se insiran ou borren as ocorrencias dos atributos que interveñen no cálculo deste e engadir as restricións correspondentes.
Outra solución consiste en non almacenar as columnas que proveñan de atributos derivados, creando procedementos que calculen os valores destes cada vez que se recuperen, o que en ocasións poderá xerar problemas de semántica e nalgunhas ocasións de eficiencia.
Análise e deseño detallado de aplicacións de informática e de xestión | ||
← Volver a Regras do modelo básico | Regras das extensións do modelo entidade-relación | Seguir con Grafo relacional → |