← Back to list

Conceitos Fundamentais Sobre Banco de Dados Relacionais

Olá devs! 😎

Gabi Deutner · 2025-07-04 02:20 · 6 claps · 9.9 min read
#banco-de-dados #banco-de-dados-relacional #data-analysis #database-development
Open on Medium ↗

Conceitos Fundamentais Sobre Banco de Dados Relacionais

Olá devs! 😎

Hoje eu vim falar um pouco sobre alguns conceitos de Banco de Dados Relacionais.

Um banco de dados é uma coleção organizada de informações que têm algum relacionamento lógico entre si.

Esses dados são armazenados de modo estruturado para facilitar o acesso, a consulta e a atualização por pessoas ou aplicações.

A organização pode seguir diversos modelos, mas o objetivo comum é permitir que a informação esteja disponível de forma consistente e segura sempre que for necessária.

Sistema de Gerenciamento de Banco de Dados (SGBD)

Um Sistema de Gerenciamento de Banco de Dados, ou SGBD, é o software responsável por criar, manter, manipular e proteger o banco de dados. Ele fornece linguagens de consulta, rotinas de segurança, controle de concorrência e mecanismos de recuperação em caso de falhas.

O SGBD funciona como um intermediário entre o usuário ou a aplicação e o armazenamento físico dos dados, simplificando operações e diminuindo erros manuais.

As principais vantagens de usar um SGBD incluem integridade e consistência dos dados, pois o sistema aplica regras e validações automaticamente. Há maior segurança por meio de controles de acesso e criptografia.

O SGBD fornece mecanismos de recuperação e backup que minimizam perda de dados após falhas. Outro benefício é a abstração de detalhes técnicos de armazenamento, permitindo que desenvolvedores foquem na lógica de negócios.

Além disso, a possibilidade de múltiplos usuários acessarem e manipularem informações simultaneamente, sem corromper dados, confere escalabilidade e colaboração às aplicações.

Banco de Dados Relacional

Um banco de dados relacional é um tipo específico de banco de dados que organiza informações em tabelas compostas por linhas e colunas.

Nessas tabelas, cada linha representa um registro e cada coluna representa um atributo do registro.

As relações entre tabelas são estabelecidas por meio de chaves primárias e estrangeiras, o que possibilita unir informações de forma flexível e eficiente usando a álgebra relacional. Esse modelo, introduzido por Edgar F. Codd, enfatiza a independência dos dados em relação às aplicações que os utilizam.

Propriedades ACID

O conjunto de propriedades ACID expressa quatro garantias de transações em bancos de dados relacionais.

Atomicidade assegura que uma transação seja tratada como uma unidade indivisível: ou todos os passos são concluídos com sucesso ou nenhum efeito é aplicado.

Consistência garante que a transação leve o banco de dados de um estado válido a outro igualmente válido, respeitando todas as regras definidas.

Isolamento protege transações concorrentes de interferir umas nas outras até que sejam concluídas, evitando anomalias de leitura ou escrita.

Durabilidade estabelece que, uma vez confirmadas, as alterações de uma transação persistem mesmo diante de falhas no sistema ou desligamentos inesperados.

Modelos de dados

Modelos de dados são representações conceituais que descrevem como os dados são organizados, armazenados e manipulados em um sistema de banco de dados.

Eles definem a estrutura dos dados, as relações entre diferentes conjuntos de dados e as regras que governam essas relações.

O principal objetivo dos modelos de dados é fornecer uma forma de entender e planejar a organização da informação de maneira lógica e coerente, independentemente de como os dados serão fisicamente armazenados.

Existem diferentes tipos de modelos de dados, cada um com suas características específicas.

O modelo hierárquico, por exemplo, organiza os dados em uma estrutura de árvore, com registros pais e filhos.

Já o modelo de rede permite relacionamentos mais complexos entre registros, formando uma estrutura em grafo.

O modelo relacional, o mais comum atualmente, organiza os dados em tabelas e utiliza chaves para estabelecer relacionamentos entre elas.

Além disso, modelos mais recentes como o modelo orientado a objetos e os modelos NoSQL oferecem soluções para dados não estruturados e aplicações mais flexíveis.

