Em uma relação um-para-muitos, cada linha da tabela relacionada pode estar relacionada a muitas linhas da tabela relacionada. Isto permite que a informação frequentemente usada seja salva apenas uma vez em uma tabela e referenciada muitas vezes em todas as outras tabelas. Em uma relação de um-para-muitos entre Tabela A e Tabela B, cada linha na Tabela A está ligada a 0, 1 ou muitas linhas na Tabela B. O número de linhas na Tabela A é quase sempre menor que o número de linhas na Tabela B.
Para ilustrar a relação de um-para-muitos considere o desenho e os dados da tabela de exemplo abaixo:
tabela de autores
coluna |
|
author_id |
chave primária |
>nome próprio |
|
>nome próprio |
|
>
tabela de livros
coluna |
|
livro_id |
chave primária |
título |
|
author_id |
chave externa – link para author_id_id dos autores tabela |
author_id |
lastname |
primeiro nome |
0001 |
henry |
john |
0002 |
smith |
adam |
0003 |
johnson |
mary |
0004 |
bailey |
harry |
book_id |
title |
author_id |
>
0001 |
Um iniciador de base de dados |
0001 |
>
0002 |
Building a datawarehouse |
0001 |
0003 |
Faça você mesmo SQL |
0001 |
0004 |
101 Receitas exóticas |
0002 |
0005 |
Visitar a Europa |
0004 |
Notificar que cada linha da tabela de autores está relacionada a 0, 1 ou muitas filas na mesa dos livros. Isto faz sentido intuitivo porque um autor pode escrever 0, 1 ou mais de 1 livros. Em nosso exemplo acima, John Henry escreveu 3 livros, Adam Smith escreveu 1 livro, Mary Johnson não escreveu nenhum livro e Harry Bailey escreveu 1 livro.
Se você notar cuidadosamente, a relação acima entre a tabela de autores e a tabela de livros é uma relação de um para muitos. Ao contrário, a relação entre a tabela de livros e a tabela de autores é uma relação de muitos para um.
Veja também: Relações um-para-um e Many-to-Many relationships