Um banco de dados relacional é uma coleção de pontos de dados com relações predefinidas entre eles.

O modelo relacional organiza os dados em tabelas, com cada linha representando um registro individual e cada coluna consistindo em atributos que contêm valores. Essa estrutura de banco de dados tabular facilita o estabelecimento de relações entre pontos de dados, para que as informações possam ser acessadas de várias maneiras diferentes sem reorganizar os dados propriamente ditos.

É possível unir as tabelas em um banco de dados relacional para obter insights mais profundos sobre a interconexão entre diversos pontos de dados. Por exemplo, a tabela "customer" tem colunas de nome e endereço com valores de linha "John" e "California". Da mesma forma, a tabela "product" tem nome e custo de colunas com valores de linha "shoes" e "$12". Você une as tabelas "customer" e "product" para identificar produtos populares que os clientes compram com mais frequência.

Resumindo, um banco de dados relacional é uma forma de armazenar e acessar dados com relacionamentos predefinidos.

O que é um sistema de gerenciamento de banco de dados relacional

Um sistema de gerenciamento de banco de dados relacional (RDBMS) é uma camada de software de ferramentas e serviços que gerencia tabelas relacionais. Na prática, os termos RDBMS e banco de dados relacional são considerados sinônimos. Um banco de dados relacional fornece uma interface consistente entre aplicações, usuários e o banco de dados relacional. As organizações usam o RDBMS para gerenciar grandes quantidades de informações críticas de negócios de vários departamentos.

Vários usuários podem trabalhar com o mesmo banco de dados de maneiras diferentes. Por exemplo, eles podem realizar operações de banco de dados e agregar pontos de dados importantes sem criar redundância de dados. Os sistemas de gerenciamento de banco de dados relacional também oferecem maior controle de acesso sobre os dados ao administrador do banco de dados.

Por que os bancos de dados relacionais são importantes

Desde a invenção dos computadores, gerenciar e armazenar dados em máquinas tem sido um campo contínuo de pesquisa. Antes dos bancos de dados relacionais, as organizações usavam um sistema de banco de dados hierárquico, semelhante às pastas no seu computador. Esses primeiros sistemas de banco de dados eram capazes de organizar grandes volumes de dados. No entanto, eles eram limitados nas maneiras de descobrir relacionamentos de dados. Também eram complexos, exclusivos para aplicações específicas e exigiam conhecimento técnico para trabalhar com eles.

O modelo de banco de dados relacional surgiu como uma solução para esses problemas. Ele separou o armazenamento físico de dados do gerenciamento e uso do banco de dados. Bancos de dados relacionais modernos permitem que os usuários armazenem e recuperem dados sem precisar gerenciar o armazenamento físico desses dados. Você também pode manipular estruturas lógicas de dados de maneira programática.

Quais são os benefícios de um banco de dados relacional

O principal benefício do modelo de dados relacional é a capacidade de obter informações significativas dos dados. Por exemplo, você pode contar, classificar e agrupar dados em uma tabela, bem como realizar operações matemáticas e gerar relatórios complexos. Portanto, os sistemas de banco de dados relacionais continuam sendo os mais populares para armazenamento de dados atualmente. Apresentamos mais alguns benefícios abaixo.

Integridade dos dados

Integridade dos dados é a perfeição, precisão e consistência gerais dos dados. Os bancos de dados relacionais usam uma série de restrições para aplicar integridade de dados no bancos de dados. Isso inclui chave primária, chave estrangeira, restrição "Not NULL", restrição "Unique", restrição "Default" e restrições "Check".

Essas restrições de integridade ajudam na obrigatoriedade das regras dos negócios quanto aos dados nas tabelas, de forma a garantir a precisão e a confiabilidade dos dados. Além disso, a maioria dos bancos de dados relacionais também permite que o código personalizado seja incorporado em gatilhos, que são executados com base em uma ação em um ponto de dados no banco de dados. O código personalizado também pode ser incorporado em procedimentos armazenados, que são executados quando são invocados por um cliente ou uma aplicação.

