[firebase-br] Ajuda projeto

Qatan wanstadnik em gmail.com
Seg Jan 19 12:25:11 -03 2015


Olá Gladiston (e outros),

Antes de mais nada obrigado pela explicação.
Acho que é como eu imaginava... No caso acho mais negócio usar a opção NO
ACTION pois por padrão eu nunca uso códigos alteráveis como chave de alguma
tabela. As chaves são sempre INTERNAS nas tabelas e NUNCA acessíveis ao
usuário.
Já o código pode ser alterado livremente pois não vai afetar a integridade
das tabelas (se é que estão interligadas corretamente).

Porém... não sei se entendi uma coisa...  Por exemplo: Eu tenho a tabela
mestre com cliente ID 35 e na tabela adicional o telefone daquele cliente.
Se eu deletar o cliente, tem como automaticamente deletar todos registros da
tabela acional ligadas a ele? Seria isso o efeito CASCADE? (não sei se
entendi isso bem...)

Bem, vou fazer uns testes aqui... e na caminhada vou perguntando mais... mas
você poderia dar uma olhada na base em anexo e dar alguns palpites? Pode
criticar que não estou procurando defender minha "obra", estou querendo
aprender!
Estou procurando amarrar tudo, usando tabelas auxiliares (adicionais) à
tabela principal (mestre) - com uso de domínios e auto-incremento nas
primary keys. Sendo que para cada tabela criei um gerador separado (prefiro
assim do que um gerador universal). No caso não estou procurando qualquer
tipo de replicação (como seria o caso de adicionar o código da sucursal, por
exemplo).

Algumas dúvidas:
==============
Aparentemente eu tenho que explicitamente declarar um campo (coluna) como
NOT NULL para cada FK (foreign key) que eu criar na tabela, isso mesmo? Eu
pergunto pois notei que quando criei a FK de uma tabela e depois fui testar
(adicionando dados pelo IBExpert) notei que ele permitiu adicionar um
registro (linha) deixando o campo FK NULL (!!!) achei que isso não deveria
ser assim pois deixaria o registro órfão (no meu caso...)

Outra dúvida é que eu queria saber como posso fazer para verificar (CHECK)
numa situação especial como por exemplo:
Tenho 5 campos tipo "boolean"(usando 0 e 1 ) num registro, todos são
opcionais mas pelo menos UM DELES tem que ter o valor 1 (ou vários, mas
nunca todos com valor 0)... Esse é o caso da tabela "ENTITY" (campos
começando por "TYPE_")

Muito obrigado pela ajuda.
Cordialmente,

Qatan

PS: LINK PARA DOWNLOAD DA BASE:  http://dropcanvas.com/bqwy8





Mais detalhes sobre a lista de discussão lista