[Cascavel-pm] Bases de Dados[off-topic]

Nilson Santos Figueiredo Junior acid06 em gmail.com
Segunda Março 26 18:18:02 PDT 2007


On 3/26/07, André Garcia Carneiro <andre.garcia.carneir em terra.com.br> wrote:
> Não consigo imaginar algo assim tão 'descartável', que realmente necessite de um SGBD. Para mim performance não
> é desculpa para ter inconsistências nos dados. No final a lei de 'Murphy' sempre acaba ferrando a gente. :D

Não é que seja algo completamente descartável. É algo que se *por
acaso* for perdido, não trará tanto prejuízo assim.

Só que o *por acaso* não significa que vai acontecer. Se o seu
programa nunca deletar de uma tabela sem antes verificar se existem
dados que referenciam a outra tabela, você nunca vai nem disparar a
constraint de foreign key.

A idéia de constraints é ter uma camada a mais de segurança - o que é
bastante útil. Mas não é imprescindível. Você pode ter um banco de
dados perfeitamente coerente e coeso sem ter nenhum tipo de
relacionamento definido no banco de dados, desde que sua aplicação se
comporte corretamente.

Porém, bugs podem acontecer. Em vários casos, uma ou outra perda
ocasional é algo crucial. Em outros casos não. Pense em um site como o
orkut, por exemplo. Se uma pessoa perder um dos seus recados não vai
ser o fim do mundo.

> Acho que você viu o post que eu enviei de ALTER TABLE para o Champs. Não sei se aquilo é seguro. Você parece
> ter bem mais experiência com MySQL do que eu. Poderia postar a sua opinião? O que quero perguntar na verdade é
> se a conversão que eu sugeri é segura? Se achar que está muito off-topic, por mim tudo bem.

Bom, eu não tenho a menor idéia de como ele se comporta em uma tabela
muito grande.
Claro que se por acaso já existirem relacionamentos não coerentes na
sua tabela MyISAM, vai dar todo tipo de problema na sua tabela InnoDB
se você simplesmente der um ALTER TABLE já que os dados serão copiados
possivelmente sem verificação (acho que tem um SET FOREIGN_KEY_CHECK=0
implícito). Por via das dúvidas, sempre tenha uma backup.

-Nilson Santos F. Jr.


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