A maior rede de estudos do Brasil

O que é banco de dados relacional, nosql e quais seus tipos?


3 resposta(s)

User badge image

Marcos Humberto

Há mais de um mês

é um mecanismo de armazenamento que permite a persistência de dados e opcionalmente implementar funcionalidades.
é um mecanismo de armazenamento que permite a persistência de dados e opcionalmente implementar funcionalidades.
User badge image

Arthur Silva

Há mais de um mês

Um banco de dados relacional é um banco de dados que modela os dados de uma forma que eles sejam percebidos pelo usuário como tabelas, ou mais formalmente relações.

User badge image

Eder Martins Franco

Há mais de um mês

Muitas perguntas em uma só, mas vamos lá.Bancos de dados relacionais têm suas estruturas de armazenamento baseadas em entidades e na forma como elas estão relacionadas entre si. Por exemplo: em um contexto de um sistema de um supermercado (caixa, ponto de venda - ou PDV), uma entidade poderia ser o cliente, outra a venda, e outra o produto (que é cada um dos itens da venda). Um banco de dados relacional representará, normalmente, cada uma destas entidades em tabelas (pense na forma que o excell está organizado, com linhas e colunas), que podem ser simplificadas como um conjunto de dados (atributos) sobre aquela entidade, a serem armazenados. A tabela cliente, por exemplo, teria seu nome, cpf, data de nascimento, email, etc. A tabela do produto, neste exemplo, poderia ter dados como nome, data de valiade, valor de venda, código identificador. A tabela de vendas, expressaria a relação entre eles, associado, por exemplo, os códigos de identificação dos produtos ao identificador do cliente (cpf), formando sua relação. Esta é uma representação muito simplificada, mas para entender melhor o modelo de entidades e relacionamentos, pense na teoria de conjuntos e na álgebra relacional. Em um nível ¨físico¨, bancos de dados relacionais armazenam os dados em estruturas de dados que variam de acordo com sua implementação, como árvores e tabelas hash. Para manutenção e acesso dos dados em bases de dados relacionais, utilizam-se linguagems de consulta, neste contexto, a linguagem SQL (linguagem estruturada de consulta). Outra características forte de um banco de dados relacional é a existência de um esquema, que define as estuturas e características dos dados ali armazenados (tipos de dados, tamanhos das informações, estrutura das tabelas, campos obrigatórios, etc).Os bancos de dados não relacionais utilizam formas alternativas para representar, armazenar e acessar os dados. NoSQL (not only SQL) divide-se de maneira geral em quatro tipos/categorias: documentos, chave e valor, famílias de colunas e grafos. Um exemplo comum de base de dado nosql é o mongodb, que segue uma abordagem baseada em documentos. Cada documento (document) é um registro que equivale conceitualmente a uma linha de informações de uma tabela em uma base de dados relacional, mas sem uma estrutura rigorosamente definida (esquema) que obrigue o registro a possuir todos os campos e informações para cada item armazenado. Um agrupamento de documentos que representem o mesmo objeto ou entidade chama-se coleção (collection). O agrupamento de collections é o banco de dados em si. No caso do mongodb, a forma de manipular e buscar os dados é uma API de consultas, com métodos semalhantes à API de linguagem javascript. A própria representação dos dados em uma base do mongodb segue o formato json (notação de objeto simples de javascript). Quanto à sua implementação física, bases de dados relacionais são mais simples. O mongodb, por exemplo, de maneira MUITO simplificada, armazena informações em documentos de texto plano (observando-se as compactações, otimizações e camadas de segurança administradas pelo seu sistema gerenciador).Espero ter ajudado :)

Essa pergunta já foi respondida por um dos nossos estudantes