O colega levantou em particular assunto que creio que é relevante para
lista.  Se alguém discordar, me perdoe!


2015-09-10 21:00 GMT-03:00 Flávio Silveira <[email protected]>:
> Boa noite Dutra,

Boa tarde!


>   Não sei se posso te chamar assim, mas vejo que é assim que o pessoal da
> lista te chama.

Pode, claro.  Acho meio engraçado, meio formal — nem na Europa me
chamavam muito assim —, mas creio que é porque ‘Dutra’ é mais raro que
‘Leandro’.


>   Tomei a liberdade de te mandar esse e-mail diretamente pois tenho duas
> perguntas que não creio que se encaixem com o propósito da lista

A primeira creio que é totalmente relevante, então tomo a liberdade de
responder na lista.


> e também
> porque te acho um cara com profundo conhecimento no assunto e muito
> respeitado.

Estou meio afastado da área — na verdade, há quase cinco anos que meu
maior contato é justamente esta lista —, e nunca tive a amplitudo e
profundidade de conhecimento técnico do Euler ou do Fernando Ike, por
exemplo, correndo o risco de ser injusto por dar apenas exemplos e não
uma lista completa de gente da comunidade PostreSQL com quem eu teria
de aprender muito para poder voltar à ativa na área.  Mas, no que eu
puder ajudar…


>   Minha primeira pergunta se refere basicamente a regras da lista,
> PostgreSQL é o banco que eu pretendo usar em praticamente tudo que eu vá
> desenvolver e por esse motivo eu acabo achando que todos os assuntos
> relacionados a SQL podem ser postados na lista, o que eu sei que não é o
> caso. Então para ser mais objetivo, a pergunta é: Questões relacionadas a
> modelagem podem ser postadas na lista?

Sim, creio que podem.  Isso já foi debatido, não lembro se já na atual
lista ou se ainda em uma de suas ancestrais, das quais a principal é a
do Yahoo, cujo histórico talvez ainda esteja disponível, e se não me
engano o resultado foi que sim, podem ser postadas, desde que não seja
para ajudar a modelar para outros SGBDs.  Até porque como se modela
está em parte condicionado pelo SGBD, já que nem o PostgreSQL nem o
ISO SQL correspondem exatamente ao modelo relacional, e que os outros
SGBDs não têm as capacidades que o PostgreSQL tem para modelagem, por
serem menos conformes tanto ao ISO SQL quanto ao modelo relacional.


>   Eu postei recentemente a questão dos códigos postais que tiveram
> contribuição sua e do Gurgel se não me engano, mas tenho o sentimento que
> isso não é exatamente o propósito da lista, ou se é algo relacionado a minha
> abordagem.

Eu não me preocuparia com isso.  Se por acaso a lista começar a ficar
muito lotada desse tipo de problemas a ponto de incomodar, a gente
cria uma lista específica.  Aliás, uma vez criaram uma para discussões
conceituais, e não deu ibope.  Nem lembro mais do endereço.


>   Resolvi te fazer essa pergunta pela recente flamewar na lista, como você
> pôde perceber eu sou bem novato em banco de dados e realmente não gostaria
> que acontecesse algo semelhante comigo por causa de perguntas bestas, então
> achei prudente perguntar.

O importante é saber se comportar na lista.  A lista é voluntária,
então é bom primeiro relevar algo que não agrade à primeira vista;
segundo, tentar entender da melhor maneira possível; terceiro, pedir
desculpas mesmo quando a culpa não foi exatamente sua, e aceitar
pedidos de desculpas prontamente em vez de requentar assunto.
Infelizmente, temos esse traço cultural brasileiro que é a (falsa)
‘intimidade instatânea’, que combinada a um baixo nível educacional
que leva a dificuldades na compreensão de textos, acaba resultando em
disputas de egos numa proporção ainda maior do que a que já ocorre em
outras listas semelhantes no Exterior.


>   A segunda pergunta é mais relacionado a conselhos. Como disse acima, li
> alguns livros sobre modelagem relacional, inclusive o que você me recomendou
> quando entrei na lista (Introdução a Sistemas de Bancos de Dados -
> Christopher Date), mas ainda não terminei de ler, e tive um semestre de
> modelagem relacional (o que não quer dizer nada, pois por ser um tecnólogo o
> professor focou mais em práticas do mercado do que conceitos)

