Referências da tabela
Muitas tabelas incluem campos (também conhecidos como elementos de dados) de outras tabelas. Esses campos são chamados de dados referenciados.
A tabela Componentes de software implementados (tccom000), por exemplo, tem referências às seguintes tabelas:
- Endereços (tccom130)
- Países (tcmcs010)
- Idiomas (tcmcs046)
Nesse caso, Endereços e Países, por sua vez, têm referências a outras tabelas.
Cada referência de tabela tem estas duas características:
- Modo de referência: Descreve a relação entre a tabela e a tabela referenciada. As opções são:
-
Obrigatório: O campo da tabela deve conter um valor presente na tabela de referência. Por exemplo, a referência de Endereços a Países é obrigatória. Ou seja, cada endereço deve ter um país; caso contrário, não será possível salvar o endereço.
Para o compartilhamento de tabelas, isso significa que, se a tabela de endereços for compartilhada, a tabela de países também deverá ser compartilhada.
-
Obrigatório somente se estiver em branco: O campo da tabela pode ficar vazio. Se o campo da tabela estiver preenchido, o valor do campo deverá estar presente na tabela de referência. Por exemplo, a referência de Componentes de software implementados a Endereços é obrigatória somente se estiver em branco. Sendo assim, o endereço na tabela Componentes de software implementados é opcional.
Para o compartilhamento de tabelas, isso significa que, se a tabela Componentes de software implementados for compartilhada, será possível compartilhar o endereço. No entanto, se a tabela de endereços não for compartilhada, o endereço na tabela Componentes de software implementados deverá ficar em branco. Observe que a decisão de não compartilhar a tabela de endereços não pode ser feita apenas com base nas referências da tabela. Muitas vezes, existe uma funcionalidade que requer que você preencha um campo.
-
Não obrigatório: O campo da tabela pode conter um valor que está presente na tabela de referência, mas também pode conter outro valor.
Se o modo de referência não for obrigatório, não será necessário compartilhar a tabela referenciada caso a tabela primária seja compartilhada.
-
- Tipo de referência:
- Referência permanente: Uma referência de uma tabela para outra definida no dicionário de dados.
- Referência provisória: Uma referência de uma tabela para outra integrada em um script de programa ou uma biblioteca.
Se os dados forem compartilhados, todos os dados com referência também poderão ser compartilhados. Isso pode depender se os dados são obrigatórios, obrigatórios somente se estiverem em branco ou não obrigatórios. As tabelas referenciadas são importantes na integridade referencial dos dados.
Quando as tabelas estão vinculadas logicamente, a tabela referenciada deve ser vinculada também, principalmente no caso de dados obrigatórios. No caso de dados não obrigatórios, os campos podem ter valores diferentes em companhias diferentes, desde que existam na companhia que faz referência aos valores. Sendo assim, a tabela principal pode ser compartilhada por meio de transações distribuídas. A tabela referenciada pode ser específica da empresa ou pode ser replicada.
Exemplo: A opção Dados do item geral (tcibd001) é compartilhada por mais de uma companhia. Existem muitos campos referenciados no arquivo de item, como grupos de itens e dados de unidade.
Se o arquivo de item estiver vinculado logicamente, deverá haver os mesmos valores exatos para todos os campos obrigatórios referenciados em ambas as companhias, como grupos de itens e assim por diante. Essas tabelas referenciadas são normalmente vinculadas logicamente. Se não forem utilizados campos não obrigatórios (ou seja, tipo de produto), as tabelas referenciadas não deverão ser vinculadas logicamente.
Se uma tabela for replicada, os campos referenciados poderão ter diversos valores, desde que esses valores existam na companhia que faz referência aos valores. Durante a replicação, os valores são alterados. No caso de campos não obrigatórios, não será necessário ter os dados referenciados compartilhados se o campo da tabela não for usado.
Exemplo: Caso o arquivo Dados do item geral (tcibd001) seja replicado, os programas devem ser capazes de referenciar todos os campos obrigatórios (ou seja, grupos de itens) na companhia que utiliza os dados. O valor dos campos obrigatórios não precisa ser o mesmo nas duas companhias, desde que o valor em referência exista na companhia que o referencia. Se não forem utilizados campos não obrigatórios (ou seja, tipos de produto), não será necessário replicar as tabelas referenciadas.
Em alguns casos, haverá muitos níveis de referências. As referências podem ser longas e complexas. Por exemplo, o arquivo de itens faz referência a tabelas, como grupos de itens e outras tabelas MCS, além de dados de engenharia, listas de materiais, roteiros e dados de contabilização de custos. Por esses motivos, e porque as tabelas podem ser compartilhadas de várias maneiras em cada implementação, as referências de tabela devem ser investigadas em detalhes para cada implementação.