Tarefa Orientada 5: Definição dos
relacionamentos
Tarefa Orientada 5 – Definição dos relacionamentos
Objectivos:
•
•
Definição de relacionamentos entre tabelas.
Definição de restrições de integridade referencial.
O Sistema de Gestão de Bases de Dados MS Access
Criação de Relacionamentos entre tabelas
Os relacionamentos representados no modelo de dados são implementados directamente em MS
Access. Um relacionamento envolve 2 tabelas que têm um campo comum, isto é, um campo
que representa o mesmo elemento de dados. A criação de um relacionamento é uma indicação
ao SGBD desse facto. O Access suporta dois tipos de relacionamentos:
um para um ou 1:1 (one to one) - em que a cada valor do campo comum corresponde um e
um só registo em ambas as tabelas.
um para muitos ou 1:N (one to many) - em que a cada valor do campo comum numa das
tabelas (tabela primária ou lado 1 do relacionamento) correspondem vários registos, isto é,
vários registos têm o mesmo valor nesse campo, na outra tabela (tabela relacionada ou
lado N). Note-se que a cada registo do lado N corresponde 1 e um só registo do lado 1.
Os relacionamentos mais comuns são do tipo 1:N.
1. Inicie o programa Microsoft Access através do menu INICIAR.
2. Seleccione a opção abrir um ficheiro para abrir a base de dados criada na tarefa orientada n.º2
Para criar relacionamentos entre tabelas deve seleccionar o comando Relações do menu
Ferramentas ou pressionar o botão
3. Pressione o botão
da barra de ferramentas.
da barra de ferramentas.
Depois é apresentada uma caixa de diálogo para seleccionar as tabelas a relacionar.
4. Seleccione todas as tabelas da caixa de diálogo acima ilustrada e pressione o botão Adicionar.
Tarefa Orientada 5: Definição dos
relacionamentos
5. Pressione o botão Fechar.
O relacionamento é definido arrastando o campo comum na tabela primária (chave primária)
para cima do campo comum na tabela relacionada (chave forasteira). Um relacionamento pode
envolver vários campos comuns, 2 a 2, bastando para isso preencher o resto das linhas
disponíveis. O tipo de relacionamento é automaticamente detectado e indicado em baixo. O
valor Indeterminado indica que o MS Access não conseguiu detectar o tipo de relacionamento.
O campo comum tem que ser do mesmo tipo de dados em ambas as tabelas e tem que ter
também o mesmo tamanho. A excepção à regra permite relacionar campos do tipo Numeração
Automática e Número, desde que a propriedade Tamanho de campo contenha o mesmo valor.
O campo comum é, normalmente, o campo chave da tabela primária. Na tabela relacionada o
campo comum é chamado chave externa. No caso raro de haver um relacionamento entre
tabelas em que o campo comum não é chave em nenhuma, então ele terá que ser indexado numa
delas.
6. Arraste o campo IDTipoCliente da tabela Tipos de Clientes para o campo TipoCliente da
tabela Clientes. Aparece a janela Editar Relações. Como pode verificar, o MS Access detecta
que é um relacionamento 1:N.
7. Active a caixa de verificação Impor integridade referencial.
8. Pressione o botão OK.
Integridade Referencial
Dividir a informação por várias tabelas pode resolver os problemas de redundância e
inconsistência, mas cria outros. Por exemplo, se um registo numa tabela primária for apagado e
existirem registos relacionados noutra tabela, a base de dados fica inconsistente. De modo
semelhante, se for alterado o valor do campo comum de um registo da tabela primária, os dados
na base de dados deixarão de ser consistentes.
Exemplo: Se eliminar o registo da tabela Clientes referente ao cliente com o código 1, a
base de dados passa a estar inconsistente se existirem, por exemplo, vários registos na
tabela Encomendas que façam referência ao campo CódigoCliente com o valor 1, que já
não existe. Isto é, não é possível saber quem foi o cliente que efectuou essas
encomendas.
Quando se activa a opção Impor integridade referencial, o MS Access passa a validar os valores
dos campos relacionados, de modo a garantir a integridade referencial, e, portanto, a
Tarefa Orientada 5: Definição dos
relacionamentos
consistência dos dados distribuídos pelas várias tabelas. Assim, todos os valores existentes no
campo comum da tabela relacionada terão que existir no campo comum da tabela primária. Na
janela de relacionamentos, um relacionamento com esta opção activada passa a ter indicação do
lado 1 e do lado N. Este último, representado por um símbolo de infinito (∞).
Note-se que a partir deste momento não é possível introduzir a informação na base de dados por
qualquer ordem. Os dados das tabelas primárias têm que ser introduzidos antes dos dados das
tabelas relacionadas.
Assim, para alterar o valor de um campo comum ou apagar um registo numa tabela primária, é
necessário antes alterar/apagar os registos relacionados. Para simplificar estas tarefas que são
frequentes, o Access permite que as alterações efectuadas na tabela primária sejam
automaticamente reflectidas nas tabelas relacionadas após confirmação pelo utilizador.
Quando a opção Impor integridade referencial é activada são disponibilizadas mais 2 opções:
Propagar actualização dos campos relacionados: provoca a propagação das alterações
efectuadas no campo comum do lado 1 a todas as ocorrências do valor alterado nos
registos no lado N.
Propagar eliminação dos registos relacionados: provoca a eliminação de todos os registos
da tabela do lado N com o mesmo valor do campo comum que o registo eliminado na tabela
do lado 1.
9. Defina os restantes relacionamentos entre as várias tabelas criadas nas tarefas 3 e 4, de acordo
com a figura da página seguinte. Recorde que um relacionamento é definido arrastando o campo
comum na tabela primária (chave primária) para cima do campo comum na tabela relacionada
(chave forasteira). Active sempre a opção Impor integridade referencial para todos os
relacionamentos.
Para editar/eliminar um relacionamento é necessário seleccioná-lo, pressionar o botão direito do
rato e escolher a opção desejada.
Para visualizar todos os relacionamentos, pressione o botão
da barra de ferramentas.
Para visualizar todos os relacionamentos em que uma tabela participa, seleccione a tabela,
pressione o botão direito do rato e escolha a opção Mostrar relações directas.
.
Tarefa Orientada 5: Definição dos
relacionamentos
Download

Tarefa5