Segurança

A maioria dos sistemas de gerenciamento de banco de dados relacional tem controles de acesso sofisticados. Seus administradores de banco de dados podem determinar com precisão quem tem acesso a quais dados. Você pode limitar o acesso para ler, modificar e excluir dados, mesmo no nível de célula individual. Esse controle de acesso granular torna os bancos de dados relacionais muito seguros.

Backup e recuperação de desastres

A maioria dos bancos de dados relacionais tem funcionalidade de importação e exportação, permitindo criar backups de dados rapidamente. Bancos de dados relacionais modernos baseados em nuvem realizam espelhamento contínuo, para que você possa restaurar dados perdidos em segundos ou menos.

Suporte da comunidade

Várias tecnologias de banco de dados relacional são de código aberto e uso gratuito. Bancos de dados de código aberto têm comunidades ativas que melhoram e adaptam continuamente recursos e funções. Desenvolvedores e engenheiros de dados podem acessar várias ferramentas e softwares que tornam os bancos de dados relacionais muito fáceis de usar.

Como funcionam os bancos de dados relacionais

Os bancos de dados relacionais funcionam fornecendo um ambiente a partir do qual as aplicações acessam os dados e os reagrupam de várias maneiras, sem precisar reorganizar as tabelas de dados a partir do código da aplicação. Abaixo, apresentamos alguns dos principais recursos de um sistema de banco de dados relacional.

Modelo de dados

O banco de dados relacional é feito de tabelas que representam objetos ou conceitos do mundo real, geralmente chamados de entidades. Cada coluna em uma tabela contém um determinado tipo de dado conhecido como atributo, e um campo armazena o valor real de um atributo. As linhas e colunas na tabela representam uma coleção de valores relacionados de um objeto ou entidade.

Você pode marcar cada linha em uma tabela com um identificador exclusivo chamado de chave primária. Uma chave externa faz referência à chave primária de outra tabela existente e cria uma conexão lógica. Portanto, as linhas entre várias tabelas se relacionam usando um emparelhamento de chave primária/chave estrangeira. Por exemplo, cada linha de uma tabela de pedidos pode conter uma chave estrangeira que contém a ID do cliente, que identifica a linha na tabela de clientes que contém todas as informações sobre o cliente.

SQL

O Structured Query Language (SQL) é a interface principal para se comunicar com bancos de dados relacionais. O SQL tornou-se um padrão do American National Standards Institute (ANSI) em 1986. Todos os mecanismos de banco de dados relacional populares oferecem suporte ao padrão ANSI SQL. Você pode usá-lo para atualizar, excluir ou armazenar dados, recuperar subconjuntos de dados e gerenciar todos os aspectos do seu banco de dados relacional.

O SQL é bastante fácil de aprender, pois usa palavras-chave comuns em inglês em suas instruções. Ele também se integra bem com diferentes linguagens de programação. Por exemplo, você pode incorporar consultas SQL com a linguagem de programação Java para criar aplicações de processamento de dados de alta performance com os principais sistemas de banco de dados SQL, como Oracle ou MS SQL Server.

Transações

Uma transação de banco de dados relacional é uma ou mais instruções SQL que são executadas como uma sequência de operações e formam uma única unidade lógica de trabalho. As transações fornecem uma proposta “tudo ou nada”, o que significa que toda a transação deve ser concluída como uma única unidade. Se o sistema de gerenciamento de banco de dados relacional não conseguir concluir nenhuma parte da transação, nenhum dos componentes individuais será processado. Na terminologia do modelo relacional, uma transação resulta em COMMIT ou ROLLBACK. O sistema de gerenciamento de banco de dados trata cada transação de forma coerente e confiável, independente e isolada de outras transações.

Conformidade com ACID

Todas as transações de banco de dados relacional devem ser compatíveis com o padrão Atomic, Consistent, Isolated and Durable (ACID - Atomicidade, consistência, Isolamento e Durabilidade) para garantir a integridade dos dados.

