6.1 MODELO RELACIONAL
O modelo de dados relacional usa o conceito de uma relação matemática, como se fosse uma tabela com valores. Os modelos que antecederam o modelo relacional são os modelos hierárquicos e modelos de rede.
Quando uma relação é usada como uma tabela de valores, cada linha desta relação representa uma coleção de valores de dados relacionados.
Exemplo:
PESSOA |
|||
| Codigo | Nome | Telefone | Endereço |
| 1 | Maria | 232323 | Av. JK |
| 2 | José | 242424 | Av. JB |
| 3 | Carla | 252525 | Av. JX |
No exemplo acima, a linha com o código 1 representa os dados relacionados de uma pessoa que mora na Av. JK, com telefone de número 232323 cujo nome é Maria.
Associando com a unidade 5 (modelo conceitual), onde cada entidade e relacionamento modelava um objeto do mundo real. Na abordagem relacional, cada linha representa dados de uma ocorrência de entidade. No caso acima a entidade PESSOA do modelo conceitual representa a relação no modelo relacional.
O modelo relacional formal chama cada linha de uma tabela de tupla, o cabeçalho da coluna é chamado de atributo e o conjunto ordenado das linhas é denominado de tabela ou relação. E ainda podemos definir o tipo de dado que descreve os valores que podem aparecer nas tabelas como domínios.

![]() | ![]() | |
|
Uma tabela é um conjunto de tuplas, onde cada tupla é uma lista ordenada de valores. | ||
![]() | ![]() |
Para identificar cada tupla e estabelecer relações entre estas o conceito básico é o da chave.
Vamos considerar o que o autor Heuser descreve sobre chave no seu livro Projeto de Banco de Dados . Neste ele considera três tipos de chaves: chave primária, chave alternativa e chave estrangeira.
CHAVE PRIMÁRIA:
Como exposto anteriormente, uma tabela é constituída por uma lista ordenada de valores, ou seja, por tuplas. Como forma de garantir que não aconteça a duplicidade dessas tuplas, utiliza-se o procedimento de inserir nessa tabela uma chave.
A chave funciona como identificadora de uma tupla, garantindo, assim, a regra da unicidade.
A chave que identifica uma tabela é denominada de chave primária, podendo ser composta por um ou mais campos da tabela em questão. A especificação de uma chave define uma restrição de integridade, ou seja, uma regra que garante que a unicidade será obedecida em todos os estados do Banco de Dados.
Exemplo:
ALUNO |
||
| Codigo | Nome | Endereco |
| 1 | Maria | Av. JK |
| 2 | José | Av. JB |
| 3 | Pedro | Av. JC |

Na tabela acima, o valor de um atributo chave é usado para identificar, unicamente, cada tupla, pois, o atributo “nome de aluno” pode receber um valor igual, ou seja, ter mais de um aluno com o mesmo nome. Se o campo “nome do aluno” for indicado como chave, será garantida a regra da unicidade, contudo, quando há a ocorrência de nomes iguais, apenas um é inserido, no caso o primeiro. Nesse caso, procede-se a criação de um campo, preferencialmente numérico, que fará a identificação da tupla, podendo assim, serem gravados nomes iguais que, entretanto, constituem tuplas diferentes.
Exemplo:

CHAVE ESTRANGEIRA:
Uma chave estrangeira é um atributo ou uma combinação de atributos que aparecem necessariamente como chave primária em outra tabela.
ALUNO |
|||
| Cd_Aluno | Nome_Aluno | End_Aluno | Cd_Curso |
| 1 | Maria | Av. JK | 3 |
| 2 | José | Av. JB | 2 |
| 3 | Pedro | Av. JC | 3 |
CURSO |
||
| Cd_Curso | Nome_Curso | Sigla_Curso |
| 1 | Informatica | INF |
| 2 | Quimica | QUI |
| 3 | Biologia | BIO |
Nas tabelas acima podemos identificar que o Cd_Curso da relação CURSO é uma chave estrangeira em relação a chave primária da tabela ALUNO. Com esta relação podemos identificar que todo aluno esta relacionado a um curso através de um atributo Cd_Curso.
Por exemplo:
O aluno José está vinculado ao curso de Química
O aluno Pedro está vinculado ao curso de Biologia
A aluna Maria está vinculada ao curso de Biologia
CHAVE ALTERNATIVA:
Quando podemos identificar mais de uma chave em uma tabela, escolhemos uma como chave primária e as demais são consideradas chaves alternativas.
PESSOA |
|||
| Codigo | Nome | Telefone | CPF |
| 1 | Maria | 232323 | 90909090990 |
| 2 | José | 242424 | 808080808080 |
No exemplo acima, podemos usar tanto o código como o CPF para identificar a unicidade da linha.