[firebase-br] SQL Elegante

Francisco Thiago jeandeadlucky em yahoo.com.br
Qui Jul 20 17:49:43 -03 2006


Já que a questão é sobre padrões, vou colocar resumidamente o que eu uso.

Tabelas com nomes significativos (não importa se plural ou não.. mas é 
interessante);
Chaves primárias sempre com um único campo. A questao de chaves compostas é 
que caso você queria fazer um "Mestre-detalhe" o filho vai ter que ter a 
mesma PK composta do pai... o que pode não ser necessário. E se você usa um 
campo auto-inc pra chave, pra quê vai usar composto? Vai repetir nunca 
mesmo!

campos. Eles devem ser precedidos de uma sigla que diga o nome da tabela a 
qual eles pertencem. A tabela caixa, por exemplo tem os campos CAIX_CODIGO, 
CAIX_Abertura_Data (...). Campos FK devem ter o mesmo nome do campo na 
tabela de origem. Na tabela pessoa CAixa temos: CAIX_CODIGO, PESS_CODIGO 
(Chave estrangeira para a tabela pessoa).
Caso a tabela tenha mais de uma referência a uma segunda tabela, o início do 
nome segue a mesma nomenclatura (o mesmo nome na tabela de origem) seguida 
de um _Particularidade.

Constraint devem começar com o PK_, UQ_, FK_ ou qqr outra que diga a função 
da constraint Mais o seu nome. O índice criado pra ela deverá conter 
IDX_[NOME DA CONSTRAINT].

Constraint de Foreign Key deve ser nomeado FK_[SIGLA DA TABELA]_[SIGLA DA 
TABELA ESTRANGEIRA]

Índices avulsos devem ser IDX_[FUNÇÃO (PK_, UQ_, FK_, SH_ (search))]_nome_do 
campo

As trigger seguem o padrão que o IBEXpertinho já usa
Stored Procedure deve ter um nome significativo. as variáveis podem ser 
IN_Nome (entrada), OUT_Nome (saída) e VAR_NOME (variaveis internas)

Views devem ter seus nomes precedidos de VW_ e um nome significativo.

Dessa forma, eu sempre vou saber de onde está vindo o campo, pra onde ele 
está indo e o que ele tá fazendo ali :D

basicamente é isso.


Mas uma coisa é certa. Ninguém vai postar os seus sql's do jeitinho que eles 
estão no programa aqui. sempre vai ter alguma modificação pra que todo mundo 
saiba do que se está falando

[]'s



Francisco Thiago de Almeida
Enter & Plug Informática
Divisão: Desenvolvimento e Banco de dados
Franca / SP
msn: thiago em enterplug.com.br
http://enterplug.no-ip.com/sistema_ctrc/


		
_______________________________________________________ 
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora! 
http://br.mobile.yahoo.com/mailalertas/ 
 






Mais detalhes sobre a lista de discussão lista