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