• Nenhum resultado encontrado

2 Fundamentação Teórica

2.5 Modelagem de Bancos de Dados de Grafos

2.5.5 Método M04 Modelagem Dirigida

Proposto por Virgilio, Maccioni e Torlone (2014), este m´etodo parte do modelo en- tidade relacionamento e prop˜oe fun¸c˜oes de an´alise a partir dos relacionamentos entre as entidades, que poder˜ao indicar a jun¸c˜ao de duas ou mais delas numa s´o, mesmo que isso implique em redundˆancia de dados, quebrando as regras de normaliza¸c˜ao de Codd (1970). Para tal, os autores prop˜oem a atribui¸c˜ao de pesos para as arestas, a fim de determinar quais entidades podem ser unificadas numa ´unica a fim de ter um melhor desempenho nas pesquisas `a base.

No artigo, os autores n˜ao tratam da modelagem de rela¸c˜oes de grau > 2, antes de come¸car a aplicar o m´etodo M 04 as rela¸c˜oes tern´arias da BaseT este foram convertidas em

rela¸c˜oes bin´arias, com a cria¸c˜ao de uma entidade intermedi´aria e de relacionamentos de cardinalidade 1 : 1 entre esta nova entidade e as entidades originais do relacionamento, a semelhan¸ca da modelagem para o Modelo Relacional. A tabela 2.1 traz os relacionamentos convertidos e a figura 2.39 traz um modelo entidade relacionamento simplificado da base ap´os essa convers˜ao, com a cardinalidade dos relacionamentos em destaque, daqui pr´a frente, chamado, nesta se¸c˜ao, de M ER2.

Relacionamento Entidade Criada Relacionamentos Criados DgoBgoD DB DgoDB, DBgoD, DBgoB DgoCgoC DC DgoDC, DCgoC1, DCgoC2 DgoEgoG DE DgoDE, DEgoE, DEgoG

Tabela 2.1: M´etodo M 04 - Modelagem Dirigida - Convertendo os Relacionamentos Ter- n´arios em Bin´arios

Figura 2.39: M´etodo M 04 - Modelagem Dirigida - Modelo E-R com cardinalidade em evidˆencia

Como j´a dito, o ponto de partida ´e o modelo entidade relacionamento da base a ser modelada. Nessa an´alise, de acordo com a sua cardinalidade, os relacionamentos s˜ao substitu´ıdos por arestas com pesos e dire¸c˜ao, onde:

• partindo de zero, o peso da aresta ´e calculado somando-se 1 para cada lado do relacionamento com cardinalidade maior que 1;

• relacionamentos 1 : n geram arestas direcionadas do lado 1 para o lado n, os de- mais geram arestas n˜ao dirigidas, isto ´e, pode-se caminhar em qualquer sentido do relacionamento.

Assim:

• os relacionamentos 1 : n, com n > 1, geram arestas dirigidas, da entidade de cardinalidade 1 para a de cardinalidade n, com peso = 1;

• por fim, os relacionamentos n para m, com n > 1 e m > 1, originam arestas n˜ao dirigidas, com peso = 2.

O resultado da aplica¸c˜ao desse passo para o M ER2 pode ser visto na figura 2.40, onde cada aresta foi nomeada com o nome da entidade origem, seguido da express˜ao go mais o nome da entidade destino para facilitar sua identifica¸c˜ao nos c´alculos a seguir. Embora n˜ao dirigidas, as arestas de peso 2 foram representadas com setas nas duas pontas a fim de facilitar a visualiza¸c˜ao das arestas que entram e saem de uma entidade.

Figura 2.40: M´etodo M 04 - Modelagem Dirigida - Modelo Entidade Relacionamento Orientado ap´os Fase 1

O passo 2, particionamento do modelo, come¸ca com o c´alculo dos pesos de sa´ıda w+

e de entrada w− de cada entidade, onde:

• w+(n) ´e a soma do peso n de todas as arestas que saem da entidade;

• w−(n) ´e a soma do peso n de todas as arestas que apontam para ela.

Para efeito do c´alculo, duas arestas com mesma origem e mesmo destino foram con- sideradas uma s´o.

Este c´alculo e as arestas envolvidas ´e apresentado na tabela 2.2. As arestas com peso igual a zero, por n˜ao serem relevantes ao c´alculo, n˜ao figuram na tabela.

Entidade w+(n) w(n)

A DgoA(2) = 2 DgoA(2) = 2

B DBgoB(1) = 1 0

C CgoDC(1) = 1

D DgoA(2) + DgoDB(1) + DBgoD(1) + DgoDE(1) + DgoDC(1) = 6 DgoA(2) = 2

E DgoDE(1) = 1 0

F 0 GgoF(1) = 1

G GgoDE(1) + GgoF(1) = 2 0

H 0 0

DB 0 DgoDB(1) + DBgoD(1) + DBgoB(1) = 3

DC 0 DgoDc(1) + CgoDC(1) = 2

DE 0 DgoDE(1) + DEgoE(1) + DEgoG(1) = 3

Tabela 2.2: M´etodo M 04 - Modelagem Dirigida - Fase 2 - Aplica¸c˜ao das Fun¸c˜oes w+(n) e w−(p)

Figura 2.41: M´etodo M 04 - Modelagem Dirigida - Fase 2 - Resultado do c´alculo de w+(n)

e w−(n)

Ainda no passo 2, ´e realizado o particionamento do modelo em grupos, conforme as regras a seguir:

• Regra 1 - cada entidade n˜ao conectada com nenhuma outra entidade ser´a um grupo separado;

• Regra 2 - Se (w−(n) > 1) ∧ (w+(n) ≥ 1) ent˜ao a entidade ser´a um grupo isolado;

• Regra 3 - Se (w−(n) ≤ 1) ∧ (w+(n) ≤ 1) ent˜ao a entidade deve ser adicionada ao

grupo de uma entidade com o qual ela possua um relacionamento m : n.

Nesta fase, a regra 1 n˜ao se aplica ao modelo em quest˜ao, pois todas as entidades est˜ao relacionadas com pelo menos uma outra entidade. A tabela 2.3 traz um resumo da

aplica¸c˜ao das fun¸c˜oes w− e w+ `as entidades do modelo e a regra resultante a ser aplicada no particionamento.

