Por ser o Microsiga Protheus um Sistema com suporte a diversos bancos de dados, a integridade relacional das entidades não é definida no SGBD e sim na aplicação. Isso significa que não é necessário criar Constraint no banco para isso.
Na tabela de SX9 que iriemos definir como as entidades se relacionam e sua cardinalidade.
A cardinalidade definem o tipo de ligação entre as tabelas.
- 1 para 1: Relacionamento de 1 registro da tabela Domínio para 1 registro da tabela de Contra Domínio.
- 1 para N: Relacionamento de 1 registro da tabela Domínio para N registros da tabela de Contra Domínio.
- N para 1: Relacionamento de N registros da tabela Domínio para 1 registro da tabela de Contra Domínio.
- N para N: Relacionamento de N registros da tabela Domínio para N registros da tabela de Contra Domínio.
Campos | Tipo | Descrição |
X9_DOM | Caracter | Nome da tabela de domínio |
X9_IDENT | Caracter | Seqüencial dentro da tabela |
X9_CDOM | Caracter | Nome da tabela de contra-domínio |
X9_EXPDOM | Caracter | Expressão advpl que definirão a regra do relacionamento do domínio |
X9_EXPCDOM | Caracter | Expressão advpl que definirão a regra do relacionamento contra-domínio |
X9_PROPRI | Caracter | Prioridade do Relacionamento, quando com S - Sistema , quando U –Usuário |
X9_LIGDOM | Caracter | Define a cardinalidade do domínio. Valores aceitos “1” e “N” |
X9_LIGCDOM | Caracter | Define a cardinalidade do contra domínio. Valores aceitos “1” e “N” |
X9_CONDSQL | Caracter | Indica uma condição SQL para filtrar os dados que serão relacionados da tabela de contra domínio |
X9_USEFIL | Caracter | Determina se ira utilizar o campo de filial para compor a chave. |
X9_ENABLE | Caracter | Relacionamento ativo se estiver preenchido com S |
X9_VINFIL | Caracter | Indica se existe vínculo do modo de compartilhamento de filiais entre as tabelas. A princípio se marcada faz com que a tabela atual tenha que respeitar o modo da tabela Domínio, caso a tabela Domínio seja Compartilhada a contra-domínio pode ser Exclusiva ou Compartilhada. Caso a tabela Domínio seja Exclusiva a contra-domínio deverá ser Exclusiva. ATENÇÃO: Esta opção percorre toda a estrutura de domínios e contra-domínios. Valores permitidos vazio, “1” para sim e “2” para não |
X9_CHVFOR | Caracter | Caso o campo X9_VINFIL esteja com 1, esta opção pode forçar um vínculo mais forte, onde a tabela Contra-Domínio deverá ter seu modo de compartilhamento igual a tabela Domínio. ATENÇÃO: Esta opção percorre toda a estrutura de domínios e contra-domínios. Valores permitidos vazio, “1” para sim e “2” para não |