Sobre relacionamentos
Para criar tabelas relacionadas, defina um relacionamento entre duas tabelas. Um relacionamento é estabelecido quando o valor em um campo, chamado de campo de correspondência (às vezes chamado de campo chave) em um dos lados do relacionamento for comparado com um valor no campo de correspondência do outro lado do relacionamento, de acordo com os critérios estabelecidos no relacionamento.
Por exemplo, você pode criar um relacionamento de modo que, quando o valor no campo ID do aluno em uma tabela Alunos for igual ao valor do campo ID do aluno em uma tabela Classes, os registros nas duas tabelas estão relacionados.
Para criar, alterar e exibir os relacionamentos do seu banco de dados, consulte Trabalho com o gráfico de relacionamentos.
Campos usados em relacionamentos
Um campo de correspondência pode ser um campo ou uma combinação de campos que identifica um registro em uma tabela. Por exemplo, um campo de correspondência pode conter datas que, quando comparadas com os critérios do relacionamento, determinam se o relacionamento é bem-sucedido.
Uma chave é um tipo de campo de correspondência. As chaves normalmente contêm valores que são usados com IDs (como uma ID de produto). Há dois tipos de chaves:
- chave primária – um campo que está na mesma tabela que o registro que identifica. Um valor de chave primária deve ser exclusivo e não deve estar vazio (não nulo). Existe somente uma chave primária em uma tabela, mas a chave pode consistir em mais de um campo. Por padrão, quando você cria um arquivo ou uma tabela na caixa de diálogo Gerenciar banco de dados, a nova tabela contém o campo de chave primária.
- chave externa – um campo em uma tabela que identifica um registro em outra tabela. Os valores das chaves externas não precisam ser exclusivos na tabela e podem estar vazios (ser nulos). Pode haver várias chaves externas em uma tabela.
Em um banco de dados Vendas, a tabela Clientes e a tabela Fatura podem usar, individualmente, o campo ID do cliente para identificar exclusivamente cada cliente e cada compra. O campo ID do cliente na tabela Clientes é um campo de chave primária, porque esse campo identifica exclusivamente cada cliente. O campo ID do cliente na tabela Fatura é um campo de chave externa, porque seus valores são originários de outra tabela; neste exemplo, a tabela Clientes. Mas o campo ID do cliente em ambas as tabelas são campos de correspondência.
Quando as duas tabelas são relacionadas usando o campo ID do cliente, um registro na tabela Clientes poderá exibir um portal mostrando cada fatura com uma ID de cliente correspondente; na tabela Faturas, cada fatura com a mesma ID de cliente poderá exibir dados de cliente consistentes.
O FileMaker Pro pesquisa os valores indexados dos campos de correspondência para determinar quais registros relacionados atendem aos critérios do relacionamento para um registro na tabela atual. Portanto, os campos de correspondência na tabela relacionada devem ser capazes de ser indexados.
Os campos de correspondência devem ser um dos seguintes tipos de campos: texto, número, data, hora, carimbo de data/hora ou cálculo (com um resultado de texto, número, data, hora ou carimbo de data/hora).
Tipos de relacionamentos
Os relacionamentos promovem a inserção de dados consistentes e aplicam as regras em um banco de dados. O FileMaker Pro é compatível com os seguintes tipos de relacionamentos.
Tipo de relacionamento |
Descrição |
Um para um |
Um registro em uma tabela está associado a um e somente um registro em outra tabela. Consulte Relacionamentos um para um. |
Um para muitos ou |
Um registro em uma tabela pode ser associado a um ou mais registros em outra tabela. Ou um ou mais registros de uma tabela podem ser associados a um registro em outra tabela. Consulte Relacionamentos um para muitos. |
Associação automática |
Ambas as chaves primárias são definidas em duas ocorrências da mesma tabela. Consulte Relacionamentos de associação automática. |
Outro tipo de relacionamento é um relacionamento muitos para muitos. Sistemas de bancos de dados relacionais normalmente não permitem implementar um relacionamento muitos para muitos direto entre duas tabelas. No entanto, você pode projetar um banco de dados compatível com relacionamentos de muitos para muitos usando uma terceira tabela, intermediária. Consulte Relacionamentos muitos para muitos.
Notas
- Um campo de correspondência usado em um relacionamento pode ser um campo de destino de pesquisa, contanto que a pesquisa esteja baseada em um relacionamento diferente.
- Como os campos globais não podem ser indexados, você não pode usá-los como campos de correspondência em uma tabela relacionada. No entanto, você pode usá-los como campos de correspondências na tabela atual.
- Os relacionamentos também possibilitam agrupar os seus dados para resolver pesquisas complexas. Por exemplo, os relacionamentos podem determinar os níveis de inventário atuais, projeções de vendas e outras tarefas em que é necessário consultar dados entre várias tabelas.
- Use os privilégios de acesso na tabela de origem para limitar ou impedir o acesso aos dados relacionados. Por exemplo, os usuários devem ter privilégios de acesso para exibir um campo de correspondência relacionado e ver os campos relacionados desse relacionamento.