Skip to content

Introdução aos relacionamentos de banco de dados

26 de abril de 2021

Neste artigo

Os termos do banco de dados relacional e relação descreve a maneira como os dados nas tabelas são conectados. Um banco de dados relacional consiste em uma série de duas ou mais tabelas vinculadas por uma chave específica. Um banco de dados relacional difere de bancos de dados não estruturados, que são mais comuns em iniciativas massivas de big data. Os bancos de dados relacionais tendem a exigir regras estritas sobre como as tabelas são definidas e o que constitui um relacionamento válido entre as tabelas. Os relacionamentos permitem que você descreva as conexões entre diferentes tabelas de banco de dados de maneiras poderosas. Esses relacionamentos podem ser aproveitados para realizar consultas poderosas entre tabelas, conhecidas como junções.

Hero Images / Getty Images

Tipos de relacionamentos de banco de dados

Existem três tipos de relacionamentos de banco de dados, cada um nomeado de acordo com o número de linhas da tabela envolvidas no relacionamento. Cada um desses três tipos de relacionamento existe entre duas tabelas.

  • Relações um-para-um ocorrem quando cada entrada na primeira tabela tem uma, e apenas uma, contrapartida na segunda tabela. Os relacionamentos um para um raramente são usados ​​porque geralmente é mais eficiente colocar todas as informações em uma única tabela. Alguns designers de banco de dados tiram proveito desse relacionamento criando tabelas que contêm um subconjunto dos dados de outra tabela.
  • Relacionamentos um-para-muitos são o tipo mais comum de relacionamento com o banco de dados. Eles ocorrem quando cada registro na Tabela A corresponde a um ou mais registros na Tabela B, mas cada registro na Tabela B corresponde a apenas um registro na Tabela A. Por exemplo, a relação entre uma tabela de Professores e uma tabela de Alunos em uma escola primária O banco de dados provavelmente seria uma relação um-para-muitos, porque cada aluno tem apenas um professor, mas cada professor tem vários alunos. Este design um-para-muitos ajuda a eliminar dados duplicados.
  • Relacionamentos muitos para muitos ocorrem quando cada registro na Tabela A corresponde a um ou mais registros na Tabela B, e cada registro na Tabela B corresponde a um ou mais registros na Tabela A. Por exemplo, a relação entre uma tabela de Professores e Cursos seria provavelmente muitos- to-many porque cada professor pode ministrar mais de um curso, e cada curso pode ter mais de um instrutor.

Relacionamentos de autorreferência: um caso especial

Os relacionamentos de autorreferência ocorrem quando há apenas uma tabela envolvida. Um exemplo comum é uma tabela Funcionários que contém informações sobre o supervisor de cada funcionário. Cada supervisor também é um funcionário e tem um supervisor. Nesse caso, há uma relação de autorreferência de um para muitos, pois cada funcionário tem um supervisor, mas cada supervisor pode ter mais de um funcionário.

Criando Relacionamentos com Chaves Estrangeiras

Você cria relacionamentos entre tabelas especificando uma chave estrangeira. Esta chave informa ao banco de dados relacional como as tabelas estão relacionadas. Em muitos casos, uma coluna na Tabela A contém chaves primárias que são referenciadas na Tabela B. Considere novamente o exemplo das tabelas Professores e Alunos. A tabela de professores contém apenas um ID, um nome e uma coluna de curso:

Professores

InstructorID Nome do professor Curso
001 John Doe inglês
002 Jane Schmoe Matemática

A tabela Alunos inclui uma coluna de ID, nome e chave estrangeira:

Alunos

Identidade estudantil Nome do aluno Teacher_FK
0200 Lowell Smith 001
0201 Brian Short 001
0202 Corky Mendez 002
0203 Monica Jones 001

A coluna Teacher_FK na tabela Alunos, faz referência ao valor da chave primária de um instrutor na tabela Professores. Freqüentemente, os designers de banco de dados usam “PK” ou “FK” no nome da coluna para identificar facilmente uma chave primária ou coluna de chave estrangeira. Essas duas tabelas ilustram uma relação um-para-muitos entre os professores e os alunos.

Relacionamentos e integridade referencial

Depois de adicionar uma chave estrangeira a uma tabela, crie uma restrição de banco de dados que reforce a integridade referencial entre as duas tabelas. Esta etapa garante que os relacionamentos entre as tabelas permaneçam consistentes. Quando uma tabela tem uma chave estrangeira para outra tabela, a integridade referencial requer que qualquer valor de chave estrangeira na Tabela B se refira a um registro existente na Tabela A.

Implementando Relacionamentos

Dependendo do seu banco de dados, você implementa relacionamentos entre tabelas de maneiras diferentes. O Microsoft Access fornece um assistente que permite vincular tabelas e também impor integridade referencial. Se você estiver escrevendo SQL diretamente, você deve primeiro criar a tabela Professores, declarando uma coluna de ID como a chave primária: CREATE TABLE Professores (InstructorID INT AUTO_INCREMENT PRIMARY KEY,
Professor_Name VARCHAR (100),
Curso VARCHAR (100)
);