Atomicidade
A atomicidade exige que a transação como um todo seja executada com sucesso. Se uma parte da transação falhar, todas as alterações feitas como parte dela serão revertidas.

Consistência
A consistência exige que os dados gravados no banco de dados relacional como parte da transação cumpram todas as regras e restrições definidas, incluindo restrições, cascatas e gatilhos.

Isolamento
O isolamento exige que cada transação seja independente de si mesma. Quando vários usuários tentam modificar dados em um banco de dados relacional simultaneamente, os mecanismos de controle de simultaneidade impedem que eles sobrescrevam as alterações uns dos outros.

Durabilidade
A durabilidade exige que todas as alterações feitas no banco de dados relacional sejam permanentes quando uma transação é concluída com êxito.

Quais são os diferentes tipos de bancos de dados

Há muitos tipos diferentes de bancos de dados projetados para otimizar a flexibilidade e a escalabilidade de determinados modelos de dados. Esses tipos de banco de dados incluem:

  • Relacional: os dados são armazenados em formato tabular usando linhas para registros individuais e colunas para armazenar atributos ou pontos de dados relacionados aos registros.
  • Chave/valor: os dados são armazenados em formato de dicionário, com cada item tendo uma chave e um valor.
  • Documento: os dados são armazenados como documentos usando JSON, XML ou outro formato para dados semiestruturados.
  • Grafo: os dados são armazenados como um grafo de conhecimento usando nós, bordas para definir a relação entre esses nós e propriedades que armazenam pontos de dados individuais.

Qual é a diferença entre bancos de dados relacionais e não relacionais

A diferença entre bancos de dados relacionais e não relacionais (também conhecidos como NoSQL) tem a ver com a estrutura dos dados que eles contêm. Um modelo de banco de dados relacional organiza os dados em tabelas, índices e visualizações. Essa estrutura tabular facilita a criação, a leitura, a modificação e a exclusão de dados relevantes usando uma linguagem de consulta como SQL. A estrutura de cada linha é a mesma, muito parecida com uma planilha.

Um banco de dados não relacional não usa uma estrutura de dados tabular. Em vez disso, os dados podem ser armazenados como pares de chave/valor, JSON, grafo ou praticamente qualquer outro tipo de estrutura de dados. Muitos bancos de dados não relacionais também são chamados de bancos de dados NoSQL porque os dados são armazenados e consultados de uma maneira que não exige SQL.

Bancos de dados não relacionais, ou bancos de dados NoSQL, são criados especificamente para modelos de dados específicos e têm esquemas flexíveis para criar aplicações modernas. Eles são amplamente reconhecidos por sua facilidade de desenvolvimento, funcionalidade e performance em escala. Alguns pontos de diferença incluem:

Mecanismo de armazenamento de dados

Os bancos de dados relacionais armazenam dados estruturados em linhas e colunas baseadas em regras. Por outro lado, os bancos de dados NoSQL armazenam elementos de dados individuais em arquivos separados.

Estrutura flexível

Os bancos de dados relacionais armazenam dados em forma de tabela e seguem regras estritas sobre variedade de dados e relacionamentos entre tabelas. Os bancos de dados não relacionais oferecem mais flexibilidade porque não exigem dados estruturados. Você pode usá-los para armazenar arquivos, vídeos e outros conteúdos não estruturados.

Mecanismo de integridade de dados

Um modelo de banco de dados relacional segue propriedades ACID estritas. Tradicionalmente, os bancos de dados não relacionais oferecem um modelo BASE (basicamente disponível, de estado flexível e consistência eventual) mais flexível. Eles garantem disponibilidade, mas não uma consistência forte. O estado do banco de dados pode mudar com o tempo e, eventualmente, se tornar consistente. Bancos de dados não relacionais modernos também oferecem ACID, consistência forte, alta disponibilidade e muito mais.

O que você deve procurar ao selecionar um banco de dados relacional

Os casos de uso de bancos de dados relacionais podem variar dependendo do tipo e do volume de dados que estão sendo armazenados, bem como do nível de desempenho necessário para acessá-los. É por isso que vários mecanismos de banco de dados relacionais foram desenvolvidos (desde o Amazon Aurora, Oracle e Microsoft SQL Server ao MySQL e PostgreSQL), cada um com suas próprias vantagens e desvantagens.

