2008/7/13 Ribamar Sousa <[EMAIL PROTECTED]>:
>
> Quer dizer que temos uma teoria dos bancos de dados relacionais,
> fundamentada na teoria dos conjuntos.

E na lógica dos predicados.


> Mas quando vamos colocar isso na prática temos que adaptar para o que existe
> e que foi adotado como padrão, que é o SQL, que não faz um bom casamento com
> a parte teórica, é mais ou menos isso?

Exatamente!

Há controvérsias, mas o básico é isso.


>> Pois é, e o Date está completamente certo aí.  Esse é um fato, e uma
>> das muita belezas do Princípio da Informação: tudo é representado por
>> relações, atributos, seus valores e restrições de integridade.
>
> Pelo visto o SQL com seus comandos, PK, FK e References não deixa nem
> vislumbrar isso.

Até deixa.  Só não realiza todo o potencial, além de ser
desnecessariamente complexo e prejudicar até em algumas questões de
desempenho; mas o fato é que, sem o modelo relacional, o que teríamos
seria ainda pior que o SQL — muito pior.


> Você poderia detalhar um pouco sobre isso, ou isso somente
> é algo teórico e que se demonstra com fórmulas e gráficos matemáticos?

Olha, estou sem ter como correr atrás de muitos exemplos, mas é
bastante simples.

Pense que todas as regras de negócio deveriam ser implementadas como
restrições de integridade declaradas.

Há muitos tipos de restrições de integridade: declaração de tipos,
chaves candidatas (primárias ou alternativas), integridade referencial
(chaves estrangeiras), regras de transição (como a que diz que um
salário não pode diminuir, por exemplo).

Existe um sistema que implementa tudo.  É um sistema livre, mas tem
alguns defeitos: por enquanto roda apenas em MS .Net, e não foi
portado para PostgreSQL: o Alphora Dataphor <http://dataphor.org./>.
Interessantemente, você modela os dados e ele já deriva disso
interfaces gráficas, restando ao programador aperfeiçoá-las.

Há também alguns sistemas com implementações parciais, listados em
http://thethirdmanifesto.com/ e
http://dmoz.org./Computers/Software/Databases/Relational/Implementations

-- 
skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED]
+55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803
+55 (11) 5685 2219 MSN: msnim:[EMAIL PROTECTED]
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a