[Cascavel-pm] Databases, SQL, e operadores "leigos" [Was: Como verificar se um registro já...]

Nilson Santos Figueiredo Junior acid06 em gmail.com
Quinta Outubro 26 05:31:52 PDT 2006


On 10/26/06, Luis Motta Campos <luismottacampos em yahoo.co.uk> wrote:
>   Se você teve uma experiência ruim com Oracle, é exatamente por que
> tinha pessoal não especializado operando a base de dados. DBAs
> qualificados são considerados recursos-chave para a operação de uma base
> de dados Oracle. E fazem muita diferença.

Eu não quero ter pessoal especializado operando a base de dados.
DBAs são desperdício de recurso na maior parte dos casos: você deve
modelar corretamente seu banco de dados e ter as ferramentas corretas
para utilizá-lo. Ter DBA é justamente coisa de quem usa Oracle: algo
caro que não faz mais sentido nos dias de hoje.

Essa filosofia Oracle é a mesma do SAP, em que você precisa de um
consultor SAP pra fazer as coisas. Não porque o trabalho é difícil,
mas porque é tudo proprietário e "obscurizado" de propósito. Pra
surgir essa idéia de que um profissional especializado nisso é
necessário.

>   Essa coisa de ter versão para windows gratuita é mesmo inusitada.
>   Agora, o MySQL 5.0 corrigiu definitivamente o problema de ter uma
> interface de gestão de base de dados gráfica.

Corrigiu? Cadê? Porque aquelas ferramentas feitas pela própria MySQL
são terríveis. Precisa de ferramentas third party.

>   Particularmente, eu acredito que quem compreende o programa (base de
> dados) não se incomoda muito em usar linha de comando para administrar.
> É muito mais uma questão de produtividade (às vezes ter interface
> gráfica é bom, mas às vezes é uma merda) e de praticidade (ajuda
> bastante os iniciantes).

Sinceramente, ontem me perguntaram e eu nem me lembrava mais de cabeça
como se criava uma foreign key na mão. Isso é um conhecimento
completamente inútil já que existem ferramentas que fazem isso pra
mim, e fazer na mão gasta mais tempo do que usar as ferramentas, além
de ser mais error-prone. Sem sentido, é um conhecimento que não vale a
pena ter na mente. Se eu realmente precisar (duvido que isso vá
acontecer), em 3-4 minutos vou na documentação do MySQL que descreve a
sintaxe.

O importante é a idéia, não como fazer.

>   O PostgreSQL é o RDBMS mais bem-construído do mundo open-source.
>   E LENTO é o seu vovozinho :-D Sua base de dados (assim como um bom
> motor Ferrari) precisa de /fine-tunning/ para funcionar em perfeitas
> condições e dar o máximo de performance. Na dúvida, consulte sempre um DBA.

Qualquer coisa que não funcione razoabelmente bem out-of-the-box, não
serve pra mim. Aposto que você também gosta de Slackware.

E PostgreSQL é lento sim. É o mais lento dos Enterprise RDBMS (MSSQL,
Oracle, etc) que são todos mais lentos que o MySQL ou SQLite (por
motivos óbvios).

>   Desculpe, mas aquilo, salvo engano, é a especificação da SQL'97. E ter
> a possibilidade de extender a minha base de dados para ter coisas que se
> parecem com SEQUENCES para oferecer valores auto-incrementáveis é genial
> (imagine que você pode ler um dispositivo externo à base, como um
> gerador de códigos criptográficos tipo caixa-preta, ou um relógio
> atômico, e modelar isto dentro da base de dados como um SEQUENCE, sem
> que nada pare de funcionar)

Existir o recurso de sequences é algo ótimo, não é isso que estou criticando.
Depende de sequeneces pra algo corriqueiro como um id auto-increment é idiota.

Os sistemas devem ser flexíveis pra fazer o que você bem entender,
*porém devem possuir configurações padrões sãs visando o caso geral*.

>   Mas duvido muito que pessoas não-técnicas deveriam se meter a fazer
> programas de computador. A maior catástrofe neste sentido é o fenômeno
> MsWindows, que todo mundo diz que sabe usar mas se limita a apertar
> alguns botões, conseguindo o que eu classifico como "sucessos marginais".

Fazer programas de computador não. Criar uma tabela no banco de dados
ou fazer uma query não é fazer um programa é *usar* um programa (no
caso, o RDBMS).

>   Por que é que na computação o pessoal acha que é possível fazer coisas
> boas sem conhecimento, sem know-how, sem preparo e sem profissionalismo?

Administrar de forma simplificada um banco de dados não é exatamente
algo que exija um PhD em nada. O crucial num banco de dados é a
modelagem, não a administração.

Eu nunca vi uma empresa grande, que possua DBAs especializados, etc,
que possua políticas sãs de modelagem e normalização de banco de
dados. E eu falo de empresas *bem* grandes mesmo, renomadas.

-Nilson Santos F. Jr.


Mais detalhes sobre a lista de discussão Cascavel-pm