Opened Jul 04, 2017 by Lucas Fernandes de Oliveira@lfoliveira
Um problema conhecido com a cobertura gerada pelo BlenDB é que o conjunto de Views selecionadas nem sempre pode sofrer um join perfeito, em alguns casos é feito um produto cartesiano que pode levar a resultados inconsistentes. O esquema do banco que o BlenDB usa pode ser representado por um grafo onde os vértices são métricas e dimensões e uma aresta existe entre dois vértices se, e somente se eles fazem parte de uma mesma view. Uma consulta pode ser vista como um sub-grafo, onde o Usuário escolhe os vértices e o BlenDB escolhe as arestas. Para que a consulta não realize produtos, o sub-grafo resultante da consulta deve ser conexo. Implementar esse grafo para representar o esquema do banco, mantê-lo com a adição de métricas e dimensões e views e implementar o algoritmo que verifica conectividade do sub-grafo. Uma busca em largura deve resolver.