Esses modelos são essenciais para o projeto de bancos de dados, pois ajudam a garantir que a estrutura criada atenda às necessidades do sistema e seja eficiente para armazenar, recuperar e manter os dados ao longo do tempo.

Eles também servem como base para a criação de esquemas e diagramas que orientam o desenvolvimento e a manutenção do banco de dados.

Categorias de Modelos de Dados

Os modelos de dados podem ser classificados em três níveis de abstração:

  • Conceitual
  • Lógico
  • Físico

Cada um desses níveis representa uma visão diferente sobre o banco de dados, voltada para públicos distintos e com objetivos específicos. Essa separação em camadas permite que alterações em um nível não impactem diretamente os demais, garantindo flexibilidade e independência entre a estrutura dos dados e sua implementação técnica.

O modelo conceitual é o nível mais alto de abstração. Ele descreve os dados de forma independente de tecnologias, linguagens ou sistemas específicos. Seu foco é representar a estrutura da informação e os relacionamentos entre os dados de maneira clara e compreensível para analistas e stakeholders. Um exemplo comum desse modelo é o diagrama entidade-relacionamento, que mostra entidades, atributos e vínculos entre elas. Ele funciona como um mapa geral da informação do sistema, sem se preocupar com detalhes técnicos.

O modelo lógico é um nível intermediário, que traduz o modelo conceitual para uma estrutura compatível com um tipo específico de banco de dados, como relacional, orientado a objetos ou NoSQL. No caso de um banco relacional, o modelo lógico transforma entidades em tabelas, atributos em colunas e relacionamentos em chaves primárias e estrangeiras. Ele ainda é independente da implementação física, mas já considera restrições de integridade, normalização e regras de negócio específicas do sistema gerenciador escolhido.

O modelo físico é o nível mais baixo de abstração. Ele descreve como os dados serão efetivamente armazenados no sistema, levando em conta detalhes como tipos de dados específicos, índices, métodos de acesso, particionamento e otimizações de desempenho. Esse modelo é utilizado por administradores de banco de dados e se relaciona diretamente com o ambiente de hardware, o sistema operacional e o SGBD adotado.

A separação entre esses níveis de abstração permite maior controle sobre o ciclo de vida dos dados. Mudanças no modelo físico para melhorar o desempenho, por exemplo, não afetam a estrutura lógica ou conceitual. Isso facilita a manutenção, evolução e adaptação do banco de dados a novas necessidades sem comprometer a integridade do sistema.

Esquemas

Esquemas são descrições estruturadas da organização dos dados dentro de um banco de dados.

Eles funcionam como um plano ou esqueleto que define como as informações serão armazenadas, incluindo tabelas, campos, tipos de dados, relacionamentos, restrições e outras propriedades.

O esquema é essencial para garantir que o banco de dados siga uma estrutura consistente, permitindo que aplicações e usuários saibam como acessar e manipular os dados corretamente.

Em um banco de dados relacional, por exemplo, o esquema especifica quais tabelas existem, quais colunas cada tabela possui, quais são as chaves primárias e estrangeiras e quais regras de integridade devem ser obedecidas. Essas definições são registradas no próprio sistema gerenciador de banco de dados e servem como referência para validação e controle de acesso.

Os esquemas também estão ligados aos diferentes níveis de abstração. No nível conceitual, o esquema define o modelo geral dos dados, como no diagrama entidade-relacionamento.

No nível lógico, ele detalha a estrutura das tabelas e restrições específicas de um modelo de dados, como o relacional.

Já no nível físico, o esquema descreve aspectos técnicos do armazenamento, como índices, particionamento e alocação de espaço em disco.

Manter um esquema bem definido é importante para a integridade e a segurança do banco de dados. Ele permite que diferentes usuários e sistemas compartilhem dados de forma padronizada, evitando redundância, inconsistência e perda de informação e facilita a manutenção e a evolução do sistema ao longo do tempo.

Instâncias

Instâncias em banco de dados representam o conjunto de dados armazenados em um determinado momento.

