Dango: Ferramenta para Projeto de Bancos de Dados NoSQL de Grafos a partir de Diagramas Entidade-Relacionamento Estendido

DSpace Repository

A- A A+

Dango: Ferramenta para Projeto de Bancos de Dados NoSQL de Grafos a partir de Diagramas Entidade-Relacionamento Estendido

Show full item record

Title: Dango: Ferramenta para Projeto de Bancos de Dados NoSQL de Grafos a partir de Diagramas Entidade-Relacionamento Estendido
Author: Silva, Telmo Henrique Valverde da
Abstract: O mundo moderno é composto por dados altamente interligados: conjuntos de estradas conectadas em pontos específicos, com sentidos que mudam em alguns trechos; redes elétricas compostas por postes, cabos e transformadores que precisam formar linhas de abastecimento para garantir a alta disponibilidade de energia ou mesmo redes sociais onde amigos se conectam, curtem postagens e as compartilham entre si. Porém como armazenar esses dados a fim de consultá-los de forma rápida e eficiente? Eles poderiam ser colocados em Bancos de Dados (BDs) convencionais no padrão relacional, mas isso implicaria em um número grande de custosas operações de junção e não permitiria a versatilidade de consultar relacionamentos em ambos os sentidos a menos que esses relacionamentos fossem explicitamente modelados dessa forma, tornando a modelagem mais sobrecarregada. A solução então vem por meio dos BDs de grafos, que utilizam da teoria de grafos para modelar esses problemas no mundo real. Como relacionamentos são um conceito central no modelo de dados de grafos, não há a necessidade de inferir conexões entre entidades através da utilização de chaves estrangeiras. Apesar da possibilidade de se modelar problemas reais diretamente através de nós e suas conexões, a forma mais amplamente utilizada de se modelar BDs em nível conceitual ainda é através do modelo Entidade-Relacionamento Estendido (EER). Dessa forma, esse trabalho propõe uma ferramenta que, recebendo uma modelagem EER de entrada, é capaz de transformá-la em um esquema para um BD de grafo. Esse esquema é gerado através de uma série de instruções escritas na linguagem Cypher (compatível com o BD Neo4j), que é montada conforme a modelagem EER provida. Na prática, a ferramenta pretende facilitar a adoção dos BDs de grafos por profissionais que já possuem o entendimento do modelo relacional e também permitir o reaproveitamento de modelos EER feitos previamente na construção desses BDs. Trabalhos relacionados propõem mapeamentos de outros modelos conceituais para BDs de grafos, até mesmo do próprio Entidade-Relacionamento (ER). Entretanto, nenhum fornece regras para o mapeamento de todos os conceitos presentes no modelo EER.The modern world is composed by highly connected data: sets of roads connected at specific points, which MAY change directions; electric grids composed by light poles, cables and converters that form supply lines to guarantee the high availability of electric power, and even social networks where friends are connected, like each other’s posts and share them. But how could one store this kind of data in order to query it efficiently and easily? It could be stored inside a conventional relational database, but that would require a large number of costly JOIN operations and would not provide the versatility of querying these relations in both directions unless the data was explicitly modeled in that way, which would add a considerable overhead to the database physical modeling. The solution then comes through graph databases, which use graph theory to model and store this kind of real world problem in an easy way. Since relationships are a central concept in the graph model, there’s no need to infer connections between the data through the usage of foreign keys. The connections can be traversed in both ways with inexpensive operations. Even though the usage of nodes and their relationships to model real world problems is fairly straightforward, the most adopted way of creating a conceptual model of a database is the Enhanced Entity-Relationship (EER) model. Given this motivation, this work proposes a tool that accepts an EER diagram as input and generates a schema for a graph database representing this modeling. The schema is generated through a series of Cypher instructions ready to run into a Neo4j database instance. In practice, this tool is intended to facilitate the adoption of graph databases by professionals that already have an understanding of the relational paradigm, and also allow them to reuse previous EER diagrams to generate their graph databases. Related works proposed mappings from other conceptual models to graph databases, even from the Entity-Relationship (ER) model, but none provided rules to map all concepts existing in the EER model.
Description: TCC(graduação) - Universidade Federal de Santa Catarina. Centro Tecnológico. Ciências da Computação.
URI: https://repositorio.ufsc.br/handle/123456789/218154
Date: 2020-11-24


Files in this item

Files Size Format View Description
TCC_UFSC_PDF-A.pdf 13.20Mb PDF View/Open TCC

This item appears in the following Collection(s)

Show full item record

Search DSpace


Browse

My Account

Statistics

Compartilhar