Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) Non-relational databases, also called as NoSQL (``Not Only SQL''), have emerged from the need for new mechanisms for storing, retrieving and processing for large amounts of data produced mainly from the coming of Web 2.0 applications. There are different models of non-relational data, each with its own characteristics and applicability. There are also hundreds of non-relational database management systems, each with a different query language,and its own API. Due to the lack of a standard for data manipulation languages (DML) in this type of database, it is a challenge for the Software Engineer to deal with the learning and development of queries.In addition, by prioritizing performance, non-relational databases often adopt denormalized schemas, generating a large diversity in stored data structures, which also makes it difficult to develop and reuse queries. Faced with these two challenges, this work aimed to define a generic approach to queries, independent of the database type and also independent of the schema in which the data is stored. For this, extended an existent algebra, based on Entities and Relationships for data manipulation, with an operational semantics driven by models (Model-Driven Engineering - MDE). More specifically, metamodels have been developed so that the Software Engineer can: (i) model the persistent entities (Entity-Relationship); (ii) model queries about the entities and relationships according to the algebra being used; and (iii) model the mapping between the entities and the types of documents stored. Based on these specifications, an algorithm was implemented that automatically generates JavaScript queries to be executed in the MongoDB database, according to the mapping model. If the database schema needs to be modified throughout the lifecycle, only the mapping model (model ``iii'') needs to be modified. The conceptual model and the queries (``i'' and ``ii'' models) remain completely independent of the storage schema and can be developed and reused more easily. Two evaluations were carried out, using an example of an academic system and a real system, trying to exhaustively test the different possibilities of mapping between entities and documents. The results obtained with these systems show that it is possible that the generated queries always return the same results, independent of the mapping, thus reaching the objective of this work. Bancos de dados não relacionais, também chamados de NoSQL (``Not Only SQL''), surgiram da necessidade de contar com novos mecanismos de armazenamento, recuperação e processamento de grandes volumes de dados produzidos principalmente a partir da chegada das aplicações Web 2.0. Existem diferentes modelos de dados não relacionais, cada um com suas próprias características e aplicabilidade. Existem também centenas de sistemas gerenciadores de bancos de dados não relacionais, cada um com uma linguagem de consulta diferente e sua própria API. Devido à falta de um padrão para as linguagens de manipulação de dados (DML) nesse tipo de bancos de dados, torna-se um desafio para o Engenheiro de Software lidar com o aprendizado e o desenvolvimento das consultas. Além disso, por priorizar o desempenho, bancos de dados não relacionais frequentemente adotam esquemas desnormalizados, gerando uma grande diversidade nas estruturas dos dados armazenados, o que também dificulta o trabalho de desenvolvimento e reutilização das consultas. Frente a esses dois desafios, este trabalho teve como objetivo a definição de uma abordagem genérica para consultas, independente do tipo do banco de dados e também independente do esquema no qual os dados são armazenados. Para isso, estendeu-se uma álgebra existente, baseada em Entidades e Relacionamentos para manipulação de dados, com uma semântica operacional dirigida por modelos (Model-Driven Engineering - MDE). Mais especificamente, foram desenvolvidos metamodelos para que o Engenheiro de Software possa: (i) modelar as entidades persistentes (Entidade-Relacionamento); (ii) modelar consultas sobre as entidades e relacionamentos conforme a álgebra sendo utilizada; e (iii) modelar o mapeamento entre as entidades e os tipos de documentos armazenados. Com base nessas especificações, foi implementado um algoritmo que gera automaticamente consultas JavaScript para serem executadas no banco de dados MongoDB, de acordo com o modelo de mapeamento. Caso o esquema do banco precise ser modificado ao longo do ciclo de vida, apenas o modelo do mapeamento (modelo ``iii'') precisa ser modificado. O modelo conceitual e as consultas (modelos ``i'' e ``ii'') permanecem completamente independentes do esquema de armazenamento, podendo ser desenvolvidos e reutilizados mais facilmente. Foram realizadas duas avaliações, utilizando um exemplo de um sistema acadêmico e um sistema real, buscando testar exaustivamente as diferentes possibilidades de mapeamento entre entidades e documentos. Os resultados obtidos com esses sistemas demonstram ser possível que as consultas geradas retornem sempre os mesmos resultados, independente do mapeamento, alcançando assim o objetivo deste trabalho. CNPq: 132206/2016-1