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 A¸c˜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