Em um banco de dados, as entidades raramente existem de forma isolada.
Normalmente elas possuem conexões entre si, formando relações que representam situações do mundo real.
Relacionamento é a ligação lógica entre entidades dentro de um modelo de dados.
Ele demonstra como os dados interagem e dependem uns dos outros.
CLIENTE ------ REALIZA ------ PEDIDO
Nesse exemplo, um cliente realiza pedidos.
No Diagrama Entidade Relacionamento (DER), os relacionamentos são normalmente representados por losangos ou por linhas ligando as entidades.
+-----------+
| CLIENTE |
+-----------+
|
REALIZA
|
+-----------+
| PEDIDO |
+-----------+
| Entidade 1 | Relacionamento | Entidade 2 |
|---|---|---|
| Cliente | Realiza | Pedido |
| Aluno | Participa | Curso |
| Médico | Atende | Paciente |
| Professor | Ministra | Disciplina |
É o tipo mais comum de relacionamento.
Ocorre entre duas entidades.
CLIENTE ----- PEDIDO
Envolve três entidades ao mesmo tempo.
ALUNO
\
\
MATRÍCULA
/
CURSO
\
\
PROFESSOR
Esse tipo de relacionamento é menos comum e geralmente aparece em sistemas mais complexos.
Uma entidade possui participação obrigatória quando precisa estar associada a outra para existir no sistema.
Todo pedido deve pertencer a um cliente.
O relacionamento pode existir ou não.
Um cliente recém-cadastrado pode ainda não possuir pedidos.
Nos bancos relacionais, os relacionamentos normalmente são implementados através de chaves estrangeiras (Foreign Keys).
PEDIDO
id_pedido
data_pedido
id_cliente
O campo id_cliente conecta a tabela Pedido à tabela Cliente.
| Tabela Cliente |
|---|
| id_cliente |
| nome |
| Tabela Pedido |
|---|
| id_pedido |
| data_pedido |
| id_cliente |
A chave estrangeira permite identificar qual cliente realizou o pedido.