Enquanto o esquema define a estrutura do banco de dados, ou seja, a forma como os dados devem estar organizados, a instância é o conteúdo real armazenado conforme essa estrutura. A instância é o estado atual do banco de dados.

Por exemplo, se uma tabela chamada “clientes” tem colunas como “id”, “nome” e “email”, o esquema define essas colunas e seus tipos. Já a instância dessa tabela é composta pelas linhas de dados inseridas, como os nomes e e-mails dos clientes registrados. Esse conjunto de dados muda com o tempo à medida que novas informações são inseridas, atualizadas ou removidas, mas a estrutura da tabela pode permanecer a mesma.

Cada vez que o banco de dados é consultado ou manipulado, estamos lidando com uma instância atual. Esse conceito é importante porque permite separar a estrutura estática do banco de dados do conteúdo dinâmico que ela armazena. Essa separação é útil para manutenção, controle de integridade e recuperação de dados em caso de falhas.

Portanto, enquanto o esquema é definido uma vez e muda raramente, as instâncias são mutáveis e refletem o uso cotidiano do banco de dados.

Linguagens de SGBD

Linguagens de SGBD são os conjuntos de comandos e instruções utilizados para interagir com um sistema de gerenciamento de banco de dados.

Elas permitem que os usuários e desenvolvedores definam estruturas, manipulem dados, controlem acessos e realizem consultas.

Cada SGBD pode implementar suas próprias variações dessas linguagens, mas muitos seguem padrões como a linguagem SQL, que é amplamente utilizada em bancos de dados relacionais.

Essas linguagens são geralmente divididas em quatro categorias principais. A primeira é a linguagem de definição de dados, conhecida como DDL. Ela é usada para criar, alterar e remover estruturas do banco de dados, como tabelas, índices e esquemas. Comandos como CREATE, ALTER e DROP fazem parte dessa categoria.

A segunda categoria é a linguagem de manipulação de dados, ou DML. Ela permite inserir, atualizar, deletar e consultar os dados armazenados nas tabelas. Exemplos de comandos DML incluem INSERT, UPDATE, DELETE e SELECT. Essa é a linguagem mais utilizada no dia a dia das aplicações que interagem com o banco de dados.

A terceira categoria é a linguagem de controle de transações, ou TCL. Ela serve para gerenciar as alterações realizadas durante transações, garantindo as propriedades ACID. Comandos como COMMIT, ROLLBACK e SAVEPOINT permitem confirmar ou desfazer mudanças no banco de dados conforme a necessidade.

Por fim, há a linguagem de controle de dados, chamada DCL. Ela é usada para gerenciar permissões e segurança no acesso aos dados. Comandos como GRANT e REVOKE permitem autorizar ou restringir o acesso de usuários a determinadas partes do banco de dados.

O Modelo Relacional

O modelo relacional é uma forma de organizar os dados em bancos de dados utilizando tabelas, chamada de relações.

A terminologia usada tem origem na matemática e entre os termos mais comuns estão tupla, atributo, relação e domínio.

Uma tupla é uma linha de uma tabela, ou seja, um registro individual contendo informações completas sobre uma entidade. Por exemplo, em uma tabela chamada “clientes”, uma tupla pode conter os dados de um único cliente, como seu nome, CPF, endereço e telefone. Cada tupla representa uma ocorrência específica da entidade que a tabela descreve.

Atributos são as colunas da tabela e representam as características ou propriedades da entidade. No exemplo da tabela de clientes, os atributos seriam nome, CPF, endereço e telefone. Cada atributo tem um nome e um tipo de dado, e todos os registros da tabela compartilham o mesmo conjunto de atributos. Eles definem a estrutura da informação que pode ser armazenada.

Relação é o termo usado para se referir a uma tabela no modelo relacional. Cada relação é composta por um conjunto de atributos e um conjunto de tuplas. A relação representa uma entidade ou um conceito do mundo real, e suas tuplas representam instâncias dessa entidade. Por isso, uma relação é considerada um subconjunto do produto cartesiano dos domínios de seus atributos.

