Mais de uma referëncia para a mesma tabela

Destinado ao auxílio e Troca de informações sobre a ferramenta Xmaker
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
joelmva
Mensagens: 22
Registrado em: Junho 21st, 2011, 9:58 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Mais de uma referëncia para a mesma tabela

Mensagempor joelmva » Junho 25th, 2011, 11:45 pm

Olá pessoal.

Estou testando XMAKER e estas são minhas primeiras dúvidas.
Tenho uma tabela chamada CADASTRO e nela tenho registros correspondente a dados diferentes. Ao invés de ter uma tabela para departamentos, outra para gerentes e outra para setores. Tenho isso em uma única tabela e o que diferencia um registro do outro é o campo CLASSE:
Tabela CLASSE
ID_CLASSE NOME
1 DEPARTAMENTOS
2 GERENTES
3 SETORES

Tabela CADASTRO
ID_CADASTRO ID_CLASSE NOME
1 1 DEPARTAMENTO 1
2 2 GERENTE 1
3 3 SETOR 1
4 1 DEPARTAMENTO 2
5 1 DEPARTAMENTO 3
6 3 SETOR 2
7 2 GERENTE 2

Tabela FUNCIONARIO
ID_FUNCIONARIO NOME DEPARTAMENTO GERENTE SETOR
1 JOAO 1 2 6
2 JOSE 4 7 3

1) Como eu faço a referência e integridade referencial no momento da definição da tabela "FUNCIONARIO"?
2) Quando eu criar o formulário de entrada de dados, como eu aplico filtros para pegar apenas os registros
correpondentes a cada classe?
3) E nos relatórios? Como exibir apenas os registros da classe escolhida?

Suporte
Site Admin
Mensagens: 145
Registrado em: Dezembro 20th, 2010, 10:05 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Mais de uma referëncia para a mesma tabela

Mensagempor Suporte » Junho 27th, 2011, 9:59 am

Olá,

Poderia exemplificar melhor(com dados) o que cada tabela tem, para entendermos melhor?
Nos parece um relacionamento simples e ref. ao relatório... o que for feito para a tabela é herdado no Rel. assim
você não precisa se preocupar...

Popule com exemplo de como você quer e informe os nomes de campos e chaves de acesso de suas tabelas para que possamos montar seu relacionamento.

Se você quiser pode nos enviar seu projeto de testes para montarmos para você.

Não esqueça porém de exemplificar para podermos entender melhor.
Att,

Suporte - suporte@xmaker.com.br
Equipe Xmaker
_______________
http://www.xmaker.com.br

joelmva
Mensagens: 22
Registrado em: Junho 21st, 2011, 9:58 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Mais de uma referëncia para a mesma tabela

Mensagempor joelmva » Junho 27th, 2011, 11:09 am

Olá,

Estou detalhando melhor.
Na verdade, a grande dúvida é como estabelecer os filtros no formulário para quando o usuário estiver escolhendo "departamentos", não parecer registros de "setores" e "gerentes".
E se essa seleção não é onerosa para o banco causando lentidão no processo.

TABELA "CLASSE"
id_classe -> 1
nome -> DEPARTAMENTOS

id_classe -> 2
nome -> GERENTES

id_classe -> 3
nome -> SETORES


TABELA "CADASTRO"
id_cadastro -> 100
id_classe -> 1
nome -> DEPARTAMENTO 1

id_cadastro -> 101
id_classe -> 2
nome -> GERENTE 1

id_cadastro -> 102
id_classe -> 3
nome -> SETOR 1

id_cadastro -> 103
id_classe -> 1
nome -> DEPARTAMENTO 2

id_cadastro -> 104
id_classe -> 1
nome -> DEPARTAMENTO 3

id_cadastro -> 105
id_classe -> 3
nome -> SETOR 2

id_cadastro -> 106
id_classe -> 2
nome -> GERENTE 2

TABELA "FUNCIONARIO"
id_funcionario -> 1001
nome -> JOAO
departamento -> 100
gerente -> 101
setor -> 102

id_funcionario -> 1002
nome -> JOSE
departamento -> 103
gerente -> 106
setor -> 105

Gustavo
Mensagens: 244
Registrado em: Dezembro 22nd, 2010, 1:05 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Mais de uma referëncia para a mesma tabela

Mensagempor Gustavo » Junho 28th, 2011, 11:36 am

Olá,