Infelizmente, essa é uma péssima desculpa para seu professor.  Esse é
um pecado capital das escolas brasileiras.  Pouquíssima gente ensina
sequer os conceitos básicos, o que torna a aplicação das ’práticas de
mercado’ deficiente, quando não perversa!


> mas ainda
> tenho certa dificuldade para modelar, como se eu me sentisse mais seguro se
> eu tivesse alguém para discutir meu raciocínio.
>
>   Perguntas:
>
>   a) Isso é normal ou isso é falta de base teórica?

Isso é absolutamente normal.  Além do fato de que demora um tempo para
os conceitos realmente assentarem na nossa cabeça, modelagem diz
respeito a reduzir a um modelo nossa compreensão da realidade, que
nunca é exaustiva ou sequer perfeita.  Junte-se a isso as limitações
tanto do ISO SQL quanto de suas implementações (inclusive do
PostgreSQL), e modelagem ganha foros não apenas de aplicação de
técnicas, mas até de sabedoria.

Agora, se você tiver problemas específicos, pode ser que ainda falte
algo de suas leituras, ou da compreensão das mesmas.  Do que você
levantou até agora, não percebi nada nesse sentido.


>   b) Se isso é normal, onde eu poderia encontrar alguém para discutir
> comigo? Somente networking?

Creio que, no nomento, o melhor é esta lista mesmo.  Mas, para coisas
pequenas do dia-a-dia, o ideal é ter um colega com mais ou menos a
mesma preocupação de fazer bem feito e com uma boa base conceitual,
para discutir sem parar para escrever uma mensagem para a lista.


> E se for falta de base, o que mais posso fazer
> para melhorar?

Você já está lendo o principal livro-texto.  Recomendo que o termine,
e leia outras coisas do mesmo autor ou de pessoas da mesma linha:
Fabian Pascal, Edward F ’Ted’ Codd, David McGoveran, Hugh Darwen…
também pode ajudar explorar um pouco a história da área, para entender
de onde viemos (artigo original do Codd, artigos históricos espalhados
pela Internet como por exemplo sobre System R, Ingres University Quel
ou IBM BS 12), e até as coisas que se está tentando criar (Terceiro
manifesto, implementação transrelacional, dados temporais…), tanto
para contextualizar como para entender os limites tanto da tecnologia
como da cultura técnica em que vivemos.

Especificamente, o Fabian Pascal tem um livro muito interessante sobre
a aplicação dos conceitos relacionais (esqueci o título agora, procure
na Amazon) e o Date tem um sobre projeto (_Database design &
relational theory_) e outro sobre lógica (_Logic & databases_) que eu
tentaria olhar prioritariamente, a começar pelo Pascal.  Depois de
tudo isso, você já terá um boa idéia de por onde estender seus
estudos, mas boas dicas seriam _Database explorations_ do Date e do
Darwen, e _Database in depth_ do Date.  Para um ponto de vista um
pouco diferente desse trio (Darwen, Date, Pascal), que é muito
alinhado entre si, talvez também fazer questão de procurar algo do
Codd (o pai de todos) e do McGoveran (um cara ainda alinhado, mas mais
pragmático).

Claro que leitura não é tudo, longe disso.  A leitura será muito mais
proveitosa se você tiver a oportunidade de tentar praticar o que lê,
constantando tanto as limitações tecnológicas atuais quanto
eventualmente até erros da literatura, ou instâncias onde ela é
otimista demais quanto à aplicabilidade dos conceitos.


[…]
>   Entenderei perfeitamente se achar que tudo que eu disse não mereça ser
> respondido, ainda estou buscando caminhos, mas desde já agradeço imensamente
> a leitura deste e-mail.

Merece e muito, creio.  E ofereço um conselho final: muita paciência e
persistência.  Roma não se fez um dia.  Depois que a gente sai da
faculdade, às vezes quer respostas prontas para tudo, e se esquece que
só chegamos lá depois de pelo menos doze anos de escola…
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a