Banco de dados relacionais: conhecendo conceitos, terminologias e ferramentas

Banco de dados relacionais: conhecendo conceitos, terminologias e ferramentas
Marcus Almeida
Marcus Almeida

Compartilhe

A base de conhecimento em terminologias e conceitos é essencial tanto para pessoas desenvolvedoras e administradoras de banco de dados (pessoas DBAs e engenheiras de dados) quanto para profissionais que desejam extrair informações valiosas de grandes conjuntos de dados, como é o caso de analistas e cientistas de dados.

Neste artigo, vamos aprender os principais conceitos em bancos de dados relacionais, que são coleções organizadas de dados estruturados interligados por meio de relações ou tabelas.

Conheceremos as ferramentas de gestão desses bancos (SGBDs), modelagem de dados, um pouco da linguagem SQL, e também vamos conferir materiais sobre as técnicas e tecnologias relacionadas.

Modelagem de dados

Este é um passo crucial para o desenvolvimento de um banco de dados eficiente e organizado, e consiste no processo de representar a estrutura dessas informações em um banco de dados relacional, antes de implementá-lo e desenvolver toda a estrutura física e lógica.

Esse processo envolve a identificação das entidades relevantes e seus atributos, bem como os relacionamentos entre essas entidades.

Entidades e atributos

As entidades são objetos (ou conceitos) do mundo real que são representados no banco de dados. Elas podem ser pessoas, objetos físicos, eventos, transações, sistemas, entre outros.

Cada entidade possui atributos, que são características que descrevem e definem a entidade.

Por exemplo, em um banco de dados de uma empresa, a entidade “Funcionário (a)” pode ter atributos como nome, cargo, data de admissão, entre outros.

Banner promocional da Alura, com um design futurista em tons de azul, apresentando dois blocos de texto, no qual o bloco esquerdo tem os dizeres:

O que é um relacionamento em um banco de dados?

Os relacionamentos entre entidades representam as associações e interações entre diferentes entidades no banco de dados.

Esses relacionamentos são estabelecidos para refletir as conexões lógicas entre as entidades do mundo real.

No exemplo anterior de um banco de dados de uma empresa, pode haver um relacionamento entre as entidades “Funcionário (a)” e “Departamento”, indicando quais funcionários e funcionárias são associados em quais departamentos e suas respectivas funções.

E para construir esses relacionamentos, são utilizadas chaves primárias e chaves estrangeiras das tabelas em questão.

Chaves primárias e chaves estrangeiras

As chaves primárias são atributos que identificam exclusivamente cada registro em uma tabela.

Elas garantem que cada linha na tabela tenha uma identificação única. Uma chave primária é essencial para manter a integridade dos dados e permitir a referência precisa a um registro específico.

Por exemplo, em uma tabela de “Funcionários”, o número de identificação do funcionário ou funcionária pode ser definido como a chave primária, que é único para cada pessoa (registro, matrícula).

As chaves estrangeiras são atributos que estabelecem relacionamentos entre tabelas.

Elas são baseadas em chaves primárias de outras tabelas e permitem conectar informações relacionadas entre diferentes entidades.

Por exemplo, no contexto de vendas, podemos avaliar uma tabela de “Pedidos”, e a chave estrangeira pode ser usada para referenciar uma tabela de “Clientes”, vinculando cada pedido a um cliente específico.

Normalização de banco de dados

A normalização é uma fase do processo de projetar um banco de dados que busca eliminar redundâncias e inconsistências nos dados armazenados em um banco de dados modelo relacional, planejando a sua estrutura e o formato das tabelas.

Ela envolve a divisão das tabelas em estruturas mais granulares, garantindo que cada tabela contenha apenas informações relevantes e evitando a duplicação desnecessária de dados.

A normalização ajuda a melhorar a eficiência e a integridade dos dados, reduzindo o espaço de armazenamento e facilitando as operações de consulta e atualização.

Existem vários níveis de normalização, onde cada novo nível segue os requisitos dos anteriores, ou seja, o terceiro nível de normalização, segue todos os requisitos do primeiro e segundo.

Dentre as formas existentes, destacam-se as três primeiras formas de normalização:

Primeira Forma Normal (1FN)

Nessa forma, os dados são organizados em tabelas, e cada coluna deve conter apenas valores atômicos (indivisíveis).

Além disso, cada tabela deve ter uma chave primária que identifica unicamente cada registro.

Segunda Forma Normal (2FN)

Nessa forma, além de satisfazer os requisitos da 1FN, todos os atributos não chave da tabela devem depender totalmente da chave primária.

Isso significa que cada coluna não chave deve depender completamente da chave primária, evitando a existência de dependências parciais.

Terceira Forma Normal (3FN)

Nessa forma, além de satisfazer os requisitos da 2FN, todas as dependências transitivas devem ser removidas.

