Compartilhar via


Tipos de relações em tabelas (Visual Database Tools)

Uma relação funciona fazendo corresponder dados em colunas de chave — geralmente colunas com o mesmo nome nas duas tabelas. Na maioria dos casos, a relação faz corresponder a chave primária de uma tabela, que fornece um identificador exclusivo para cada linha, com uma entrada na chave estrangeira da outra tabela. Por exemplo, vendas de livros podem ser associadas aos títulos específicos vendidos criando uma relação entre a coluna title_id na tabela titles (a chave primária) e a coluna title_id na tabela sales (a chave estrangeira).

Há três tipos de relações entre tabelas. O tipo de relação que é criada depende de como as colunas relacionadas são definidas.

  • Relação um para muitos

  • Relações muitos para muitos

  • Relações um para um

Relações um para muitos

Uma relação um para muitos é o tipo mais comum de relação. Nesse tipo de relação, uma linha da tabela A pode ter muitas linhas correspondentes na tabela B, mas uma linha da tabela B pode ter apenas uma linha correspondente na tabela A. Por exemplo, as tabelas publishers e titles têm uma relação um para muitos: cada publicador produz muitos títulos, mas cada título vem de apenas um editor.

Estabeleça uma relação um para muitos se apenas uma das colunas relacionadas for uma chave primária ou tiver uma restrição exclusiva.

O lado de chave primária de uma relação um para muitos relação é denotado por um símbolo de chave. O lado de chave estrangeira de uma relação é denotado por um símbolo de infinito.

Relações muitos para muitos

Em uma relação muitos para muitos, uma linha da tabela A pode ter muitas linhas correspondentes na tabela B e vice-versa. Você cria esse tipo de relação definindo uma terceira tabela, chamada de tabela de junção, cuja chave primária consiste nas chaves estrangeiras de ambas as tabelas, A e B. Por exemplo, a tabela authors e a tabela titles têm uma relação muitos para muitos que está definida por uma relação um para muitos de cada uma dessas tabelas para a tabela titleauthors. A chave primária da tabela titleauthors é a combinação da coluna au_id (a chave primária da tabela authors) e a coluna title_id (a chave primária da tabela titles).

Relações um para um

Em uma relação um para um, uma linha da tabela A não pode ter mais que uma linha correspondente na tabela B e vice-versa. Uma relação um para um é criada se ambas as colunas relacionadas forem chaves primárias ou tiverem restrições exclusivas.

Esse tipo de relação não é comum porque as informações relacionadas dessa maneira iriam em sua maioria estar todas em uma única tabela. Você poderia usar uma relação um para um para:

  • Dividir uma tabela com muitas colunas.

  • Isolar parte de uma tabela por razões de segurança.

  • Armazenar dados que sejam efêmeros e possam ser facilmente excluídos com a simples exclusão da tabela.

  • Armazenar informações que se apliquem apenas a um subconjunto da tabela principal.

O lado de chave primária de uma relação um para muitos é denotado por um símbolo de chave. O lado de chave estrangeira também é denotado por um símbolo de chave.