[firebase-br] Duvida com views

Gabriel Bonzanini gabriel.bonzanini em gmail.com
Seg Jul 29 17:29:55 -03 2019


Olá Marcelo.

Não acredito que exista uma quantidade recomendada de campos para uma
tabela. O que eu recomendaria é observar se o campo está sendo criado no
local correto; se a propriedade em questão pertence ao objeto em questão.

Se a informação puder ser expandida (relação 1 para N) deve ser criada uma
tabela detalhe (filha). Fora isto, quando a relação é de 1 para 1, você
pode querer separar os campos blob para aumentar desempenho em alguns
locais do sistema (buscar um campo blob é relativamente custoso). Depende
muito do volume de dados, mas geralmente os campos podem ficar juntos sem
maiores problemas.

Em seg, 29 de jul de 2019 17:04, Marcelo - MK Softwares <
marcelo em mksoftwares.com.br> escreveu:

> Puxa vida é mesmo, não tinha visto.
>
> Agora surgiu outra dúvida:
>
> Sei que não é legal uma tabela ter muitos campos, mas qual é um número
> bom, qua não prejudique a performance e nem usuabilidade?
>
>
>
> Em 29/07/2019 15:35, Fernando Alécio escreveu:
> >
> > Marcelo o Cantú respondeu essa dúvida sua logo no início do tópico.
> >
> > Em 29/07/2019 15:17, Marcelo - MK Softwares escreveu:
> >> Caro Helio, me desculpe, acabei respondendo pra você em vez de mandar
> >> no: lista em firebase.com.br
> >>
> >> Respondendo as informações
> >>
> >> Quando citei no exemplo Campo1, campo2 e minhatabela e minhaview,
> >> eram apenas como exemplo.
> >>
> >> Claro que não vou criar uma view com apenas 3 campos, elas serão
> >> usadas como o colega citou para fazer joins em outras tabelas,
> >> retornando vários campos.
> >>
> >> Mas com relação a minha dúvida: é melhor usar * representando todos
> >> os campos, ou descrever campo a campo dentro do select?
> >>
> >> */Atenciosamente:/*
> >> */Marcelo Krol/*
> >> /Proprietário/     _/Marcelo Krol Softwares/_
> >> Rua Presidente Vargas, 450 - Centro
> >> CEP: 84550-000 - Rebouças - Paraná
> >> Tel.: (42)3457-2653 ou (42)99906-5650
> >> /www.mksoftwares.com.br <http://www.mksoftwares.com.br>
> >> marcelo em mksoftwares.com.br <mailto:marcelo em mksoftwares.com.br>
> >> Skype: marcelo.krol/
> >>
> >> ------------------------------------------------------------------------
> >> _/*Aviso 1:*/_ 'Esta mensagem é direcionada apenas para os endereços
> >> constantes no cabeçalho inicial. Se você não está listado nos
> >> endereços constantes no cabeçalho, pedimos-lhe que desconsidere
> >> completamente o conteúdo dessa mensagem e cuja cópia, encaminhamento
> >> e/ou execução das ações citadas estão imediatamente anuladas e
> >> proibidas'.
> >> _/*Aviso 2:*/_ 'Apesar da MK SOFTWARES tomar todas as precauções
> >> razoáveis para assegurar que nenhuma virose esteja presente nesse
> >> e-mail, a empresa não poderá aceitar a responsabilidade por quaisquer
> >> perdas ou danos causados por esse e-mail ou por seus anexos'.
> >> ------------------------------------------------------------------------
> >>
> >> Em 29/07/2019 11:50, Hélio Oliveira escreveu:
> >>> Com certeza Cantu!
> >>>
> >>> Agora há situações em que ele pode estar criando uma view pelo
> >>> simples fato de necessitar fazer junção com outras tabelas e
> >>> retornar alguns valores destas e nesta situação eu também
> >>> recomendaria o uso de SPs.
> >>>
> >>> Por exemplo:
> >>>
> >>> SELECT A.CODIGO, A.NOME, A.ENDERECO, A.CEP, B.NOME
> >>> FROM CLIENTES A
> >>>   JOIN CIDADE B ON (B.CODIGO_CIDADE = A.CODIGO_CIDADE)
> >>>
> >>> Neste simples exemplo se ele tiver uma tabela de cidade populada com
> >>> todas cidades dos Estados Brasileiro, ele pode ter um grande ganho
> >>> montando uma estratégia onde ele irá verificar o código da cidade
> >>> anterior sendo diferente ele busca no nome, caso contrario não e
> >>> assim sucessivamente.
> >>>
> >>> Em 29/07/2019 11:03, Carlos H. Cantu escreveu:
> >>>> A procedure selecionável só faz sentido se a informação devolvida
> >>>> precisar ser manipulada de alguma forma (através de cursores, etc) pra
> >>>> gerar o resultado, do contrário.
> >>>>
> >>>> Simplesmente jogar o select dentro de uma procedure não trará
> >>>> benefício nesse sentido.
> >>>>
> >>>> []s
> >>>> Carlos H. Cantu
> >>>> eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
> >>>> www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
> >>>>
> >>>> HO> Bom dia!
> >>>>
> >>>> HO> Como bem respondeu Cantu, evite o famoso "SELECT * FROM
> >>>> MINHATABELA"
> >>>>
> >>>> HO> Uma sugestão... porque o amigo não utiliza Stored Procedures
> >>>> HO> selecionáveis ao invés de Views, a depender da quantidade de
> >>>> dados que
> >>>> HO> essas tabelas irão receber um determinado momento você poderá ter
> >>>> HO> problema de lentidão.
> >>>>
> >>>> HO> Em 28/07/2019 10:15, Marcelo - MK Softwares escreveu:
> >>>>>> Bom dia
> >>>>>>
> >>>>>> Estou adequando o meu sistema e estou fazendo mais uso de Views. Com
> >>>>>> isso surgiu uma dúvida: Quando vou chamar uma view no meu
> >>>>>> software, o
> >>>>>> que é mais rápido ou viável, ou ainda, qual a melhor prática para
> >>>>>> a sua
> >>>>>> execução? Segue exemplos:
> >>>>>>
> >>>>>> Método 1: select * from minhaview v where v.meucampo1 = 1;
> >>>>>>
> >>>>>> ou
> >>>>>>
> >>>>>> Método 2: select v.meucampo1, v.meucampo2, v.meucampo3 from
> >>>>>> minhaview v
> >>>>>> where v.meucampo1 = 1;
> >>>>>>
> >>>>>> Ressalto que a "execução" que me refiro acima é para o banco de
> >>>>>> dados,
> >>>>>> não para o aplicativo.
> >>>>
> >>>>
> >>>> ______________________________________________
> >>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
> >>>> http://www.firebase.com.br/fb/artigo.php?id=1107
> >>>> Para consultar mensagens antigas:
> >>>> http://www.firebase.com.br/pesquisa_lista.html
> >>>>
> >>>
> >>>
> >>>
> >>> ______________________________________________
> >>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >>> Para saber como gerenciar/excluir seu cadastro na lista, use:
> >>> http://www.firebase.com.br/fb/artigo.php?id=1107
> >>> Para consultar mensagens antigas:
> >>> http://www.firebase.com.br/pesquisa_lista.html
> >> ______________________________________________
> >> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >> Para saber como gerenciar/excluir seu cadastro na lista, use:
> >> http://www.firebase.com.br/fb/artigo.php?id=1107
> >> Para consultar mensagens antigas:
> >> http://www.firebase.com.br/pesquisa_lista.html
> >>
> >
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas:
> > http://www.firebase.com.br/pesquisa_lista.html
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>



Mais detalhes sobre a lista de discussão lista