Relacionamentos em MySQL com o uso de chaves estrangeiras (foreing key)

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Artigo da SQL Magazine - edição 34.

Capa SQl 33

Clique aqui para ler todos os artigos desta edição

Bancos de dados (ou bases de dados) são conjuntos de dados com uma estrutura regular que organizam informação dos mais variados tipos.

De um modo geral, um banco de dados é gerenciado por um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD). Normalmente, um SGBD adota um modelo de dados, de forma pura, reduzida ou estendida. O modelo de dados mais utilizado hoje em dia é o modelo relacional. Neste modelo, as estruturas têm a forma de tabelas (cada tabela é composta por linhas e colunas). Informações utilizadas para um mesmo fim são agrupadas num banco de dados.

Um dos mecanismos que possuímos ao trabalharmos com modelo relacional são as chaves estrangeiras (foreign keys), que são utilizadas para implementarmos integridade referencial.

Uma das grandes dificuldades de quem começa a desenvolver banco de dados com uso do MySQL é a questão do relacionamento entre duas ou mais tabelas. Muitos

tutoriais encontrados na internet dizem que o MySQL não possui esse tipo de recurso. Nesse artigo vamos tentar mostrar que é possível relacionar tabelas de forma relativamente simples com o uso de chaves estrangeiras (mas é preciso ressaltar que isso só é possível a partir das versões 4.x do MySQL), porém algumas configurações devem ser feitas. Para isso, veremos como utilizar este recurso através de um exemplo bastante simples.

Relacionamento entre tabelas de banco de dados

Existem três tipos de relacionamento de tabelas no modelo relacional. São eles:

• Relacionamento 1 para 1;

• Relacionamento 1 para muitos;

• Relacionamento muitos para muitos.

Relacionamento 1 para 1 (1:1)

São relacionamentos em que uma entidade em A está associada no máximo a uma entidade em B e uma entidade em B está associada no máximo a uma entidade em A.

Neste relacionamento, escolhemos qual tabela irá receber a chave estrangeira, e para cada valor do campo na tabela A, há no máximo um valor na tabela B.

No exemplo mostrado na Figura 1 podemos entender melhor este tipo de relacionamento, onde estaremos definindo que um Gerente (e somente um) gerencia um (e somente um) Departamento. Ou seja, o mesmo Gerente não pode gerenciar mais de um Departamento e um Departamento não poderá ser gerenciado por mais de um Gerente.

Figura 1. Exemplo de relacionamento 1:1

Relacionamento 1 para muitos (1:n)

Para cada valor do campo na tabela A, pode haver N valores relacionados no campo da tabela B. O campo chave estrangeira está presente na tabela B.

No exemplo mostrado na Figura 2, está sendo especificado que um curso é cursado por n alunos. Porém, um aluno só pode cursar um (e somente um) curso. Este tipo de relacionamento é conhecido como de 1:n ou n:1 a depender da direção do relacionamento que é observado, ou seja, 1 Curso possui n Alunos, mas cada um dos n Alunos só pode cursar 1 Curso.

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?