Domínio é o conjunto de valores possíveis que um atributo pode assumir. Por exemplo, o domínio de um atributo chamado “idade” pode ser o conjunto dos números inteiros positivos. O domínio define o tipo de dado permitido e ajuda a garantir a integridade dos valores inseridos nas tabelas. Cada atributo está associado a um domínio, e isso influencia nas operações de validação e consistência dos dados.

Ou seja:

  • Uma linha é chamada de Tupla
  • Um cabeçalho de coluna é chamado de Atributo
  • A tabela é chamada Relação
  • O conjunto de valores que um atributo pode ter se chama Domínio

Cada relação é composta por linhas, que representam registros ou tuplas, e colunas, que representam os atributos ou campos de dados. Esse modelo foi proposto por Edgar F. Codd e é baseado na teoria dos conjuntos e na lógica relacional. O modelo relacional oferece uma forma simples e poderosa de estruturar e acessar informações, sendo amplamente adotado em sistemas modernos.

Restrições do Modelo Relacional

As restrições do modelo relacional são regras que garantem a integridade e a validade dos dados armazenados nas relações.

A restrição de domínio assegura que cada valor de atributo pertença a um tipo de dado predefinido, como número, texto ou data.

A restrição de chave primária garante que cada tupla em uma tabela seja única e identificável por um ou mais atributos.

A restrição de integridade referencial estabelece que um valor de chave estrangeira em uma tabela deve corresponder a um valor existente na tabela referenciada, garantindo a consistência entre dados relacionados.

Além disso, há restrições de unicidade e de nulidade, que determinam se valores podem ou não se repetir ou ser nulos.

Operações de Atualização Sobre Relações

As operações de atualização sobre relações incluem inserção, exclusão e modificação de tuplas em uma tabela.

A operação de inserção adiciona uma nova tupla à relação, devendo respeitar todas as restrições de integridade.

A exclusão remove uma tupla existente, e é necessário verificar se há dependências de integridade referencial que podem ser afetadas.

A modificação altera os valores de uma ou mais colunas de uma tupla, exigindo atenção para manter a consistência e integridade do banco de dados.

Cada operação deve ser cuidadosamente controlada para que não comprometa os dados.

Modelagem Entidade-Relacionamento

A modelagem entidade-relacionamento, ou modelagem ER, é uma técnica utilizada para representar a estrutura lógica de um banco de dados de forma conceitual.

No caso de uma empresa, o modelo pode incluir entidades como funcionário, departamento, projeto e cliente, com seus respectivos atributos. Os relacionamentos entre essas entidades, como trabalha_em, gerencia ou participa, também são representados.

Essa modelagem é a base para transformar os requisitos do sistema em uma estrutura compreensível e, posteriormente, em um modelo relacional.

Diagramas ER ajudam a visualizar essas entidades e relacionamentos de forma clara antes da implementação.

Normalização

A normalização é o processo de organizar os dados de forma a reduzir redundâncias e dependências indesejadas. Esse processo é dividido em formas normais, que são etapas que aplicam regras progressivamente mais rigorosas.

A primeira forma normal exige que todos os atributos tenham valores atômicos.

A segunda forma normal elimina dependências parciais em chaves compostas.

A terceira forma normal remove dependências transitivas. Existem formas normais mais avançadas, mas essas três são as mais utilizadas.

A normalização melhora a integridade dos dados, facilita a manutenção e evita anomalias em inserções, atualizações e exclusões.

Gostaram? Vocês podem me encontrar no LinkedIn e no GitHub:

beacons.ai/gabideutner

“Bata Palmas” abaixo desse post se esse conteúdo te ajudou!

Obrigada pela leitura!


메타데이터
post_id
5fc5371cbf42
slug
conceitos-fundamentais-sobre-banco-de-dados-relacionais-5fc5371cbf42
url
https://medium.com/@deutnerg/conceitos-fundamentais-sobre-banco-de-dados-relacionais-5fc5371cbf42
canonical_url
https://medium.com/@deutnerg/conceitos-fundamentais-sobre-banco-de-dados-relacionais-5fc5371cbf42
author_url
https://medium.com/@deutnerg
status
ok
fetched_at
2026-09-14 08:47:49