2011/8/22 Leandro Guimarães Faria Corcete DUTRA <[email protected]>:
>> Impressão minha ou vc propositalmente ignorou o Teorema de Codd?
>
> Hm, sem presunção de boa vontade fica difícil debater.

Estou assumindo minha boa vontade. mas pouca dedicação e tempo para o assunto.

>        Mas, presumindo que não houvesse presunção de má vontade, o teorema
> de Codd nada tem a ver com a mistureba que a SQL é.  Ele equivale álgebra e
> cálculo; e a SQL é, de fato, não apenas ‘relacionalmente’ como

Só pra não virar ainda mais a "salada":

Eu não quiz dizer q a a SQL faz parte deste teorema – ele parece ser
mais antigo q meu pai, enquanto a SQL não é –  mas se for um pouquinho
além das linguagens declarativas, vai perceber q ambas (Quel e SQL)
são baseadas no cálculo de tuplas do cálculo relacional que compõe o
teorma, entendeu?

Diga-se de passagem, o cálculo de domíinio também utiliza alguns
poucos operadores herdados do cálculo de tuplas e ambos compõe o que
conhecemos por cálculo relacional que é equivalente a álgebra
relacional, como já mencionado pelo Prof. Euler.

> computacionalmente completo; mas a mistura de álgebra e cálculo, mais os
> desvios do modelo relacional (que, infelizmente, o Ingres Quel acabou
> incorporando), mais todos os outros defeitos da linguagem em si, tornam a
> SQL uma linguagem muito inferior ao que poderia ter sido.

Concordo com as deficiências da SQL (é ignorância discordar), mas daí
pra substituir pelo Quel, sei lá...

>        O Date conta essa história, acho que não a preciso repetir…

Sim, acho que lá está  mais claro, inclusive para seres mortais tal como sou.

>> Definitivamente isto não é verdade, pelo menos não nos tempos atuais.
>
> Referes-te ao Quel abastardado pelo SQL que o Ingres carrega?

Já falei que sou novato neste universo, conheci o Ingres num único
trabalho relâmpago que fizemos para uma revista, e só tive a
oportunidade de utilizar uma linguagem (Quel) nele.

De lá pra cá somente baixei o código fonte pra entender um pouquinho
melhor sobre suas estruturas e conceitos e sinceramente nada novo.

Quer algo realmente conceitualmente interessamte? Veja a implementação
do Rel ou talvez do Alphora Datafor (caso tenha acesso ao fonte).
Esses sim, parecem ter feito valer as especificações do Tutorial D e
da álgebra relacional em si.

>> Trabalhar explicitamente utilizando RelVars não pode ser mais simples
>> do que acessar os dados diretamente.
>
> Eu sabia que eu estava forçando a barra… pronto, agora já não entendi nada.

Relvar = Variável de relação;

range for c is cliente    /* c é a variável da relação cliente
incluindo suas restrições (restrictions)
declare cursor cu for retrieve (total=max(cu.id_cliente))  /* cursor
open cursor cu loop [...] /* projeção ...

Não preciso fazer a equivalência em SQL, preciso?

>> Aparte das questões do EQUEL (que o postgres resolve muito bem com
>> ECPG), qual exatamente outro aspecto do Quel que o deixa mais
>> "poderoso" que o SQL?
>
> Ao ser baseado no cálculo, e não numa mistura, é mais expressiva.

Qual cálculo?

>> Se operadores, rewrite, objetos, recursividade não tem nada a ver com
>> linguagem, então definitivamente percebi que não sei o q estou
>> falando.
>
> Nada disso é particular ao SQL ou ao Quel, podendo ser implementado nas
> duas.  Só que, no Quel, com mais elegância.

Hmm.. talvez falte a leitura: "The design of Postgres" ?

>>> Pelo contrário.  Ter duas linguagens pode ser mais simples do ponto de
>>> vista de manutenção do código-fonte do SGBD, mas ter uma única linguagem
>>> complexa e inconsistente é ruim para o usuário.
>>
>> Não é mais simples manter duas linguagens no SGBD, acredite.
>
> Definitivamente, ou não consigo me expressar ou, no afã de argumentar, não
> me lêem.  Acabas de repetir o que eu disse sem perceber o que eu quis dizer.

Desculpe novamente, acho q vc já me conhece o suficiente e portanto
sabe da minha conhecida dificuldade de entender e se expressar.

Não vou ligar se quiser encerrar o discurso por aqui, mas prometo q se
houverem próximos e-mails tentarei me concentrar ao máximo antes de
responder.

>        Sim, concordo que manter duas linguagens é mais complicado, e entendo
> que essa pode ter sido a razão de abandonar a Quel.  Mas, para o aprendiz,
> ter uma linguagem baseada em cálculo, e não a bagunça que o SQL é, seria
> mais simples e levaria a uma melhor qualidade de aprendizado.

Concordo, mas substituindo a linguagem por uma implementação mais
elegante e próxima da álgebra.

>> Simplicidade é subjetivo.
>
> Não.

Sim.

Abraço!

-Leo
-- 
Leonardo Cezar
http://postgreslogia.wordpress.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a