Ao selecionar um banco de dados relacional, é importante considerar se você precisará encontrar um provedor de serviços de nuvem gerenciado que ofereça suporte para ele. O Amazon Relational Database Service (RDS) é um serviço de banco de dados totalmente gerenciado que lida com provisionamento, aplicação de patches, backups e outras tarefas essenciais para os bancos de dados relacionais mais populares. Isso significa que você pode escolher um mecanismo de banco de dados que atenda ao seu caso de uso sem se preocupar com os requisitos de manutenção.

Como a AWS pode apoiar seus requisitos de sistema de gerenciamento de banco de dados relacional

O Amazon Relational Database Service (Amazon RDS) é uma coleção de serviços gerenciados que simplifica a configuração, a operação e a ajuste de escala de um banco de dados relacional na nuvem. Os bancos de dados em nuvem oferecem muitos benefícios, como performance, escala e eficiência de custos. Abaixo, apresentamos alguns exemplos de mecanismos de banco de dados relacionais no Amazon RDS.

Amazon Aurora
O Amazon Aurora é um mecanismo de banco de dados relacional compatível com MySQL e PostgreSQL. Ele combina a velocidade e a disponibilidade de bancos de dados comerciais avançados com a simplicidade e a economia de bancos de dados de código aberto. O Amazon Aurora fornece até 5 vezes a throughput do MySQL e 3 vezes a throughput do PostgreSQL a um décimo do custo dos bancos de dados comerciais.

Oracle
O Amazon RDS for Oracle permite que você implante várias edições do banco de dados Oracle em minutos com capacidade de hardware econômica e redimensionável. Você pode trazer licenças existentes da Oracle ou pagar pelo uso da licença por hora. O RDS gerencia tarefas complexas de administração de banco de dados, incluindo provisionamento, backups, aplicação de patches, monitoramento e dimensionamento de hardware, para que você possa se concentrar no desenvolvimento de aplicações.

Microsoft SQL Server
O Amazon RDS para SQL Server facilita a configuração, operação e escalabilidade do SQL Server na nuvem. Você pode implantar várias edições do SQL Server, como Express, Web, Standard e Enterprise. Como o Amazon RDS para SQL Server fornece acesso direto aos recursos nativos do SQL Server, seus aplicativos e ferramentas devem funcionar sem nenhuma alteração.

MySQL
OMySQL é um sistema de gerenciamento de banco de dados relacional de código aberto usado por um grande número de aplicações baseadas na Web. O Amazon RDS para MySQL fornece a você acesso aos recursos de um mecanismo de banco de dados clássico de MySQL. Isso significa que o código, os aplicativos e as ferramentas que você já usa com os bancos de dados existentes podem ser usados com o Amazon RDS sem nenhuma alteração.

PostgreSQL
OPostgreSQL é um sistema de banco de dados relacional de objetos de código aberto com ênfase na extensibilidade e conformidade com padrões. O Amazon RDS para PostgreSQL gerencia tarefas administrativas de banco de dados demoradas e indiferenciadas, como instalação de softwares PostgreSQL, gerenciamento de armazenamento e upgrades. Você pode implantar e começar em poucos minutos.

MariaDB
O MariaDB é um mecanismo de banco de dados compatível com MySQL que é um fork do MySQL. Ele foi desenvolvido pelos desenvolvedores originais do MySQL. O Amazon RDS para MariaDB facilita a configuração, a operação e a escalabilidade de implantações de MariaDB na nuvem. Com o Amazon RDS, você pode implantar bancos de dados escaláveis do MariaDB em minutos, com capacidade de hardware redimensionável e econômica.

Comece a usar seu banco de dados relacional na AWS criando uma conta gratuita hoje mesmo!

Mergulhe profundamente no Amazon Aurora e em suas inovações
Padrões de design de HA e DR do Amazon Aurora para resiliência global