V´ertice w+(n) w(n) Regra ao

A 2 2 2 grupo A B 1 0 3 grupo B+DB C 1 0 3 grupos H+C e DC+C D 6 2 2 grupo D E 1 0 3 grupo E+DE F 0 1 3 grupo F+G G 2 0 3 grupo F+G H 0 0 2 grupo H+C DB 0 3 3 grupo B+DB DC 0 2 2 grupo DC+C DE 1 3 3 grupo E+DE

Tabela 2.3: M´etodo M 04 - Modelagem Dirigida - Determinando a Regra a Ser Aplicada A figura 2.42 apresenta o particionamento da base ap´os a execu¸c˜ao da fase 2, quando as entidades foram reunidas em sete grupos.

Figura 2.42: M´etodo M 04 - Modelagem Dirigida - Fase 2 - Agrupamento

Entretanto, ao observar o modelo resultante, figura 2.44, esse ainda pode ser oti- mizado, aplicando a fase 2 ao modelo resultante. As figuras 2.44 e 2.45 mostram esse processo, no qual o grupo G(+F ) ´e incorporado ao grupo (DE(+E)).

Isso feito, cada grupo ser´a um v´ertice do grafo, unindo os atributos de cada entidade nele reunidas.

As figuras 2.46 e 2.47 trazem o modelo final do banco de dados e um resumo das etapas realizadas pelo m´etodo.

Figura 2.43: M´etodo M 04 - Modelagem Dirigida - Fase 2 - Grupos

Figura 2.44: M´etodo M 04 - Modelagem Dirigida - Fase 2B - Peso das Arestas

Figura 2.45: M´etodo M 04 - Modelagem Dirigida - Fase 2B - Novos Grupos

Comparando o modelo final deste m´etodo com o modelo final dos trˆes m´etodos an- teriores observa-se que este ´e o menor em n´umero de v´ertices, 6 (seis), e no n´umero de arestas, 5 (cinco). Tal resultado adv´em da jun¸c˜ao de v´arias entidades em uma s´o, gerando, assim, duplica¸c˜ao de dados. O objetivo aqui ´e que ao acessar um registro todos os seus dados estejam dispon´ıveis, sem necessidade de acessos a outros v´ertices. Essa caracter´ıs- tica vem da quebra das regras de Codd (1970), onde, naquela ´epoca, havia uma grande preocupa¸c˜ao com o tamanho do banco de dados por uma limita¸c˜ao de hardware e hoje j´a n˜ao ´e t˜ao cr´ıtico, podendo haver uma repeti¸c˜ao de dados na tentativa de um melhor desempenho no acesso ao banco.

Figura 2.46: M´etodo M 04 - Modelagem Dirigida - Modelo Final

Figura 2.47: M´etodo M 04 - Modelagem Dirigida - Diagrama de Atividades