Isso significa que os atributos não chave devem depender apenas da chave primária, e não de outros atributos não chave.

Introdução aos bancos de dados relacionais

Tendo em mente como funciona a modelagem de dados, é importante compreender conceitos como: o que é banco de dados relacionais, o que são os sistemas de gerenciamento e daí por diante.

Confira a seguir algumas informações essenciais sobre bancos de dados relacionais, exemplos e mais.

Definição de banco de dados

Um banco de dados é uma coleção organizada e estruturada de informações, armazenadas de forma a permitir o acesso, a manipulação e a recuperação eficiente dos dados.

Ele é projetado para armazenar grandes quantidades de dados de diferentes tipos, como textos, números, imagens e vídeos, em formato eletrônico, oferecendo suporte a diversas aplicações e sistemas.

Quais são 4 elementos de um banco de dados?

De forma geral, um banco de dados compreende quatro componentes básicos:

  • Dados
  • Hardware
  • Software
  • Pessoas usuárias

Qual é a função de um banco de dados?

Como o próprio nome sugere, a principal função de um banco de dados é agrupar dados sobre um mesmo tema.

Ou seja, ele serve para armazenar diversos tipos de dados, como, por exemplo, documentos, serviços, clientes, endereços, serviços e daí por diante.

A partir do momento em que estão armazenados no banco de dados, é possível organizar, analisar e interpretar esses dados.

O que é banco de dados relacional

Um banco de dados relacional é um tipo específico de banco de dados que organiza e armazena os dados em tabelas com estrutura pré-definida.

Nesse modelo, os dados são organizados em linhas e colunas, onde cada tabela representa uma entidade ou um conjunto de entidades relacionadas.

As colunas representam os atributos ou características dessas entidades, enquanto as linhas contêm os registros ou instâncias dessas entidades.

E para interagir com esses bancos relacionais de dados, utilizamos os SGBDs.

O que são Sistemas Gerenciadores de Banco de Dados (SGBD)

SGBD é a sigla para Sistema de Gerenciamento de Banco de Dados, que se refere a um software responsável por gerenciar e controlar o acesso a um banco de dados.

Um SGBD fornece uma interface para os usuários e usuárias interagirem com o banco de dados, permitindo a criação, a manipulação e a recuperação dos dados armazenados.

Ele gerencia aspectos como a estrutura dos dados, a segurança, a integridade, o desempenho e a disponibilidade do banco de dados.

Para os bancos de dados relacionais, temos também o conceito de SGBDR (Sistema de Gerenciamento de Banco de Dados Relacional), que é um tipo específico de SGBD projetado para armazenar, gerenciar e recuperar dados em um formato relacional.

Exemplos de SGBDs relacionais

Existem vários SGBDs no mercado para bancos de dados relacionais, alguns deles são:

MySQL

É um dos sistemas de gerenciamento de banco de dados relacionais mais populares e amplamente utilizados.

O MySQL é de código aberto, possui boa performance e oferece suporte a recursos avançados, como replicação e clustering.

Oracle Database

SGBD de alto desempenho e escalabilidade, amplamente utilizado em ambientes corporativos.

O Oracle Database oferece recursos avançados, como particionamento, segurança avançada e suporte a bancos de dados em cluster.

Microsoft SQL Server

É desenvolvido pela Microsoft, com suporte para ambientes Windows. Oferece recursos avançados, como integração com a plataforma .NET, análise de dados e serviços de business intelligence.

PostgreSQL

É um SGBD de código aberto, conhecido por sua robustez, extensibilidade e conformidade com os padrões SQL.

Possui uma ampla gama de recursos e é vastamente adotado por comunidades de pessoas desenvolvedoras.

SQLite

O SQLite é um SGBD embutido, leve e de fácil implementação, amplamente utilizado em aplicativos móveis e pequenas aplicações, pois não requer um servidor separado e tem baixo consumo de recursos.

Transações e ACID

As operações realizadas em bancos de dados relacionais, como leitura e escrita, são chamadas transações.

Elas representam unidades lógicas de trabalho que devem ser executadas de forma indivisível (não há como quebrar em tarefas menores).

O objetivo das transações é garantir a consistência e a integridade dos dados, mesmo em caso de falhas ou erros durante o processamento.

Para alcançar essa confiabilidade, as transações são estruturadas seguindo quatro princípios essenciais, conhecidos como ACID.

