Você está na página 1de 5

Modelo Lgico: Tabelas,

Chaves Primrias e
Estrangeiras
Apresentar a prxima etapa da modelagem de dados: o modelo lgico e os
conceitos de tabelas, chaves primrias e estrangeiras e como o banco de
dados mantm controle sobre os dados relacionados.
A prxima etapa do projeto de banco de dados envolve o chamado modelo lgico.
Atualmente, grande parte dos sistemas de banco de dados utiliza o modelo relacional. Um banco
de dados relacional composto por tabelas (tambm denominadas relaes).
Observe a seguir alguns conceitos importantes para pleno entendimento do modelo relacional:

Tabela

Estrutura bidimensional composta por linhas (tuplas) e campos (ou atributos).

Chave primria

Atributo por meio do qual possvel identificar determinado registro. Uma chave primria no
pode ser repetida, ou seja, o conjunto de valores que constituem a chave primria deve ser nico
dentro de uma tabela.
Chave primria simples: apenas um atributo (campo) compe a chave primria.

Chave primria composta: mais de um atributo compe a chave primria.


Na aula anterior falamos sobre atributo identificador, responsvel por identificar uma
ocorrncia na entidade. Trata-se de um atributo em que no se encontra duplicidade de dados. O
atributo identificador corresponde normalmente chave primria no modelo lgico (relacional).
Portanto, para escolher uma chave primria preciso certificar-se de que esse atributo no
ter duplicidade.

Chave estrangeira

Utilizada quando queremos que o valor de um atributo seja validado a partir do valor de
atributo de outra tabela. Criamos, assim, uma relao de dependncia (um relacionamento) entre as
tabelas.
Observe que, no exemplo a seguir, antes de efetuar a alocao de um funcionrio em um
departamento, necessrio que o departamento em questo conste na tabela de departamentos.

Para que haja equivalncia, o contedo da chave estrangeira deve ser igual ao da chave
primria. O SGBD (Sistema de Gerenciamento de Banco de Dados) "liga" todos os registros em que o
contedo da chave primria seja igual ao de sua chave estrangeira.
Para entender o processo de chave estrangeira, veja o inforgrfico abaixo. Este inforgrfico faz parte da sequncia desta aula e,
portanto, essencial para a aprendizagem.

Chave nica (Unique)

Utilizada quando determinado campo no deve ser repetido e no chave primria. Aumenta a
consistncia do banco de dados.
Exemplo: cadastro de funcionrios. Cada funcionrio recebe um cdigo nico, que a chave
primria. Para maior segurana e consistncia, podemos optar para que o campo CPF tambm seja
nico, evitando que o mesmo funcionrio seja cadastrado duas vezes.

Notao resumida

Notao compacta, til para discusses sobre a estrutura geral do banco de dados, utilizada
quando no se deseja entrar em um nvel maior de detalhamento.
Para simplificar a representao da modelagem relacional, podemos utilizar o esquema
resumido da seguinte maneira:
1. Escrever o nome da entidade e, entre parnteses, todos os atributos, chave primria e chaves
estrangeiras (se houver).
2. Sublinhar a chave primria.
3. Na linha abaixo da entidade devem ser referenciadas todas as chaves estrangeiras e a entidade
com as quais se relacionam.
O exemplo apresentado anteriormente poderia ser representado utilizando-se a notao
resumida da seguinte forma:
Departamento (CodDept, Nome)
Funcionario (CodFunc, Nome, CPF, CodDept)
CodDept referencia Departamento
O relacionamento entre as tabelas Departamento e Funcionario tambm pode ser
representado por meio do seguinte diagrama:

Observe que por meio da notao resumida no possvel determinar se o relacionamento


do tipo 1:1 ou 1:N (como no caso representado na figura acima).

Chave alternativa

aquela chave que poderia, por causa de suas caractersticas, ser chave primria, mas no .
Ela nica na entidade, assim como a chave primria, e pode ser considerada uma chave
secundria.
Podemos considerar chave alternativa o CPF. No mundo real, o que identifica qualquer pessoa
fsica.

Escolha da chave primria

Geralmente, a chave primria um nmero criado pela aplicao costuma-se utilizar um


recurso de numerao automtica do prprio banco de dados, de modo que o nmero no se repita.
Se a chave primria muito grande, est sujeita a erros de digitao.
Um nome de pessoa pode ser considerado uma chave primria? O maior problema do nome
que duas ou mais pessoas podem apresentar o mesmo nome (homnimos) e a chave deve ser nica
para cada registro de dados.
As pessoas podem ter os mesmos nome e sobrenome, mas o RG e CPF so diferentes,
entretanto, so nmeros muito grandes, por isso, costume escolher outros identificadores como
chaves primrias.

Integridade de dados

Impor a integridade de dados garante a qualidade destes em um banco de dados. Eles devem
refletir corretamente a realidade representada pelo banco e tambm devem ser consistentes entre

si. A integridade de dados deve ser implementada de diversas formas em um banco de dados.

Integridade de domnio

Zela pelos valores ideais e necessrios para um atributo. Para isso, definimos algumas regras
de validao por meio de expresses compostas de valores constantes. Exemplos:

No permitir um estoque negativo.


Impedir uma data de nascimento superior data atual.
No permitir que o valor de um produto seja negativo.

Integridade de entidade

Tem o objetivo de validar os valores permitidos a partir de valores j inseridos na prpria


entidade. Aps uma "autoconsulta" a entidade vai permitir ou no a gravao do novo registro.
Exemplos:

No permitir duas pessoas com o mesmo CPF.


Impedir a locao de uma fita que j est locada.

Integridade referencial

Zela pela consistncia dos registros de uma entidade a partir de valores provenientes de outras
entidades, isto , determinado registro vai "depender" diretamente de um registro de outra tabela.
Exemplos:

Um registro em uma tabela pai pode ter um ou mais registros em uma tabela filho.
Um registro em uma tabela filho sempre tem um registro coincidente em uma tabela pai.
Para a incluso de um registro em uma determinada tabela filho, necessrio que exista um
registro pai coincidente.
Um registro pai s poder ser excludo se no possuir nenhum registro filho.

Referncias
CHEN, Peter. Modelagem de dados: a abordagem entidade-relacionamento para projeto lgico.
So Paulo: Makron Books, 1990.
DATE, C. J. Introduo a sistemas de banco de dados. Rio de Janeiro: Campus, 1991.
ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de banco de dados. 4. ed. So Paulo: Pearson
Addison Wesley, 2005.
HEUSER, Carlos Alberto. Projeto de banco de dados. Porto Alegre: Sagra Luzzatto, 2004.
SETZER, Valdemar W.; SILVA, Flvio Soares Corra da. Banco de dados: aprenda o que so,
melhore seu conhecimento, construa os seus. So Paulo: Edgard Blcher, 2005.
SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Sistema de banco de dados. 3. ed.
So Paulo: Makron Books, 1999.

Você também pode gostar