2011/3/4 Fabricio Srdic <[email protected]>:
>
> Vejam bem, os dados são sim do cliente, mas a estrutura não.
Conceito básico de teoria de dados. Não há dados sem estrutura.
> Ou seja, por exemplo, views
Visões (relações derivadas) fazem parte da estrutura básica.
> stored procedures, external functions, tudo isso não pertence ao
> cliente. Porque isso faz parte estrutura do banco de dados.
Absolutamente não. Isso é código executável, e faz parte da aplicação, não da
base de dados, e muito menos de sua estrutura. Somente está na base porque
não faz sentido colocar a rede (com latência &c) entre a lógica e os dados.
Existe um caso interessante, que é o código que suporta as restrições
de integridade. Este, por mais que seja expresso na mesma linguagem que a
lógica da aplicação, na verdade faz parte da estrutura, e portanto pertence ao
cliente. Ou deveria.
> O modo como as tabelas estão organizadas no banco faz parte da
> estrutura. Isso é patrimônio intelectual.
Pode até ser, de acordo com a lei atual. Mas não quer dizer que a lei seja
justa ou razoável, como qualquer brasileiro com um mínimo de conhecimento ou
experiência de vida deveria saber. Aliás, é impossível separar o que é do
cliente (dados) do que pode, talvez, não ser (estrutura). Portanto, mesmo que
um tribunal fosse tentar estabelecer essa distinção, qualquer advogado de meia
tigela mostraria que é absurdo.
> Se, ao cancelar o sistema, você
> deixa no cliente a sua base de dados em Postgres mesmo, você está na verdade
> limitando o acesso do seu cliente aos dados, pois, não são todas as
> pltaformas de programação que conseguem trabalhar com dll's
E o que DLLs, quem nem são inerentes ao PostgreSQL, têm a ver com o caso? DLL
é uma excrecência da plataforma IBM OS/2 copiada pelo MS Windows, exclusiva a
essas plataformas. Nos sistemas operacionais ‘de verdade’ (POSIX, inclusive
Unix e GNU/Linux), usamos SOs.
Também não entendo o que plataforma de programação tem a ver com o
caso. Num caso de encerramento de contrato de suporte, o que o usuário quer é
maneira de exportar os dados para outra plataforma, ou a possibilidade de
continuar a usar a mesma. O PostgreSQL é livre, e tem todas as ferramentas de
extração e interface possíveis e imagináveis. Mesmo que o usuário tenha
alguma plataforma estranha, nenhum SGBD tem interface para tantas linguagens
de programação e plataformas operacionais quanto o PostgreSQL.
> e não são todas que possui tipos de dados compatíveis com as utilizadas em
> dll's
DLLs determinam uma única plataforma de programação: interfaces C em MS
Windows, a menos que ainda sejas usuário de IBM OS/2. O que não faz muita
diferença, porque o MS Windows nada mais é que uma versão lobotomizada nalguns
aspectos, extendida noutros, do IBM OS/2. Aliás, seu primeiro nome foi MS
OS/2 3.0 NT i80860.
Pelo contrário, tipos de dados não têm nada a ver com DLLs, a menos
que, além de usar as interfaces C, se programe também em C, e aí são os tipos
de dados do C. Nada a ver com PostgreSQL.
> Se analisarmos bem, a maneira correta de disponibilizar os dados para o
> cliente em um eventual cancelamento seria disponibilizar esses dados em
> arquivos txt em formato CVS
Não existe um formato CVS, e txt não é formato de dados. Formatos de dados
são TSV (preferido), SSV (razoável) e CSV (horrível), e nenhum deles expressa
o mínimo de uma base, nem sequer as chaves. O cliente que aceitar isso vai
dançar, merecidamente.
O mínimo absoluto seria a base de dados PostgreSQL, opcionalmente com
código‐fonte obscurecido — mas o código‐fonte das restrições de integridade
não pode ser obscurecido.
Desculpai o tamanho da mensagem, mas havia muita coisa a esclarecer.
--
skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra
+55 (61) 3546 7191 gTalk: xmpp:[email protected]
+55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT-3 MSN: msnim:[email protected]
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral