Unidade C - Modelo Lógico

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.

Tabela

 

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

Imagem

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:

tabela

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.