o seu caso é semelhante ao um exmplo que postamos no forum.


Você terá que criar tabelas virtuais da tabela CADASTRO para poder relacionar com a tabela de FUNCIONARIO, visto que é necessário "puxar" os dados dos campos "gerente" e "setor" da tabela CLASSE
Att,

Gustavo Barreto
;)

joelmva
Mensagens: 22
Registrado em: Junho 21st, 2011, 9:58 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Mais de uma referëncia para a mesma tabela

Mensagempor joelmva » Junho 29th, 2011, 8:39 am

Olá Gustavo,

No exemplo indicado, há uma duplicação da tabela "Fornecedores". Não sei como ela foi criada mas se tivermos que repetir todos os campos para criar uma tabela virtual, a possibilidade de erros é grande.
Eu fiz o seguinte e corrija-me se estiver errado:
- Na tabela 'FUNCIONARIOS' eu fui em HERDAR e selecionei o campo "id_classe' da tabela CADASTRO.
- No campo ID_CADASTRO eu alterei o "nome do objeto" para "ID_CADASTRO_DEPARTAMENTO' e criei as integridades referenciais.
- Repeti a operação e rebatizei o campo para "ID_CADASTRO_GERENTE"
- Repeti a operação e rebatizei o campo para "ID_CADASTRO_SETOR"

Desse modo eu fiquei com três campos referenciando a mesma tabela.
Minha dúvida agora é como estabelecer um filtro no formulário para que cada campo só mostre os registros da tabela CADASTRO que lhe são particulares (usando o campo ID_CLASSE como elemento de filtro).

Gilberto
Mensagens: 65
Registrado em: Janeiro 12th, 2011, 10:03 am
Localização: Ribeirão Preto SP
Contato:

Re: Mais de uma referëncia para a mesma tabela

Mensagempor Gilberto » Junho 29th, 2011, 4:11 pm

Eu acredito que a solução seira usar tabelas virtuais.
Nos relacionamentos usar filtragem fixa.

joelmva
Mensagens: 22
Registrado em: Junho 21st, 2011, 9:58 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Mais de uma referëncia para a mesma tabela

Mensagempor joelmva » Junho 29th, 2011, 6:20 pm

Olá Gilberto,

Existem uma maneira de se criar tabelas virtuais a partir de uma tabela existente, copiando todos os seus campos e relacionamentos? Ou é no braço mesmo?
Nesse caso, se eu tiver quatro tabelas virtuais e criar um novo campo, tenho que replicar isso para as outras tabelas?

Não entendi como é criado esse tipo de tabela.

Gustavo
Mensagens: 244
Registrado em: Dezembro 22nd, 2010, 1:05 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Mais de uma referëncia para a mesma tabela

Mensagempor Gustavo » Junho 30th, 2011, 8:56 am

O que você tem que fazer é criar a tabela virtual e na propriedade "Nome Físico" escolher qual tabela já existente a virtual irá pertencer.

Para não criar no braço todos os campos da tabela existente, selecione a tabela virtual criada e depois é só clicar no botão "Herdar" e escolher os campos de qual tabela quer herdar.

tabela_virtual.jpg
Você não está autorizado a ver ou baixar esse anexo.
Att,

Gustavo Barreto
;)

megafsem
Mensagens: 21
Registrado em: Janeiro 25th, 2011, 9:25 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Mais de uma referëncia para a mesma tabela

Mensagempor megafsem » Junho 30th, 2011, 12:05 pm

Gustavo
parabéns, eu estava com um problema parecido e a solução foi perfeita

joelmva
Mensagens: 22
Registrado em: Junho 21st, 2011, 9:58 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Mais de uma referëncia para a mesma tabela

Mensagempor joelmva » Junho 30th, 2011, 11:48 pm

Olá Gustavo.

Bom, se não tem outro jeito...
No meu caso, por padrão, tabelas básicas de apoio que contém geralmente somente os campos código e nome, eu agrupo numa uma única tabela chamada "CADASTRO". eX: CATEGORIA, GRUPO, SUBGRUPO, DEPARTAMENTO, GERENTES, UNIDADES DE MEDIDA, etc.
Imaginem então a quantidade de tabelas virtuais que terei que criar. Já tive sistemas com mais de 20 dessas tabelas.

Se alguém tiver alguma outra dica que não seja criando as tabelas virtuais...

Abraços.


[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Voltar para “Xmaker”

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 13 visitantes