2011/10/15 Tiago Adami <adam...@gmail.com>:
>
> Eu vi muito pouco sobre a teoria relacional nos bancos da faculdade de
> sistemas de informação, e sempre o vejo dizer que SQL não é/pouco é
> relacional contrariando todo o conceito que adquiri durante os anos
> (assim como o primeiro parágrafo em
> http://en.wikipedia.org/wiki/Relational_database_management_system).

Sim, a máquina de propaganda dos vendedores SQL é muito forte, e o
processo de consenso da Wikipédia, que você mencionou, não funciona
bem em temas polêmicos.  Outro exemplo é o que está escrito na
Wikipédia sobre a MS e o MS Windows, que evita tudo que é espinhoso e
definitivo.


> Também não vou lhe pedir uma aula aqui, mas gostaria de perguntar
> meramente por curiosidade e espírito científico: existe alguma
> implementação "100% modelo relacional"?

Várias, mas nenhuma comparável ao PostgreSQL em maturidade.
Geralmente, são acadêmicas.  Há uma lista em
http://www.thethirdmanifesto.com/.


> O quer dizer dos bancos de
> dados ditos "relacionais" assim como o PostgreSQL?

A linguagem SQL viola vários princípios relacionais, mas é o que mais
se aproxima do modelo relacional entre os SGBDs maduros.  Dentre as
implementações de SQL, a mais conforme ao padrão é a do PostgreSQL,
embora ainda haja alguns buracos importantes, como ASSERTIONs ou
chaves em visões.  Assim, hoje, para criar um modelo de dados
relacional e colocar em produção, o PostgreSQL é a opção que mais se
aproxima do ideal.  Podem-se tomar algumas medidas para preservar os
benefícios do modelo relacional mesmo o PostgreSQL, como evitar NULLs
sempre que possível, sempre declarar todas as chaves naturais, ao
menos uma por tabela, evitar proliferação de chaves artificiais,
evitar UNION ALL, usar DISTINCT, usar bem os TYPEs e DOMAINs…
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a