type = “code”> Ao criar a tabela Alunos, você declara a coluna Teacher_FK como uma chave estrangeira que faz referência à coluna InstructorID na tabela Professores: CRIAR TABELA Alunos (
StudentID INT AUTO_INCREMENT PRIMARY KEY,
Student_Name VARCHAR (100), Teacher_FK INT,
FOREIGN KEY (Teacher_FK) REFERÊNCIAS Professores (InstructorID))
);

type = “código”>

Usando relacionamentos para unir tabelas

Depois de criar um ou mais relacionamentos em seu banco de dados, aproveite o poder deles usando consultas SQL JOIN para combinar informações de várias tabelas. O tipo mais comum de junção é SQL INNER JOIN, que é uma junção simples. Esse tipo de junção retorna todos os registros que atendem à condição de junção de uma ou mais tabelas. Por exemplo, esta condição JOIN retorna Student_Name, Teacher_Name e Course, onde a chave estrangeira na tabela Students corresponde à chave primária na tabela Professores: SELECT Students.Student_Name, Teachers.Teacher_Name, Teachers.Course
DE Alunos
Professores INNER JOIN
ON Students.Teacher_FK = Professores.ID do instrutor;

type = “code”> Esta declaração produz uma tabela parecida com esta:

Tabela retornada da instrução SQL Join

Student_Name Teacher_Name Curso
Lowell Smith John Doe Inglês
Brian Short John Doe Inglês
Corky Mendez Jane Schmoe Math
Monica Jones John Doe Inglês

Mais da Lifewire

  • Um gráfico na tela do computador.

    Relacionamentos de banco de dados

  • Visão de alto ângulo dos técnicos que trabalham na sala do servidor

    Chaves básicas que facilitam o gerenciamento de banco de dados

  • Gráfico de lápis vermelho delineando relacionamentos de banco de dados

    Criação de relacionamentos de banco de dados no Access

  • Administrador de banco de dados trabalhando na mesa

    Determinantes e seu papel em um banco de dados

  • Mulher olhando para a sala do servidor

    Relacionamentos um-para-muitos em um banco de dados

  • Código SQL em fundo preto

    Restrições UNIQUE no Microsoft SQL Server

  • Banco de dados em um computador

    Como a integridade referencial garante a consistência do banco de dados

  • Estudante de menino programando computador em sala de aula escura

    Bancos de dados para iniciantes

  • 1s e 0s representando um banco de dados

    O que é um banco de dados?

  • Usar a função ROUNDUP no Excel economiza tempo.

    Como criar um banco de dados no Excel

  • Renderização digital de código de computador e linhas de conexão que representam um banco de dados

    Glossário de termos comuns de banco de dados

  • Cartões de previdência social

    O que é uma chave primária?

  • Um homem de negócios trabalhando em um escritório

    Escolhendo uma chave primária

  • Tabelas de banco de dados organizadas em papel

    Relações Um-para-Um

  • Dois homens olhando para uma tela de computador

    O poder das chaves estrangeiras em bancos de dados relacionais

  • Programador no laptop de camisa xadrez vermelha e óculos

    Consulta GROUP BY do Microsoft Access

Lifewire

Siga-nos

  • Facebook

  • Sobre nós
  • Anunciar
  • Política de Privacidade
  • Política de Cookies
  • Carreiras
  • Diretrizes editoriais
  • Contato
  • Termos de uso
  • Privacidade da UE
  • Aviso de privacidade da Califórnia



Seus direitos de privacidade

A Lifewire e nossos parceiros terceirizados usam cookies e processam dados pessoais como identificadores exclusivos com base em seu consentimento para armazenar e / ou acessar informações em um dispositivo, exibir anúncios personalizados e para medição de conteúdo, percepção do público e desenvolvimento de produtos. Para alterar ou retirar suas opções de consentimento para Lifewire.com, incluindo seu direito de contestar quando um interesse legítimo é usado, clique abaixo. A qualquer momento, você pode atualizar suas configurações por meio do link “Privacidade da UE” na parte inferior de qualquer página. Essas escolhas serão sinalizadas globalmente para nossos parceiros e não afetarão os dados de navegação. Lista de parceiros (fornecedores)

Nós e nossos parceiros processamos dados para:

Digitalize ativamente as características do dispositivo para identificação. Use dados precisos de geolocalização. Armazene e / ou acesse informações em um dispositivo. Selecione o conteúdo personalizado. Crie um perfil de conteúdo personalizado. Avalie o desempenho do anúncio. Selecione anúncios básicos. Crie um perfil de anúncios personalizados. Selecione anúncios personalizados. Aplique pesquisas de mercado para gerar insights do público. Avalie o desempenho do conteúdo. Desenvolva e aprimore produtos. Lista de parceiros (fornecedores)