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.
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
-
Relacionamentos de banco de dados
-
Chaves básicas que facilitam o gerenciamento de banco de dados
-
Criação de relacionamentos de banco de dados no Access
-
Determinantes e seu papel em um banco de dados
-
Relacionamentos um-para-muitos em um banco de dados
-
Restrições UNIQUE no Microsoft SQL Server
-
Como a integridade referencial garante a consistência do banco de dados
-
Bancos de dados para iniciantes
-
O que é um banco de dados?
-
Como criar um banco de dados no Excel
-
Glossário de termos comuns de banco de dados
-
O que é uma chave primária?
-
Escolhendo uma chave primária
-
Relações Um-para-Um
-
O poder das chaves estrangeiras em bancos de dados relacionais
-
Consulta GROUP BY do Microsoft Access
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)