ACID é um acrônimo para Atomicidade (Atomicity), Consistência (Consistency), Isolamento (Isolation) e Durabilidade (Durability), que são propriedades fundamentais em sistemas de banco de dados relacionais. Entenda melhor cada um deles a seguir:

  • Atomicidade: garante que uma transação seja tratada como uma unidade indivisível de trabalho, ou seja, todas as operações realizadas dentro da transação são executadas com sucesso ou nenhuma delas é realizada, evitando resultados parciais.

  • Consistência: assegura que uma transação leva o banco de dados de um estado válido para outro estado válido. Os dados devem seguir regras e restrições definidas para manter a integridade e a coerência do banco de dados.

  • Isolamento: garante que cada transação seja executada independentemente das outras, como se estivesse ocorrendo em um ambiente isolado. Isso evita que uma transação interfira ou acesse dados parcialmente atualizados por outras transações em execução simultaneamente.

  • Durabilidade: garante que, uma vez que uma transação seja confirmada e os dados sejam gravados no banco de dados, eles permaneçam persistentes, mesmo em caso de falhas, como queda de energia ou falhas de hardware. Os dados gravados devem ser permanentes e disponíveis posteriormente.

As transações que ocorrem nos bancos de dados relacionais se dão através de uma linguagem de consulta estruturada, que conhecemos como SQL.

Linguagem de Consulta Estruturada (SQL)

Para entender os bancos de dados relacionais, é fundamental compreender a linguagem de consulta estruturada (SQL):

O que é SQL?

O SQL é uma linguagem padrão utilizada para gerenciar e manipular dados em bancos de dados relacionais.

Ao compreender os termos e conceitos fundamentais do SQL, como cláusulas, procedimentos, triggers, formas normais e normalização, é possível criar, consultar e otimizar bancos de dados de forma eficiente e precisa.

Aqui na Alura, temos vários conteúdos para aprendizado de SQL. Alguns deles são:

Consultas (Query)

Uma consulta, também conhecida como query em inglês, é uma solicitação feita a um sistema de banco de dados para recuperar informações específicas ou executar operações de manipulação de dados.

Uma consulta é formulada usando uma linguagem de consulta, como o próprio SQL.

As consultas permitem que os usuários e usuárias extraiam dados relevantes do banco de dados com base em critérios específicos.

Elas podem ser usadas para realizar diferentes tipos de operações, como recuperar registros de uma tabela, filtrar dados com base em condições específicas, realizar cálculos, atualizar registros existentes, inserir novos dados e excluir dados.

Uma consulta geralmente inclui palavras-chave e cláusulas que especificam a ação desejada, a tabela ou tabelas envolvidas e as condições que devem ser satisfeitas para retornar os resultados desejados.

A consulta é enviada ao sistema de banco de dados, que processa a solicitação e retorna os resultados correspondentes.

Comandos DML e DDL

No SQL, os comandos são estruturados em cinco categorias: DDL, DML, DQL, DCL e TCL, sendo as duas primeiras as categorias que cobrem as ações mais básicas e iniciais em um projeto com SQL. São elas: DML (Data Manipulation Language) e DDL (Data Definition Language).

DML

Refere-se a um conjunto de comandos utilizados para manipular dados dentro de um banco de dados.

Esses comandos permitem inserir, atualizar, recuperar e excluir dados em tabelas específicas.

Alguns exemplos de comandos (ou cláusulas) DML incluem:

  • INSERT: insere novos registros em uma tabela;
  • UPDATE: atualiza os valores dos registros existentes em uma tabela;
  • DELETE: remove registros de uma tabela;
  • SELECT: recupera dados de uma ou mais tabelas com base em critérios específicos.

A cláusula SELECT pode ser considerada parte tanto da categoria de comandos DML, quanto também da categoria Data Query Language (DQL), sendo o SELECT o único comando participante desta última categoria.

DDL

Refere-se a um conjunto de comandos utilizados para definir e gerenciar a estrutura dos objetos de um banco de dados, como tabelas, índices, visões, procedimentos armazenados e outras entidades relacionadas.

Alguns exemplos de comandos DDL incluem:

  • CREATE: cria objetos no banco de dados, como tabelas, visões ou índices;
  • ALTER: modifica a estrutura de objetos existentes no banco de dados;
  • DROP: exclui objetos do banco de dados;
  • TRUNCATE: remove todos os dados de uma tabela, mas mantém a estrutura da tabela intacta.

Conclusão

E aí, curtiu? Aqui na Alura nós temos vários conteúdos voltados a SQL, SGBDs, bancos de dados e muito mais.

Convidamos você a conhecer as Formações SQL com MySQL Server da Oracle e também SQL com PostgreSQL, que conduzirão sua jornada inicial no universo dos bancos de dados relacionais.

Créditos

Marcus Almeida
Marcus Almeida

Bacharelando em Engenharia Elétrica pelo Instituto Federal do Maranhão. Atuou como parte do Scuba Team da Escola de Dados na Alura, trabalhando com conteúdos voltados a Data Science, Machine Learning, Python e SQL. Adora conversar tecnologia, universo geek, games e também aprender coisas novas.

Veja outros artigos sobre Data Science