Comments on: Bases de Dados São Recursos? http://philcalcado.com/2006/08/24/bases-de-dados-sao-recursos/ Software e Batatas Fri, 06 Jan 2012 20:41:06 +0000 http://wordpress.org/?v=2.7.1 hourly 1 By: Phillip Calçado "Shoes" http://philcalcado.com/2006/08/24/bases-de-dados-sao-recursos/comment-page-1/#comment-93417 Phillip Calçado "Shoes" Sat, 31 May 2008 14:07:30 +0000 http://fragmental.com.br/blog/?p=251#comment-93417 Não os bancos em si mas os dados são maiores que a aplicação, mas isso não justifica usar um banco de dados para integração. São coisas completamente não-relacionadas. Se hoje se coloca a lógica em sistemas fora de SQL (dizer que são procedurais ou imperativos é besteira, existem sistemas com lóica em linguagens declarativas como XSTL) eu me pergunto quando isso não foi feito. Ainda assim, não existe qualquerlimitação técnica para colocar regras de negócio na base de dados, seja em PL/SQL/ T/SQL ou mesmo Java -os sistemas de bancos de dados modernos suportam isso. Isso não acontece com fequência porque procuramos usar a ferramenta certa para o problema certo e banco de dados relacional certamente não é a ferramenta certa para qualquer coisa, mesmo que adicionemos esteróides como procedimentos em GPLs ao invés de apenas uma DSL como SQL. Não os bancos em si mas os dados são maiores que a aplicação, mas isso não justifica usar um banco de dados para integração. São coisas completamente não-relacionadas.

Se hoje se coloca a lógica em sistemas fora de SQL (dizer que são procedurais ou imperativos é besteira, existem sistemas com lóica em linguagens declarativas como XSTL) eu me pergunto quando isso não foi feito.

Ainda assim, não existe qualquerlimitação técnica para colocar regras de negócio na base de dados, seja em PL/SQL/ T/SQL ou mesmo Java -os sistemas de bancos de dados modernos suportam isso. Isso não acontece com fequência porque procuramos usar a ferramenta certa para o problema certo e banco de dados relacional certamente não é a ferramenta certa para qualquer coisa, mesmo que adicionemos esteróides como procedimentos em GPLs ao invés de apenas uma DSL como SQL.

]]>
By: Leandro Guimarães Faria Corcete DUTRA http://philcalcado.com/2006/08/24/bases-de-dados-sao-recursos/comment-page-1/#comment-93398 Leandro Guimarães Faria Corcete DUTRA Fri, 30 May 2008 13:52:49 +0000 http://fragmental.com.br/blog/?p=251#comment-93398 Fora da realidade. Bancos são muito maiores que aplicações. Aplicações vão e vem, e as bases continuam. De fato hoje tem-se de colocar lógica em programas procedurais (OO é procedural) fora da base, mas isso somente porque SGBDs SQL têm uma limitação arbitrária que impede que todas as regras organizacionais sejam declaradas como restrições de integridade. Fora da realidade.

Bancos são muito maiores que aplicações. Aplicações vão e vem, e as bases continuam.

De fato hoje tem-se de colocar lógica em programas procedurais (OO é procedural) fora da base, mas isso somente porque SGBDs SQL têm uma limitação arbitrária que impede que todas as regras organizacionais sejam declaradas como restrições de integridade.

]]>
By: pcalcado http://philcalcado.com/2006/08/24/bases-de-dados-sao-recursos/comment-page-1/#comment-13730 pcalcado Fri, 25 Aug 2006 18:06:11 +0000 http://fragmental.com.br/blog/?p=251#comment-13730 Olá, Tetsuo, Como subsistema, a View é algo como um skeleton RMI, umd etalhe de implementação. Não importa se são usadas views ou não. O ideal é que não sejam mas se sua arquitetura corporativa usa bancos corporativos o ponto é que você deve tratar estes dados não como seu repositório mas sim como um subsistema integrado ao seu, com todos os cuidados normais a este tipo de integração. Então, respondendo diretamente, desde que você isole o acesso aos dados e tenha em mente que o SGBD não é do seu sistema, é um subsistema, não há problemas em suar views ou acesso a tabelas, isso é indiferente neste aspecto. Se você vai criar um componente que encapsule o cadastro ou não é algo que deve ser definido pelo arquiteto. Olá, Tetsuo,

Como subsistema, a View é algo como um skeleton RMI, umd etalhe de implementação.

Não importa se são usadas views ou não. O ideal é que não sejam mas se sua arquitetura corporativa usa bancos corporativos o ponto é que você deve tratar estes dados não como seu repositório mas sim como um subsistema integrado ao seu, com todos os cuidados normais a este tipo de integração.

Então, respondendo diretamente, desde que você isole o acesso aos dados e tenha em mente que o SGBD não é do seu sistema, é um subsistema, não há problemas em suar views ou acesso a tabelas, isso é indiferente neste aspecto.

Se você vai criar um componente que encapsule o cadastro ou não é algo que deve ser definido pelo arquiteto.

]]>
By: Tetsuo http://philcalcado.com/2006/08/24/bases-de-dados-sao-recursos/comment-page-1/#comment-13729 Tetsuo Fri, 25 Aug 2006 17:25:28 +0000 http://fragmental.com.br/blog/?p=251#comment-13729 E em casos onde há dados que devem ser visíveis a diversos sistemas, e mais, representando entidades fortes de negócio em cada sistema? Por exemplo, um cadastro de funcionários de uma empresa. Quase todos, senão todos, os sistemas internos da empresa vão pelo menos ter que ter acesso de leitura aos dados dos funcionários. Uma abordagem muito comum é exatamente criar views, acessíveis a todos os sistemas. Você sugeria que se crie um sistema de cadastro de funcionários, ao qual os outros sistemas pediriam dados, através de webservices ou algo do tipo? Isso não causaria um impacto na performance dos sistemas, além de aumentar muito a complexidade do todo? Ou o que você sugere é apenas que encaremos o banco como um subsistema, e a view como uma 'interface de integração'? Quero dizer, não importaria a tecnologia utilizada para esta integração, mas sim a separação das responsabilidades e a existência de interfaces bem definidas? E quando o acesso não fosse read-only, a integração seria feita via stored procedures? Ou aí sim algo webservice-like? E em casos onde há dados que devem ser visíveis a diversos sistemas, e mais, representando entidades fortes de negócio em cada sistema?

Por exemplo, um cadastro de funcionários de uma empresa. Quase todos, senão todos, os sistemas internos da empresa vão pelo menos ter que ter acesso de leitura aos dados dos funcionários. Uma abordagem muito comum é exatamente criar views, acessíveis a todos os sistemas.

Você sugeria que se crie um sistema de cadastro de funcionários, ao qual os outros sistemas pediriam dados, através de webservices ou algo do tipo? Isso não causaria um impacto na performance dos sistemas, além de aumentar muito a complexidade do todo?

Ou o que você sugere é apenas que encaremos o banco como um subsistema, e a view como uma ‘interface de integração’? Quero dizer, não importaria a tecnologia utilizada para esta integração, mas sim a separação das responsabilidades e a existência de interfaces bem definidas? E quando o acesso não fosse read-only, a integração seria feita via stored procedures? Ou aí sim algo webservice-like?

]]>