0% acharam este documento útil (0 voto)
4 visualizações10 páginas

Tabela Associativa em Banco de Dados

O documento explora os fundamentos dos relacionamentos em bancos de dados, abordando os tipos Um-Para-Um, Um-Para-Muitos e Muitos-Para-Muitos. Cada tipo de relacionamento é explicado com exemplos práticos e implementações em SQL. A importância de chaves primárias e estrangeiras na modelagem de dados é destacada para garantir a integridade das relações.

Enviado por

Santyago Portela
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
4 visualizações10 páginas

Tabela Associativa em Banco de Dados

O documento explora os fundamentos dos relacionamentos em bancos de dados, abordando os tipos Um-Para-Um, Um-Para-Muitos e Muitos-Para-Muitos. Cada tipo de relacionamento é explicado com exemplos práticos e implementações em SQL. A importância de chaves primárias e estrangeiras na modelagem de dados é destacada para garantir a integridade das relações.

Enviado por

Santyago Portela
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Dominando Relacionamentos

em Banco de Dados
Explore os fundamentos dos relacionamentos em bancos de dados.
Entenda como entidades se conectam e como modelar essas interações de
forma eficiente.

AA por Andre Alencar


Relacionamento Um-Para-Um (1:1)
Conexão Direta Chave Primária e Estrangeira
Cada registro em uma tabela Geralmente implementado com
corresponde a apenas um registro em chave primária e estrangeira na
outra. tabela relacionada.

Extensão de Atributos
Útil para separar atributos opcionais ou sensíveis em uma tabela auxiliar.

O relacionamento 1:1 é ideal para expandir informações de uma entidade sem sobrecarregar
a tabela principal. Pense em uma pessoa com uma única certidão de nascimento.
Exemplo de Relacionamento 1:1
Pessoa e Detalhes

Imagine que a tabela Pessoas contém informações básicas.


Detalhes como passaporte, que nem toda pessoa possui,
podem ser armazenados em uma tabela DetalhesPessoais.

Cada pessoa tem, no máximo, um conjunto de detalhes


adicionais.
Cada conjunto de detalhes pertence a apenas uma pessoa.

Neste cenário, a tabela de detalhes se liga diretamente à tabela principal, garantindo a unicidade.
Implementando 1:1 em SQL
CREATE TABLE Pessoas (
id_pessoa INT PRIMARY KEY,
nome VARCHAR(100),
email VARCHAR(100) UNIQUE
);

CREATE TABLE DetalhesPessoais (


id_detalhe INT PRIMARY KEY,
id_pessoa INT UNIQUE, -- Chave estrangeira e única para 1:1
numero_passaporte VARCHAR(50),
data_expedicao DATE,
FOREIGN KEY (id_pessoa) REFERENCES Pessoas(id_pessoa)
);

A chave estrangeira id_pessoa em DetalhesPessoais deve ser UNIQUE para


forçar a relação 1:1.
Relacionamento Um-Para-Muitos
(1:N ou 1:\*)
Entidade Única
Um registro em uma tabela pode estar associado a múltiplos registros em outra.

Muitas Associações
Cada registro da segunda tabela pertence a apenas um registro da primeira.

Chave Estrangeira
Implementado com uma chave estrangeira na tabela "muitos".

É o relacionamento mais comum e fundamental. Uma categoria pode ter vários produtos, mas
um produto tem apenas uma categoria.
Exemplo de Relacionamento 1:N
Departamentos e Funcionários

Um departamento possui muitos funcionários, mas um


funcionário pertence a apenas um departamento.

Tabela Departamentos (o lado "um").


Tabela Funcionarios (o lado "muitos").

A chave estrangeira reside na tabela Funcionarios,


referenciando o id do departamento.

Este modelo é amplamente utilizado para organizar dados hierárquicos e evitar redundância.
Implementando 1:N em SQL
CREATE TABLE Departamentos (
id_departamento INT PRIMARY KEY,
nome_departamento VARCHAR(100) UNIQUE
);

CREATE TABLE Funcionarios (


id_funcionario INT PRIMARY KEY,
nome VARCHAR(100),
cargo VARCHAR(50),
id_departamento INT, -- Chave estrangeira
FOREIGN KEY (id_departamento) REFERENCES
Departamentos(id_departamento)
);

A coluna id_departamento em Funcionarios é a chave estrangeira.


Relacionamento Muitos-Para-Muitos (N:M ou \_:_)
Conexões Complexas Tabela Associativa Chaves Compostas
Vários registros de uma tabela Requer uma terceira tabela (tabela A tabela associativa geralmente tem
podem se relacionar com vários de junção) para intermediar a uma chave primária composta pelas
registros de outra. relação. chaves estrangeiras das tabelas
originais.

Este tipo de relacionamento é comum em sistemas que envolvem associações flexíveis. Por exemplo, um aluno pode se matricular
em vários cursos, e um curso pode ter vários alunos.
Exemplo de Relacionamento N:M
Alunos e Cursos

Um aluno pode fazer vários cursos, e um curso pode ter vários


alunos. Uma tabela intermediária, Matriculas, é necessária
para mapear essas relações.

Tabela Alunos.
Tabela Cursos.
Tabela Matriculas (tabela de junção).

A tabela Matriculas contém id_aluno e id_curso, e pode ter atributos adicionais.


Implementando N:M em SQL
CREATE TABLE Alunos (
id_aluno INT PRIMARY KEY,
nome_aluno VARCHAR(100)
);

CREATE TABLE Cursos (


id_curso INT PRIMARY KEY,
nome_curso VARCHAR(100)
);

CREATE TABLE Matriculas (


id_aluno INT,
id_curso INT,
data_matricula DATE,
PRIMARY KEY (id_aluno, id_curso), -- Chave primária composta
FOREIGN KEY (id_aluno) REFERENCES Alunos(id_aluno),
FOREIGN KEY (id_curso) REFERENCES Cursos(id_curso)
);

A tabela Matriculas resolve o relacionamento N:M, conectando alunos e


cursos.

Você também pode gostar