On 9/6/07, Leandro DUTRA <[EMAIL PROTECTED]> wrote: > > Então não entendi nada mesmo. Em qual situação os domínios SQL > > contribuiriam no contexto da ferramenta em questão? > > Se eu entendi direito a ferramenta e lembro bem — já fazem algumas > semanas que a vi — é um diagramador ER. Definem-se os DOMAINs, os > quais se usam para definir as tabelas já com os tipos e restrições de > atributo associadas, mantendo-se a consistência do modelo de dados.
Você não entendeu. A "ferramenta em questão" é aquela enviada no link inicial. > > Domínios SQL não > > são nada além do que apelidos para contenções tipadas. > > Mas que são uma aproximação razoável embora tosca de domínios > definidos pelo usuário. Discordo com a idéia que nomear tipos agreguem valor à documentação. > Lembrando que um domínio é uma lista de valores aplicáveis a um > atributo, variável &c, um DOMAIN te permite, via CHECK CONSTRAINT, > definir uma tal lista ou aproximação dela. Se a idéia fosse definir um "domínio de valores", bastaria então utilizar-se da cláusula CHECK, nativamente fornecida pela SQL. Mas e as contenções sobre operadores? > Aliás intereßante — você usa 'contenção' como tradução de CONSTRAINT? > Sempre usei restrição… Hmm ... verdade, acho que a tradução literal é restrição, embora contenção parece semanticamente correto. > > De acordo. E pra esse fim, SQL Domains não servem. > > Como não? A gente documenta que determinados atributos são todos > definidos no mesmo tipo, e tem restrições e comentários associados… ... e logo estará executando comparações de código de produtos com identificadores de clientes, já que nenhum (???) SGBD implementa *restrições* sobre operadores. e.g.: DOMAIN cpf AS integer CHECK [...] DOMAIN id_produto AS integer CHECK [...] TABLE clientes(cpf cpf, ...) TABLE produto(id_produto id_produto, ... ) SELECT cliente.cpf =produto.id_produto; Embora logicamente não deva retornar nada, é conceitualmente inaceitável. > Aliás não tem ferramenta proprietária que se preze que não implemente > — CA ERWin, IBM Data Architect, Embarcadero ER Studio… Infelizmente sou meio pobre, proprietariamente falando, mas me diga: Estas ferramentas implementam domínios em sua totalidade? Se sim, como estes resolvem a implementação física do modelo?? > Aliás, mesmo que os DOMAINs SQL não sejam suportados pelo SGBD alvo, > ainda é intereßante definir na ferramenta de diagramação, para > documentação e consistência na geração da base. Ainda não consegui visualizar onde os domínios vão ajudar, já que se restringem apenas a tipos nativos. Penso que uma forma mais elegante de se contornar a dificuldade da SQL, seja utilizando tipos e operadores definidos pelo usuário, característica que sobra em alguns SGBDs e falta em outros, mas não sei como documentar essa característica nas ferramentas atuais. -Leo -- Leonardo Cezar http://www.postgresql.org.br _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
